# Graphics

Source: [https://docs.qualcomm.com/doc/80-88500-4/topic/138_Graphics.html](https://docs.qualcomm.com/doc/80-88500-4/topic/138_Graphics.html)

The Qualcomm Adreno GPU 650 is a three-dimensional (3D) graphics accelerator with
    64-bit addressing. The GPU includes dedicated GMEM for the graphics subsystem for Fast Z, color,
    and stencil rendering, and it supports universal band width compression (UBWC) 4.0.

The Adreno 650 delivers latest in graphics and compute APIs:

- OpenGL ES 3.0, 3.1, 3.2
- C2D 3.0
- OpenCL 1.2 FP, 2.0 FP
- EGL 1.4
- Vulkan 1.1

A few high-level features of Adreno 650 are as follows:

- Architectural improvements for performance and power
    - Increased vertex, texture, and ALU performance
    - Multiview enhancements for AR/VR
- Memory bandwidth reduction and efficiency improvements
    - Improved hidden surface removal to reduce work
    - Better lossless compression to reduce memory bandwidth and power

Figure : Adreno 650 driver architecture
      
      ![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4UAAAI5CAMAAAAhcW8oAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAMAUExURf///+/v71JSUgAAACkpKUpKSiEhIff393uEe4yMjFpaUntzexkZGTExMd7m5mNaY5SUlLW1tZyclMXFxdbO1t7e1ggQEM7FzggIALW1vaWlnKWtrTo6OnNzc0I6QmtjYzqMaxmMOhCMaxmMEISM5oSMtYS95oS9rcVS78VSOlqMOoRS74RSOrXmrYQZlMUZ74QZ786EGcUZOoQZOpSEGcVSEFqMEIRSEMUZEIQZEEpaIYRSjNaM3oTv5s6EWs6MpYTvrZSEWs61WhnO5s61EBmE5hlSjJS1WhnOrZS1EBmErRkZjGOUa73v5s7mWkrO5s7mEEqE5kpSjJTmWkrOrZTmEEqErUoZjEoQGbVSY7UZYxnvWhnvEBnFWhnFEBlSOs61exnv5s61MRml5hlSrZS1exnvrZS1MRmlrRkZrRlS7xkZ7xlSzhkZztbmrVrvWrVSlFrvELUZlFrFWlrFELWMzs7me0pS70rv5s7mMUql5kpSrZTme0rvrZTmMUqlrUoZrUoZ7xlaEEoxGdZSY9YZY9ZSvZRSvYQpY9YZvZQZvfdahPdaGfcZhPcZGfechPecGUpSzkoZzhk6ELVSvXNSvYQIY7UZvXMZvb2EhCljYxnvexnvMRnFexnFMVohY4xSYzoQYxAQY/fehPfeGfdatfdaSvcZtfcZSvectfecSvcZ5lrve9ZSlFrvMdYZlFrFe1rFMbWM79a13vfetffO5vfeSvda5koZQveU5jpCYxBCY7XO5ggIMa213s61pSkIMaWEpdbFrRAhOnt7lPf/Ovf/vSEIAAghEGNzWt7O71pze7XFpXuclN7v9ykhCBAxOvfv3t733qW1nCkhOiEIEFpaStbO71pSY3uMhEJaSggIGbW1nN7O1pyElFpja4x7hHtzhK3FxWNjawAQAN7FzggAEP/v9ykhIffv75SclKWlrVpjUoyMe+/v997m1mNaUjExQhkIGWNrWu///1pSUjEhKTpKSnuEjPfv9wAACO/37/f3/yEpISkhKQAAAPVD2uUAAAEAdFJOU////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wBT9wclAAAACXBIWXMAAA7EAAAOxAGVKw4bAABcf0lEQVR4Xu2dfU/bPrTH7VgxRKmZSGunIf0tr+i+3PsG7l9Mm0CbYBpIe9KgiDHQpqHuD4R0z7GdPkCBtrRNSs+n0CZukiaOj78+fgojCIIgCIIgCIIgCIIgCIIgCIKomDQkCCIMc28RVRCfBEFBL3qt+8uE3iKqIFZ+gSDWmSDwC1UQSb9AEOtMpVYY3/oFglhnqrVCxf0SQawxpIUEUTWVWuEmaSFBVF4i9QsEsc5Uq4WStJAgSAsJonIqtcIj0kKCIC0kiOqp1AovSQsJgrSQIKqH/EKCqBrSQoKommqtkLSQIEgLK4HrR3Ifrq/s/4Psab9wH66Z9t+OOwTX137pKcZt+ehZE8+hUivcvF3P+1qI8GFzSERm/8eSQYSF5sFYC4urhnCzJ+T+syQF64weOuw9YpH6pQFN8dMvEXOGtHD57BkpTv3yfRLRZFkwXu8ig7ZU+LV7bJmMG+GK+XessImrDx32PjvBfUvPROKXiDlTqRWuaR3pjsjNg5bELh4RrFg8GmGZ4VwKYY+djVphNrEMPkhKVrgoSAuXDu/0Nlyp8jpOeBxEe7D4M+JR8B2lCrWw+RWX0jh424RPlkbB1whVUIogYUkMxdmrvAgwiGUFz4uv+TluBzeTmzCw9rdt3z98+RrEULjMlVAxbqsLa5zNoMWY/h7EpW3yGIubWYDrSczyYm8je4NH3rHuZVb8usitFW4lQZHDyUcxrKS/8Gh54VzQ7O37PCiacCx3aizdDL5++QAL33fg6vA84IeSwl8VHDTIeYG/qI/cmVzFeRZE65c1V+sXrqUWtgSkcpuiNzoHSv4Th5AAA6lMaNBy+n5hIvY7UmzCQnc/VMKkLNpFWzo+5IwH4tZtHonQ/NsXeBs31Be0Qm0k2IC1wlSaTsfAb72T4jaAI6ZM2pyv6H5guTHhLZyLIzRbjL0Rf8EUGscguqcg2aEJwe7hy0jI0OBx4IjiD1i0hiPAj3wXeDTlM9NEhI2wISKlYAs0VNgLzhvsXSkJB8Azah0YBUv4qwUeNBQRmHEXf+gtZEtyX6rQWvBaQVq4dN6ALXCDl8474g0k7N0O3AcBnphWDW5NBa0wFcdXbCNo6y0DC1CkhIKmLZGG8hpSMFiEVmAJEZrEVSgg6WbgNb7vhmDisGkutiH1oz1qqc5gFew6gkMfYb3LXrtgugs7sk08EIISzA6ExF/K4Ic0hMAG5wFsD7+NJwebciNRWUXoSrwhOqH9kuoX3KG1i3YVwbep+LqBx4VVJY7gOtvHjB23YX8uDX4R37BTMFqmDdrsJR5edjM2aT3uC4K0cNlwiZNPxmgVvmD6BZY/oRlZiUS/EE1iE82F8YyfY8UoOz+BOxWjAAUQa+Y1BEE6j2FTsAa7A0tuYXs0byyTohZupLYQGIJtW6NBK9RdMHy0clwBDnxOyOFYuo11o5vd93B6LdjoAsJx0zf9k3MaDl+n1/sB+yBftXPYAtQOSeyXr/GammhS2XtY1egCd+x1KjBxd0YF5Cbu2nOwwm948uwMJVWu5xwopIXLJhf/ossoQL26UXY2WEyygY0KLn5AWm7apB+CXnjSJD6WuMMbTLmhPD/FgioU4MQvb0wooAxKq1gihZTfaHDvF17EgUKBs9IYob2EBzdwCKu+xde/r8zuGR4K5FSyRDZNwhSau9VCdNUu4HReH+AWGqzymzNdrIANGmDaLROxsLyLP+2XCjMIV5/ajOLjhvgOYXYT+853jn7/EQYyI5vyUrBCPBM4FyP5uc2h1o9KrXAt60gDcWiMkQIbHZwVYpGutEIUN9TCdMgKC2FkGHXhTn1HUQrlTQuLeYAJ+laYMb4LVsMNFG/BSgrbUpF0jexECqLZGqVVTCibaty9EJ1OR3XCsk0i6m4FIZigRgPatFqIEoVHVvu4ARdfIBxV0dp0Lk4hFw0U77pz8VkB2Boc0GphIBoy+IY+oFJYe6TkOTqjUsWhOPdWiFcSCKVCdybOa107SAuXjBYh55rzCJLfudMIbEzHYiambiyROi0sbIntc5DmIoalc+sXnsASiBa3dSa2ROqsEN8TSORQALSGDfIChgK/hUaDJUGvhbAtN0WCtvS2jcdntnIVSU+SXsQKddSF8FEtLLDmxlrWhVVYOFATfinqwM+bfoHUn4rNWVAL4QrhSNpaoT0puNr3Bp1ROD13Vrgh/KZvfzn3pfX1o1orXEMtxHoLREMBjIW4wjE9BlbdAvD7nBY2IX1iRSJ4YM4aIih9Or8whB0DG4bvP71ipewV3kp+iFrIeE/AodFKsdIGdrDS6MwkBmWFjyaadWm1iFTwdda1Ac4vLLUQ8gFYCsCyXEUKnDsUY0N5krNTY9QN7g24Hfpa6PrfxNYKMQztTtsfbe2D3UWwCXjGcN3uTE5B2EkLK2ANtZCjSVjQhMBlK+LdLlhUIEwQYy2kNShreIUIL0PxBsxRxpt/drsQWYkIcmuFWpoi7mAC72vhjUHztn4hkKMVcnAmowBKv1iRqb7AVihbKX4FxEJFhTG4uyUW8oZ9aIsdWH7b10JbzIRTOXptsLYmgZOJjUFzi0SD40+UBVJ3KtdW31EL7XmrBtYq9f3Cqz/iN54R5CZXHRFEyuDusfgXv8UzKc9+3ajUCtewH+lnibKCpLCkOtv/5G8so/2VWbBv28yz3ZTl2B7AkrCh0F6yj1J+05chpPkYBCOGBVhS8iNu7jbNG1rbsh7vBK62Je7Bt/qNbPw9zXCT5PaW57e28Bh0XLTnx/KgwJ0ceEJgcAq3SeBg7sh4OoztvG78zezJpIW8je1O+gDTTizxLCx5Azf9i6GphG3zUKojXoBhFTaVgdsJ5y1l0EztTtGtjHNr9Hmw3/sPDxqiKq4fpIVVomzxEXF+4TqRJNjjxpVi151qtXDtkt4dXEkN+W3rYtaJIxFxnsl1TwIW0sIK4QMrXD8t5OAKG1dluvaQFlZJ1vepUlthsl6c5jtUHLWQFhJE1ZAWEkTVkBYSRNWQFhJE1ZAWEkTVkBYSRNWQFhJE1ZAWEkTVkBYSRNWQFhJE1ZAWEkTVkBYSRNWQFhJE1ZAWEkTVkBYSRNVUa4VSc71F//Rv/z+cbo0Jfbn/8NrCSTE5D6u0wkg0GlLKcf/IuHD6f7H/jYYYE/qC//0LVtz0shWhk59JEiU/v8Db0Ce8FcHQ+kI/f375iWuFCB/fbtU/+28/kmTc91V//vxyEYhPuHz3m5f6iSnPryc4eV39+GMnbn6MOT/lzs3BuwZ8rzLbfZxywmSiJtwKv/AQzcFktHMhw8fnrQF81871W0vICmsGPuDuUQIh3QNk54SbBP7l811U6oM8CllhzThoP25jaVfMVwwz8Z9fetHwfSFqK4aRnaebqAsb+09o4TEkprk2+W+vhxaCFNZXDEkLa8aBeVQLU0xMcxXDDJ9t/eLhDRtxNRVD0sJ6cSPbfmk8KIUghnP0DNfDL4xtvNVVDEkLa0bv0TpSJ4VzFcN362CFe04K6yqGpIX14vrxOtLQJ6Y5eoZroYVeCusqhqSFNUO6xz2Pp5TCeYrhOviFe1hB6qilGJIW1oxHtdB5hcj8xHAd6khRCg38wX8tH5lLWlgzesI9kXYcWVdGeSyCLMKHos+JNbBCroI81b2T03T7v8EDeGsEaWG9uHlMC3cwx9y2BpjNzQrXwC/kH/Bd2Xqvjff4XjNIC2uGbF/7pQeYt9WsgV/oShdKzLcb/BwhLawZT/YjzcWmX5oP69KPlMkTv1A/jkgL64Vsn/ulB5i/Fq6JFZIWEhNyNoEWXvql+bA+WvjUmLHqIL+wZhw8UkdqIb9wRkgLiQl5tI7UMm8rXJMxFaCF3Q2/VDtIC2tG77G+M8i8a2e212SsPWkhMSkbS9fC9fEL61tHGpMW1osn552ZvxauxVh70kJicsgvXBSy/US9V3WQX1gzHh1Tgcy7pWKb6kgrh7SwXkzSXkh+4UxIU2MrJC2sFbdd6juzGEgLiUmhvjOLosbthZukhfWign6k5BdWDWlhvZikvXDeLRXrooWPz25XJeQX1gxplqyF1HemekgLawb5hYtCntS2vfAbaWG9WLpfSH1nqoe0sF6cU9+ZRSG7N36pdtBY+5qhnh5fOO/aGaojrRrSwnrBqe/MoqA6UmJSnuxnNW8tpL4z1UNaWDNICxdFjfuRXpIW1osJ6kjnrYXkF1YNaWG9WP6YCuo7Uz3fSQvrxQR9Z+ZdR0p9Z6qGtLBmkF+4KGrcXkh1pDVj6X4h9Z2pHtLCerH89kLyC6uHtLBmUN+ZRUFaSEwIzTuzMGr8nAoaa18zqO/MoiAtJCbkmrRwUdAzm4hJob4zi4K0kJgQGl+4MGpcR0pj7WtGj/rOLAjSQmJCyC9cGDX2C2msfc2Y4DkV1HdmJkgLiQkhv3BhUB0pMSnq6edUUN+ZmSAtJCaEP1mTR37hjNR4PlJ6lm/NUMt+li/1nake0sJ6cUN1pIuixs9sIr+wZiy9jpT6zlQPaWHNoDrSRVFjv5C0sGbI5deRUt+ZqiEtrBc0vnBh1NgvpDrSmnFL884sCNJCYlLIL1wU8sQv1A/yC2tGBfORUh1p1ZAW1gt6ZtPCkG2qIyUmo7f8sfZrYoWkhcSE0PjChVHjubmpjrRmyO4TOTb1nZkR0kJiQjaojnRRUB0pMSlL9wup70z1kBbWCxpTsTBoTAUxKRW0F1LfmaohLawZ5BcuihrPO0N1pDWjgucXUh1p1ZAW1gsaU7Ew6PmFxKTcLnt8IfWdqR7SwnpBfWcWBs1HSkxKBf1IyS+sGtLCekHPtV8YVEdKTMrSn+VLfWeqh7SwZpBfuCjILyQmpYL2Quo7UzWkhfWCxlQsDGovJCalR89sWhCkhcSE0JiKhUF1pMSkVPCcijWxQtJCYlJICxcF1ZESk7L08YXUd6Z6SAtrBtWRLgrSQmJSKmgvpL4zVUNaWC9obu6FUeP2QqojrRlq+e2F1HemakgL68U5+YWLgvxCYlKW3l5IfWeqh7SwZpBfuChIC4lJqaC9cE2skLSQmBCqI10Y1I+UmBSad2ZRkBYSk9KgOtIFQeMLiUmp4DkV1HemakgLawb5hYuC6kiJSaF5ZxYFaSExITQf6cKgOlJiUnrL9wupjrRqSAvrBT2nYmGQX0hMCs07syhIC4kJWf6YivXRQmovJCZk6eMLqe9M9ZAW1gv+ZI5NdaQzQnWkxKSop9IK9Z2ZEdJCYkJobu6FQXWkxKRUMNae+s5UDWlhzaC+M4uCtJCYFEnPbFoQpIXEhJyRX7goaD5SYlJulz/Wfk2skLSQmBTSwkVBfiExKfTMpkVBWkhMCI0vXBikhcSkLH0ONuo7Uz2khfWCxhcuDOpHSkyK7D6RY1PfmRkhLSQmZIP8wvnjrM+1F/I6miL5hTXjMb8w1fCWi0t459kcUpM9nqsjvZnH8erKVpjAlaIW8izIfGBNyPAeOC3cap7ZIKJqHh1TEZki5YmIr9NIFj7sOSSmyPiOiPmcjldbCiHDwogikEL5oLoQN+KUxyK5SmMT+TCiah5tL1RCtI0wbSEMZqHPJnTHM0KcpD7oRcLhCj3vfFBd4A13D+DU5AsujqwYj/qFuUtJwHyka97Hqy2xv0wR1q7Qt+nPTAiSwtrw+NzcIIaW+UghYx1/vJOWD3ih6FIM61cLwqU/NZLC2vDEmIodf8fmVa1ZiuELl8K+GIZ+tU5E7tRE4teJ6rl9fHyhE0MzNy/OiaF54VLYF8M6NghoJ4YNksLa8FTfmcTesfm18DkxfPFS6MWwjlJYiuEXv0bUgKf6kaIYzssrRKwYzvF4deU9imE928atZ0heYY14ckzFBdyxeUoXiuEaSCFjb+sqhU6nqYK0TkjzRKaoRHeu0gVi+OK9QgQ8w7p2E+MNksJ68ZQWgnjNt9/nC5vxgo/l6oqxonN+7lfvAV9XSUQVpPXCtxc28/ts4992LqN3mVu+zyBH1T7kUeBwcLzN7N1Dxxslu/YHry+JVAr+bu+9S9Uz6vZAqR4s3nvFi5WizEfgA2SJTGATdw/G/uXUxXSZ+DEVqWkf7jcOh/8NvOBv91CaBn7gH361O3g37X6Zi4fC7fT4G77kYcMe0AY99mcO61+LE8h48/tmHG/GR/jm3+3fZhRf2k/4HoKP/AL+K7Xh918IqYFbBzE47h3eduEGNAx84jrcivt/sru7BhVoNcI9y1ebnb1W60Or9fl/3H9LD/HZf/rwFrzwXadmULBRARwAgx99Q/BX7MIWHOiRP53Pr5lyYXydqQYmul2oFp7auwnxDVF9530L3/AfKG/rGHZWIOpfEH5MRWqadnU6+OGFXwIrnL+3l82zhWRBBDNZYbzYkRbNme7mMKsQ9S8J5xe2DmcZBseHtXD+M6s1VyBD/j2bFi62ivL02Va4ClH/kvBauDuLFWrZt8Ir0sIpiG/9wmIgLVw13HMqZtTCxkAL/82/KX4VMuQZ/cLFamG6/9wB/qSFy6XUwllyz61G3y88X4AWviO/cDaeb0PbK1A9/ZKQbaw012Y2LRz0g1LrqYWz+YWbC9bCmfyLYTLSwmXi+5HO5knogRZek184BQvWwvTZNkR+4XJxYypah7PMjzKihetZR1pPv/DZWkh+4VLx4wtn8wuHtHARfuH2qmhh6pNs+QlkmumHE3Lt60hXIepfErJ7A++nI36hVv+U+qMk9k/jP8MwTCDr5uG9IQLD7YUP1pHyPPgXRluw9NUrZ/IHj65CCGsV6l/80BCLlfEL4xOXZoemd5Tf2dHDMrlgLWwdeivkyXEY5I/3xuVJGNpJU4+G7iBp4VIp+5GOaGFTFFF8eRTDncikii5iGXLG7w9J2xq0VPCHtFArGSWRkhpc0E8u6NPul80oPoo4y00Yx2r3gTu+Mlqo3RimbDCRx42MWBz4lfssSQu1OoiS+DB4zORbeIMLvLdhzwcBpIXLpTemjjTtD4bn0mbo2sRjrPBsuL3woTrS4wObBhQkSfXLhrCiXzcR2oSqHhCN1fELA3tFcF0cR5ngm4xZdAwRh6WINE/wQnKe7fhY3uwtVAtLv1BB5snY3v5XuzaefyGOskpEBhcxEE3SwqUyth9ps2+FiR/hm0TjtXCoH+n456E14fYi+Y9Bge1rx32CgL7CD/1AkXRltBA0Hc6Umx1QRbjcdH+LOS3UjeBqI5ChglxMm7ATtt2Td+KhBL8AvBbmwplSIlqsSH6oAOM5C1UAwVEMfgHkoXnbbnP1C60QlxykhcvFtReemm23aklFen3F8TknXwd3ZowVcvOzPwxNjX8SU3Q4yPVvfYkUNQOAXROhoocfWLEyfiFjWFmcGw5WCOlfNzSTmywKtIIrTiUm+l1+bkD4L1z+drkUvzCyGSxklmKHQT6QHYNpZSbOYyj4fBfBOxzrGw2mWhi2QtLC5TLeL7RAUpF/YTWNouiCj7HCoTpS/oAVfkUPSEdRkvCrUgsLd3hcyz4aYYrxSXJjdbTQNgCGEFca5afV2DoDLYykPLBfsvdpbDhHgfJl/UX3nXECV3gr5GBt6BGcw0nZ2/Q3dP0Gwk+skP2RjqSF1VGOqRjVwlyn8PKJLJHKCH01Rgsbg+n0OuP9whjvdiYPGlBUU94/+apwiGK6Z1d4emnC8eWz1fELsZ1cY1dcq4Ut1ELwC0VocsauI6mUMprv41eukHi0WC30fmF8aNdACxMWogf/KuRGBWHQkCzG8y5C0sJ6UGqhc98cA78w8k/CTCAvH6eF/YdRbjxQR+r9DjDszAkr8OuP+2Ta1d4lD2S8K6SFrHOZYCK2Vtg01i+8/ANKw1l0kmgsrW41wC1L3cxXyxlfmPsGlG0wfYWlliLk7XgnucibLD6G9U/HLPP3JxrxCze2Dx/w1YmF4J77PDqmYriO9If9jCFknBb+9EvgFz7Qd0bh7cap9pvs1tbFQGIoa2e0O2TywDTRK+QXsuSP60dk3oI+QmShFgYQfX/ZfwdXTIddzdE/9Fq46H6kbkzFxoE9OY510LYK+zZmu5hZNrddMwpooS2qujsxrIXZQ61HxCLwz6m4q4VJnsHrFPJTGWRpHhisIy1wUqHhuzPkFz441l7L13maFQZSgQzxoCn7Ku30T9sc6wjyPBbf/bajQIa8OlrIjSvafWmrTqA0Vteg3OQiP92XoQrk6R7mKa0laaG7S00Tws1TPc2ulUnSX1KzpBuliYhZ/BG+D8ACszbc4MSEnAUS533KrJ/4jrRwqRy0MfWMjkjTpmHMoTlBw9KxUvI/uKtcHULgyDSGE42p4BEc4BcePsCDCvBFdvFIBh9hmB8fmvt9cjyr0LG/34+07L2mIZtJr1jT92DLUraX5Zpl7zeaN4zd5NhTaUl+IWMfYiXVJvzWeRgHMkTLysNbBXctwtsV45suFIScwxpOyGXUe9yx+fKfJFInnjXvzFB74c0C+pG+5PGF/ZrJRXD/bl5j2+AU0JiK5fKM8YVnw1r4Z/5jKp4/QGfxzDa+cMHthWPG2v+Z1grrH/Uviedo4SR+4TNYpTrS6ViSXzjg/O9Dxf7xkF+4XFx7oTbPHl/4kF84OyvUXjgly/ILZ4b8wqXSn5t7lgQ/pIWL8AtfshYuox/pM7AdY4ml0bPthaP9SCdleEzFAvzCVWovnI4F+4U0H+mKUdaRjh9r308rnGt+P3fUAysc7TvD72X12DUcjuHXBmDI+63xjzBaXS2MnkjDy+k7M2BMvMMd2tMPKjLVkS4X116ox2rhYJyqfbz9wAn07A1p4XA/Ut347Jf6hDn2bjZ3n1WkleavjFRjU+3K+oX5U08u/L5cLczV3Z/b62kd7h/2HjpP0sKlsrH/cB1pIvywXDDSXOv7SvaAX7inxAe/WALW9uUkO0/NHe/xImQBGGIhbWP2KKs0pmKYjcj4QZUPsuD2wjtamJp70pt32EG4dbXZ76p4h1WI+pfEQRuLJaf360hvYokj4izZ+Af+jm8vzJQSXgv38F5iUTYP2Vs0wEjacGvQ+BZELIQUm7rulRspBN2clr+1on5h1MtLK0zx4qL7M05sLvaZTaPthYns3fphoFt4PzS8FRHvQORyZTsPXuGtsG8lpIVLpd935l6sZ4HGfoaWqBEVdgKnUYa0cMgv/C/p9wbPRcK2Gq/wrrsAP9nFD8hqMyi2nbui6IfAFZne4/waRcPvvKp+YXrDSyu8Oe5tNMc8N3eZ7YU8SH3eB79rPrOmgJum3An66bu4+oPfDcU2aeFyKdsLh3PPEjctDPC3+/utwjEBozzUXjgYGRUbKG2Chd26fdMTv4MKOY75Te3oith0fUJNRVJOkQGsrF/4vn8NcJXlqMphljof6TW7lGU1TOcfx0EUaceViEvL0+0oHfFlSQuXy2N9Z/pWiIWY8z9ujNIQQ/1IR+bmzgbuRkei8aYu70/3/ZwX8Hu9DqQM250Yjh6XPx+ZRv84KzHIbWwd6dYgJ3kn7tWMAEuejzQutZCd7vbwfCLn8Ed9y0vM0CyOAGnhcnHPbBrjFwJ9K7Qk3Tvp6YzvDsbaD7cXDsYngkGiFGzaW5ztfupXwsQ2AfSHU7hRboAUbgg+sgqD3Ma2F3LRj81cyDHpecnPLxz6OZxrpoz3ePBAdKZG62lIC5fKo31nSivkdia/yD57e5itw/5tHJmbe0gLw0PUQnvX8/ZgE70rO+dMQ+qwcwf2fylpyMFGKzumws7E5pYa38IxW1SmhVpKdQXlZIjYm2Boq9wMxfuKFENeEuWYinHthdY2eMoZ1ppYh2KUYb9wuL3QaSGOuEuMLm6vNd71pnEb3+B8NuFrDrc9gTKunUgjxVHE2TWcRoKVNp5VGFMx1i90tTM4tUugrv2EAiMseD7Su0+jjCTkn9d2HiGF/niOJ114kebNK4j3O34hjbVfLk/6hRkkqcyEhbrv4DzUj9RpoTqGhZzt7f/I4ThciY/hcfgDhOKnrRXIRRZg+oxMEO/+xrISt3MzFPtlZeyK1pFinoZpuFAgMadoA/cuY9H9SO/0hLJaiLlB1G2x7CT/DfcqEzIIQyikJHCzQvDbi+HYXoViyEuirCMdp4UJZo86hhuiowJnmb7DQ+ML37/FbaMdlqNpZnECWfNNHP8oigI0L26yCA8cRYm91Wlc4GpanOu3kHr34jIjXwXnZJJ+pPf75y123pmNu1qY4W26gXiFWwJ31cZ787+3cDuKjLUKvldAROP3fVahGPKCOH9MC59ifHvhvDhbWS18kkW3F870BK5hqI50ucxrTAWNL5yChdeRjmrh9FAd6VJ55vMLh6xw7lq4un7hkyy6jpS0cMWQdkzF6NzckzI8poLGF07BktsLp4e0cLmUWjhLGWbIL3zw+YXPgLRwRp4/1p60cLm49sK7tWqT8VB74Zx4uX7hktsLp4e0cKmUdaSzaOHZyHyk459f+AxWdXzhBCy2vfCa/MJV42BOWvjAk9Oew8v1Cxc778y99sLpIS1cKn6s/Wy555BfuAgrfMla6BcWw7O18Jy0cLkc2GH0M85HOjSmgtoLp2DB85GSFq4YN7KNH7P1WNoatFQsoI50490qPLOpo3ULH7naukczGxeK6EKNmWdnfszBL1yBqH9J3Pq+M0E8A+UYeUCpo804hr8nCQq/8ATfghXIkGPRMMY0zO7hrrnzEmJMoHt1xw39nR+pCS4fvxXH/vMBLlch6l8Sro70Q9hTt+r2ob+R14kol4ZnMIxv7RGefklhhldHX8N/6uB4oWl1Lugsz7J3WbYNb9ujSJHfD0Qg7NTvvhjgbuLNwTgc/zLicGjt/kuqsP5R/5JwfWfYNbuB10N/Nxsb1/g6v4blA8EZLJ1fQ6A9RAm3LzyOfW3gxvdeLBdv7CHHvTbYRvkHB9q4O6p4tVCiuvO/gSh8GBaJHXcPfMAInJ1fn8GNIpaGf5bvNEy/xwjZyINIXzCun3wtGUw4Q9SC3omfq3JiFGjhM3i3Llb4zHhaJG72GaIu+DEV0+BqVWcmXxcrlGba/G1pkBbWDDcH2zQ8M4/P0C9cB2qthTjonqgLfg62aXimX7g+Wvi8MsMiuSQtrBdu3plp6D1XC8kvrBryC2sGaeGikN2FPpjpOZBfWDPkvbl+n4L8wskgv5CYED++cAr8U55mZpv8wso5Ii2sF0v3C7fF3McD1xPyC4lJIb9wUcj69p35RlpYLw6W3XdmW8x/PHAtIb+QmBDuxtpPw8z+zrlNld4v5LVNovOC6kiJp3FmcNC1j1GYyCbcRj6Pn8GKojD5rHNRcJ39vfcAqBeE87Rnj6cFcpPh4+utX3ims3qd21qif+DoQKuFOp5oUKfbw/qFOp5hOLfuCiEbwkgjXnRmrGN8+h+WGc718DNY6kAswjgJxI+LOBzzSDdi6RyL8ChpiCQKxITzoAR4C6faY5RNUbLYweZVE4ggyqWIZo2nBcJ3/R0QovHBhxEV0vR3A5hQmVK/OTCTlumG3/uF+yXpib9MUb8mgdifmCAprAeBvx1CTVqP8MvvMKuWlUlATdtIuWIU/jprqPlc+lNrvOjiyOrQl7aJlam/x4xZ/AfwCJGXLYXPj6dFUuaEJIU1wYvhFHPU+j3wEc0z4ZLAYifFrQNf7XUKef85vpWzt29PjaSwLvgsewplmn6PUZxn+NKl8PnxtEi+21MjKawNVtqmctKsZ/gMb+fbtD+4ovzFeFrso5lmxVaT1q3udp2x1aRTZdg2k3+Gt6NfeFthyXPjaZGgW0BSWCNADKcUtk+wx3O8nWgtpNBWk9a1UZRLYZ9OQtQEyLKnVKb0RAye1DQDurEOUmjjqaZSiGJY21NbT4Kp6yt/y+f1Us7WQgoZezVzRfLCeU8T4FdBGjyEUn7hHrG9U7o49uueX3/6e8A3YRB8hH/cxn08FPBcaurH5P707vPrz+0nv4hxMPQXORNwMTv61cL/PH/8p7tRd/7Dt1PZKH+Lxx1znHr+Dx72t3QiEYbB3T97VmAjsIQBowQ99yDJpnhdftvfA3YJwo/lgdw35drYgOC4H+oOYBenIJA1rdP72/VnOAxcnIsoeLfX2Y8J/CsvJe2qkfCF/5Xn4k/OreOnXex/Bp32VD3QTw1cx51j1PezyoQU3/qFycmdFeaNWjzJLqqpFQYf/cLklJeS7X62n7UjNVM9Uqplnvu0xGXyvcIeI5vT+yjbzvxq8lTXulrhp+mf5VteymxPbl0C6XRmpc22X1oFLqvUwulzAK+FWT2ecD6DmC+FGZ5r39fC6SRneWSHU2UPUxptxcRq9HF/y2QGKSEtnIRnWGFzt65aON0DuVdLC4+q1MKZ/cLtQxw3XjnTXABPs6z5zL9Jb1Uw/cwdfSts19QKp8x4V00L/UIFxNN349hu2MqDrB459jRamOFT5p/xMvtm4g5es2jhvrfCumph8yX7hfFqaeGF6+SUTaiF/CJaCN4rjW8nn7AxMVn6PJpy0jlTZ9HChusAOKX7tTym1cLDmk2t8yhVauHmDFpovBZOZoVp28gFIHwqn0YL8/1nVyipwi88xTP8windr+WRtqfUwnd+aRVYtTrSQ5uWJ60jzUy6wedP6K1w8+DGLUxA8uwBrDdqkVro00Ft60hfuF9YXR3p5vQ5wLYzv0lvyYLqUstUPo0WXgx3NDjf03aqsbGzED84NbGa9LlSs2ihzySaI1rIP08xI9rdjrzaBcxUBLgfBy/aL6y0jnSW9kJ7uu8m1cLF1KWWWjiNY5s0tvwSXEVHCPMKEngwTt02H7Ch62VoYXNIC9NwV5rfk1pRWoymJK9GqZghIzxX9zpWDp/YBKyaFlY3Y/oMWpi7yoOJtXAxXs4ztVDvFqe8KcErLsapW/SQkk1uhbP7hUOSk50UW2efw0k7C/68Exna2PqRVMySEf67Vx38orVw1fzCXZsmJtW4BfWxeaYWRvYpHFlHs+A7a7WsS6DTlvUxdXpjrZC3cP1G81b/CvhS/MJ+zG6ov/ixZdAgdIqnwTWc7g3jdkVfvU/3IAtv4Y76ihWNFK7EbYjoUgvhgNxfHewJn1zfpLaku6Fhe+6Px/ipPRQUg1s3HRxqODgWML1fOO0DhyqkyjrSaaTE4/vOTNpeOGUGOinP1MJcJH6/onN82w44e/9Vyt1buKZNI1XnGE5c7e+qjLUax43BqLvl+oWpcHX9Wcquo4ZshJq9+/NLmjB/vWsSyBMCtQ+fDMfmctlMTXc/hRiREq4H0a6toAVWmMPVKbi6RO7iYTIZNEK0Ea0KaXr5scRn9UD5tyHhWFsfjQxlxK7jhpSDUu7UdaTUXjgZM7UXOiucVAtdleq8eaYWnhXCBBHmIwWk9NTssAgknvcKbFQE/Q4gDR3h0bkWweDBLsvRwr7kJKIfd1/gNPXBMcvAWrSRp5BqwPBki0XdlOG0CBpyjKhxDSqfsg8990BW3+bRFK2b24SddQoo4maMQw6RisJdVUsE1+eqneFvcbTeCJzIAErqOOw+3v3MdKNfMp2yOwH1nZmUmfrOeC2czArrqYWQRqLQQFJkr0D2sBlwC47Dfyl34CJkSbeltRY5/NntHWrS5w0/wy887Wth0u2fsG2ozLqfm5gH7kNekAl+c/ATv9lkqIccrVDeMBVovfelbQ/l/cKW0BsHHzPOOdgXXBTko6XKuk3wZPdEmlmjVwXHS77u/WS9Yk/zt/0YpjrSBTGDFu4YjkWZietIF+0XTtF3ZqCFNsY5Pq7P1pGicX0J/6huhynM+qOAHQl5IGUXrHBIAJakhWVVZN5XRY6GxuBcMsw2UZ5ywdHw7C85LWzCEeAMTU/KfZe5ejUCLWT5rZDHKQtFD65KamvMiMacKfxtjw27A29DN7Sqk/AGHuuwLxJUR7ogZug7k7m+M5O3F9ZRC0PXB8ZE7Je1woIVu/H2h0I5845CTNHnWGkzYoVMTfq84bn4hee2WgYOVjDbdU6fDKwQtJArlOnwDWujFUooVUJkYD5xxVwLNN+3+ycCK2J00pPY2eEGp/dJy8KltcLgk71OMGwICY7fW6H8EzHwEYdjl+pIF8QdLeTZO/cESZ7mOHyAZxCQnY70Krg4tJVrVuNwe3jlmLp19i6FXTYyW1LdaPrb7P3HD7Ddtj126r/gGb+xh4d/ax06vd6AHx2ulXuYUgtHhimPmT5qOGqThlVxJAb/CLWm6bUwtslcS2XNGhwkSOWQtJsqfUQLh48NjKyOaiHEY1r28dF+Ga7fBZSUGcqQ5MQ2q8vBRXuLEwkHBxvv8NNp4Qaepq3B6cFZJXCeKGbo07HY/3qoIDI/9EKmQzhQbniEdy1R131vvYVWeOy08EMXBDdtX9jib9ZOYHe488UvtyWe2FBUpGMdEj1kp6CFT8znxZsuSTwGz7YxWUG0ufVJ4c2zezH8GFX6hZsjs0TnqvdH9iD18UCq/dcasrN2t22Mr3Jz+H6k9pZo0TXwEt+goNozxmAR6T+BdyIvn5Duc/YLAccxEo79e9eGw74JV10j8BCYp7ML856DlxIOJ/QHGaOFG9mP+7Geld2+gSEtvPnUlmGnDT9l2wsh2V2aoAjBCnkoi46Bo0cQcBheP6iFPMFC4jBRPvj9ES1MbpWSVrjYViFxGeIpK12zkoEVDpJyYY6L0MBpvu9IWMjhFsFGKJHvQLjU4XGxCxYTiSAIQQszEWhuN/SnlioTKnkAlx3sfiokbBrIIoDj9StadAOsCSNTw+kkJixkcA72E/5V8CO6p+yPeobqSFvFyXC09NEmwMYSv/yEFuY92ZEyetSl+AKRtY+Vu/HAR56IzHDvFk9GpXWkw73ncjtupwDzKuQe4wcB03ao27aBvLLP8PjCQa+MFPfVgeFsQ93ewB0obcn7hba67zyUG+yTVy9f7THIg7CbZ8JZuOnXH+VeHSnfCcWYPbWRX8roHe47w9LoTYTZSY4pK4HblcdRqxVdg3XFeRNPrXmJz9vl8VAPMt63Qp73bG4zTCJe91PssBbap8VvxPjOFaaojV9wqe9GzBsorXCk9jmNYpePcDi/93A9aF9f4Jc/f4eD5bl7JHAWJ3s7sFkea7th/wA3eRy7vAEWcNMz+BZ+V/v53tgeLuR4Zt/h6Gn09h0axfvvcXMHNoO4GMrF+lqYFiciHCkg9QmFKMqtnhhTkbcxubn3h7BRd3UMMRPvTjdRpt6BzGQKP7Y2/UgxrwRuCxbhvUZf3+XX+XC2PdxeOBCKxPZr0wF8p03Bwo4L7ufsucAkn4FVF30rtGp52feKsWsclCHCSOf4c2krhZIu384xFbXSUzAN/Alf0r2jhTo5EKKscRihEEL6lDRSRzob3gp5roT4YxeHuRWi4/VwSAs1FvSA/+D6fK3nlYxAuO5Y8fh+pI/A1XIdL38rWwU+5u6BEkuEDwD4Ze/RE2MquE9uWJROW593bPHxPLvAT53xPIcEo51jzM0XKJoM37z0wsazzvMW5Bqpht3PzjPc5TTV9juestY+pCOeJSlukqYXj979uvQjzfxEd9qfTqBKK8NYKDkr553BHBvbgx1NUbhuF8AXEw7GEPmcfcfWgl/KGxZ49dJuKu/BGew0OIf7DMXCsA029kt2VJZJ1TkE5+btbqcT78MOrrLwjhbq2D4Bc2yFSIbfyC97sDiihTPh/EK+AzY47mET9vFvYY6Z9pAWRq7jrfXglA+GOM4e1MJh9+sxuFy2FYK2pL/coya9w3GX3H4J5VLYcqhkPYby+rn4CUlNhSYEhzyUnR58XhyGr3tQnrzwDaYQXfHhwErOYtPp9VLIVntq/ztmeeqfKQolIWnGEsrgPc1yydNGE8rkElwMSC+7oa1RfpAq60iH3CqIwJHMIofCwJ4XwX2XbVnycqw9WJcWx0XxtcDuFbkRMvAJ83hornyfs+e4ZYA+xkAL7daDFkvQwnPZZAFEJeaBBZ5O8NcZXoy3LPgHG/kTHtLC1ObNwCDhD/HefbcPJa95aOEbtoE6iNy/qYn7IoSrHNLCwuczWOPp8vYNHM57Xwv9pf3fpFq4YWvFlgdo4YcyrsGp39Ja3/3nNtMDTgL9hF+Y2BpZoFEw9DLRiSkwMYCTjvVRLAxBWd0mQGQGWWiOUXdccHR70L1+BUkmF0d2V1uG/ROyprzGDnyYW+tGwoLRxH2futSROrkqybHqQvuU0vhhPyx+fKFtL2yJ18FxcPwKL4Bnb/4I29dLS/EKN7H0tRDnXm3AluXU+6Vf2C+77jTO+WHqamcgEfvEe6abENnxPixiqzI2bSGlFkam//hvEX7x4/CH+V4+Sl4m0Ty0sLRB8H8S/xMlX/wjQuFMsqH5SMsL5u0E/mABfCfx8WErnLJZbnk0DZ75gO6Y14Bu+Hg/0qi0Qri9XzGXjzu8UWRZ9le6vBY8orjtNgFiM/ALfRac2G87Bbbk2MTBwmOXnvI2y+R5uptqEcER1TELXuO2j1CXOtLUVVVih2HsMYW5NlacYYjLwh1+OmDbtKv7JVJtAzO7V6ASKGV4+nWkuAFECvs66hcOWiwvDL+GMkSIh4j/sQI7tZweH0D5FKzwALfoRVhktQy0MChz5yc5mIMWyrY/2OOYxkALE1eEZ612ztQnWNCpfq3GWKH3C2vb2p0eFj1/fZCpqfH4r2GD4nEt7JfIIXHZ5qIdmUrZ6Sgotdua4C9gjV4Y9PsRv9C39rpeBkVod29aKwzccJim0ank2qSpUR04ZNzPtR+k2jpSvwBs+ElVoCTA4hNrkV4L8+FZwco6UvwY1JH+cVeJfhP2bCy6pXkO15HaCqCgb4Vj/MLdlHW8FuK8urwRZh/O5CZ7Y7eK/30ptx7yC9OP/r6HeZJcwGvk7WeZP8vky7O18GZYC+N86Gfwbafw36AWDqywhaKfRuxN46zvI4ZohUORigz8wjLuagY2b/y0HjjwgJNlH3wJyOTqiYaCQe3MqdPCtx2OXcmRHbzN0S2UJW2FBD8o2OaQX2iz4Cz5coJB/yBJQWE0Q2mFVBFjxOfts0yydPe0VfrYT1vhkCUsm5E60h2rZAmUyRNXWvR1pFlj+BKG5yMd1JHuCHyITNJ95/Tw+rbjD1zWkVqzxPL+g34haOG5zNhHMNtTcAUhjwNfAbbJBWih3SnFRizHkF8IJ+gsY5Dwh+D2KyGjq2km9c+2WTMf465jLjORX/h76GQiKGQ0ZQ9znQ3bUnGddP+O0UJ/LybWQttqAfByfMhYdA4b2g1ayQ3bsV3Y4SIizZrRUfT9p11/9Agl9sR44uzQ//ZdXO2MxPYPffj4vDOuYWwbnbu/kPHow0soJ2nGQQWsFqLUHWFNAo8hqiKDFWwOrEfcUIH1C7H+fkQLIenyTgARDlrYZAp8JA3ygtLyKPUZax9JGUoc0SLFoTSHIdNts98w+8Hw00H9mAqrhS0B3zcaGBtH5nDXwL7aWI8I+/5b+n6hwQ0hz/sqpGkYrH+1lv5f/wx2DjkH08Y6UjxggCXSwoQK67i8/xq6Xsq4VGqhq9rChgoxNjdzdaQ2lU1RRwpG/l+v7O0ywPedcXZ4Px36OlJcHNJC9PzhImQDKw45VgdKzPPfCYOR67I7pO8XtifUwsQW09E6HstdwqS8ZfgDEnuww2kYiP1Y9JSS5hLWiyHH/0F8eyG3euhv712wpcLa4AS5yQ4ktx4kGayxU2HjKxw6hAQI+dRODwLRCs9ijLpbyPBiAQnsUNqaQRbvwoZYDwrnj0kF/kstjEynI8H03oEWwvlqrCOF1Qm0sMJ+pKM5AM9s69xZ9i4H4NphPb9TE+fnI7W3ZAO/BvDuwL7Y1MNzl9TT3CVi7xfqPN92RzqF7bfz7PrMHXfQMwmX4AipbtnjuZ5uzTw7+5CVW9nihmVEC4EbzKLtHnfA9kKf00+hheDmju1iW44vRDu81154DYHOBiGvGcl7+bs8u/rgqpB17prGOEZIfvEewyxTtxfmty7h3NguXg+QQ96UH9p7YruZGlsmzg7B/F0W/AWzEy7Hxd0d+p16riCyx8UO0CltEC50KIcZzwYkGXtLvsZ6p2kvBu437M6z6zJlvId0iAfU2za+/LFPIT5dIO6PnR7P8atmyuLgvT8EHB4+b7Id7DBYdqh8kBlmnZgbM5SGd5xr4yeBepKRniDPRO/2TbbM2wb9SPfikzH5s27In2X0QpHXVtrxL2+/fIClPI7h3vCIR3HO0ngTLihK8//QZiEHslGTxvAVbJIe2bQ11I80V/em0M77NnhHCyejzFAmijGe/MgTKFBEabwDJdIcDVxDKROuBc8UUmzsTEbBN36qIPyBg+MOxuHfAMr+vnr6GC900Fv0Yfp9Z8AOo/Fmq/s2CAWlSUvWTszmxENTBj1FlX7hDKVhX3kwdEseZeKc/WkKEfRLDXe1ENHu+aYjZINUUbYXaqUKBQ7I1/3gFxR9tQmDwAQhlIqu2K0MCxxa/zuwWpiY47+y2NiTMiisaA2sEKTFStsQ0VDeP+wXTkh5KRBjTxaOrqGYHjawiicMjrTBIYNwQuZsC67tHxgIlOQDezYp3q3MXThqYa+AS2P84J1ELbTFFdufJ+sO3K6H6GshMn6aOhylWTLFmIq/kw7bfJpBcWk6VmzemR3XXjjpcyrmOL4wHUoEfb9wqMHzKbyK24bIMLeD93aEtj7+b/MBEmzGZIh9YBP2KcCo0dh2o0123nbVecNa+AQL1kJbb28rWiEr+IydjuBM1Xf3sx+PIcPyaSo6hLfc1S9GB+AXvsnkBtsJsQLTa2GGzU1aPj2Fb3O6Yg34hY+1Fw5zOrc0wvRU5zhgxeYj9d7Vys47c3NwZNesMV5BCQp7G+IKb7zDEXXWgoqAXSqsxYuiL+by3LXbABPPOzPqF07ENH6htTYokdq2ahwjWHTYZ7gjJoQTPj687tc1FP/gzXsPSeM9OygY2F/wjR/mpeeboz99NZjY4kFe9Lwz31dLC3PXlWhSf2+efuEQs2ihqyPl+64k6exYxRzH9hR/rOgxiW2YYJJfrRYmIgiCX58y7vszsKulaOEEZX3bhSjvsawNBUkcI9iU+jv8pOn8CoIits08FruQt+0ti+X1jSzY34JLvWfelTf/EosI3NZVPs60886s2HMqnnQDFsYMWjjlcyrm6BcOM7sWsj9YKx8ntgkSSnK8AWkLpIRtQaqxigAW/tdaYWYbRj5wjoPZLRNb4TP8wsG8Mw9jhTxSLEUttCN1DyKcq8Pa0tWHgRQf4VX6RiHsSqe+slxF/xhqofMLz2wP836D+SNMWaxZsedU3E5tCXNjFi0cGms/ATXSwh3XXoizlGUmT020wQNzbse5/kItbIAWypQl3ZQFrzBq7KRkich4WbZajl84QT/SDHzXVGKJFPZp4XVFbdw9bmfg4gUDLbywE6+GjYxv4QDHDfkXrgp2tn6h4pw3j+Fy0Yl7WucmrZDztOAnVocZLGFuzK6FFdSRDvMMLWTfdnvYVJ33DLYQY685q4V7IA8yVI0GqAL4heg16T8NCfI4pIU18QtZIiWcq+sxYrVQ4/wAkJikxDreouPLVxq9XsZ/G2w2haUebPWqre3FbmInA2NbLuB4+P44U2pha6VKpCvWXnhxiG1tU8zBtpARArP7hQB3zdw3rgs6vu3B2wb8y3zDDq/ce+86tW9oN++178+/FL9wsjEVvMVv4AzxJK/xrRwW+uEzruH1OD656l3+Wds6QNwKr+wc/rnGyR7t1xPNMzLlYI/WoHV3BVi5OtIptXCqYsykzKaFrv/TIzzlHS3DL5xvrXILZ515kqZ8urnwZT+/cOWe2WRv66T+3rs61ZE+GdG2jvRhatNeOAWbk5zyx6frZqbOUKdoL6wBq1ZH6ryrydsLd1ot9zzqedGCV2mFs/iFj/Dggws9S/IL7/cjn52NCVSO+aL640xdR7pSJdLV0sIpn1ORGrOLr/05vO2afVjA12HZp38mv3BmVlEL7z1adGamrCOdeIRWLVi1OtJSCydLKxtp9q6ZNTNgXm9N/PTzE85ZC59iKX7hYmqVn8/UWrhKfWdWqx9pfw62CetIF8w0z6m46OZpM0vRiv0frpT//ZDxL/gGvvfTETxNjbRwbjTd82MnhbRwUmbSwqnqSBfMNFqYHRoDf/v+73D30C3sHkJR14fg0r3/Q/yDLcyuHR4+CYtuL6yCKU9stbRwxepI/ciESdsLF8zIcyqeYMPVEjX9H7655TLQLuLbnX/7YT/x4R0T8ay+M7XI3+4zZYl0xfqRTlHBMG9m0ELfDL+CWrhMnuEX+md/1o+p/cJVai+sMiHNoIW+H+mk4wsXTJVZ2GOQXwh+4Wr1nfELFRBJzafjPPdjKkzzxgdVSG21EKzwyp/jhPQ9k+ZudnPDaxC5d9hoTtl35jBnftf6U217oVD4yFrZc/+PLvbgpaQyh7YZOGvDypN/vdse/MFevVv8g4WZ/9wR+n9wcHyZXnXd/x6jENKf44H9v+0d3EqIiLFLt7iJsoMigCbGLAbdwhHwEza8Hffv9rv7huGDf/ty4Y+8T/Kn5P50TkjL7B/YJAOpoM5/eIOkOqlQC3UUH11uRpH9O4o2L/HNLo+G2g94xfBKbNdmnmx+g/VLPMB3eMfvxoUcbUbfL+NLWMTv8LXpPqZegPOAI0WwENuFGA78/dI+m6V+pJffbWS5s96MvmGEfj+KL49GluLoCL/FreJvfuAGT+ByMchenz3G0Tf4OyoX8Bv7bfnvDuF28iv9T7+pO9z4d7hJeOPG3r5BSHz0/ed0fXoSd3Z41u7c6/EO5wT/gyW8OrjSctgMQRAEQRAEQRAEQRAEQRAEQRAEQRAEQRAEQRAEQRAEQRAEQRAEQRAEQRAEQRBrgLZD11fqH0d9w/smrNGLXvN5xZdVzlQVC/ngtCa1/ceJQuhFr3m+hH/6UCXgfKTn15zB63pVPjduzm/O+QZOnEX/9P/s/3MOCat8HmYlVPkEU4KoDceVamGvntN5EsRSmWEW5/lR5RNMCaI2VFsivSUtJIiqtdAvEMQ6U6kWRqSFBFG1Ftb0kUcEsVQqbqkgLSQI0kKCqJxKtXCTtJAgSAsJonrILySIqiEtJIiqIb+QIKqGtJAgqqZaLaQxFQRRtRZSP9K7pLHabwT5E7lT0S/KJ0b7pek4fzr/25GpX5oI/jvBD/09NDJMtmyYjpTpFXY6h0CWv5hXmeTqSaVaeNS/M4TjUpji6LsSf977gPEEfdv7Imazwl+FX3iYREw1G8pFAy0vMeJjFIdCoQWnUoRFYMQlLIf9E+Uq9kuEh7SwTkR+ApJEPG4kgXlm9qXNvK3wvYngPRehNbZ34jW8H7eb8M6VAJMMRf+Ud2bU75dLtX4haeEI2pQlzeMGZzznaQ7plzfzPMXwLN3IMABKpG2u8wzTss7wG57l9pNp2PQMFyzvXbB2BdwUPuCIOezG826IgTepOwocmjXxR/Q2fu1IBNqQzuweLLMmuQEbMnbqglgz5e/c70IGYjMG1fW7fztJ2XkDTRF2FWCgoXCFVEQ+nQWsF6SFNSIR1rUC+GdMvFCYK1imTFuIgIPaBEG7Lf5Cag9M0egKCYYRY0Evk6Iteim7ibvttoFNHUlDtA0UDXO0ArahFNMhhJgvLDVCgEDBqmjLHH5OhvBbIobfEqZUQKuFl8bAIb8w1mnjYd/BGfLgpNtu4CFDEwpjswXGG6/gPRNlYZO34C10arqRQflaDbSQxc+V8pcGaWGNKASm3ZJM7GfvNd/tNfn7/8CQoGR33OIRFlYLsMDzzMgbKMOCMRnV5Knc5WAEnPdLs7wR6vOmgZxOosSmYECFyLgOwDa0tVUlclwFM1Tio+aBMAlPD6Xb3WphLgrNUwXChvYHPwz2E4jo/V4hwDIDyBxO3S3M7NcJHmtAZoQqLpw6DvxC3HhkM4K0sEa4lMovkosEinyZeAtrOrblwm4BgnWIKT7soiGgAhUgL5uwS2yLjlnMd6z2xD6Jt6ww5fE5bACb/3fCWYjZno5T9gH9Qie9oIOM3aI6ZdZ+jw3uDKAWbluLTmB/sGnYFk6j6fQubIxYFuYGqMx4AjzfgQvAdV1IEF2FgUN+IWQIWF9D9KE60hrxyabqtAspF7TPyQskap0lAVjk9a29Vzmk9EJ8gCU0jgjk09oWoo3oxM0bt4IJXxXb+JUW/4Egwt6JMEGCv/G/aIWFiLbzPH9tNFM9CHQ/+Kp9Du+A8wv3PueRQuP6Ab+WQ9BPEcNOeQD6GJQG60vGcDbb8M7R9LwiX5/mUNaFfGHYL+SmylRXQ0gLa8SRlZIbrXUEBuHLbRGkafC//gM1siKUQ7CrI0X9QS0Eh89z+hVcSHT0LHsx+Hq26jKU1nhh5w7YR/iB7TkrBNrtrtSsh4dwP9g3LdRC/hsO0VNojylkDCFsFuFOot0FhzActkI0MueBnumWhqIsWJv9iqVt2O3PkBZyzBGIAZVqYUxaOELanyk9t1aI0pSLMNO2ZeHcpV2UqMJWRaIVDrSQ23rLm/TocKgh4HMCvh9jUFQtvLvH8wJ+5dxZIWx4ZqtUrSFnYgfeg+6QFgYiTjnuDusdpdHI0DjPmN3mnhbyfiVvClaYtX1+EIiR0it7j79ODCAtrBOFL4SCcaEVXsCS9enAFmNQkF1M4gpsblQLI2sksJaAyjH2tu3Se9ax6oeH3DO/d8GAzgub+s1ra9VeufgxLMoHtNCGgxVh2TQyBdp3Kt5gWBGAm3mISxZXfIWT8PaVwVYt4WxSYwF01C/EHyb6VFtHSnOwjcKPhUqaWWL7njgt3BFB1owPQb+4EirPQgwtbLNB6Rdy1U6akQjBrF7nadJ+7VoM+eFukuY9q4yF6H6Gj6+iyJrgDjIogoKJgtJlcEBY9VqIP/i77adqRsOCL9M8ENY8uRHYGgEOYpFlAZrbkBaWhhULGTUz8AWxGSUSpkh2fjTakJHAkZKLJElcnoL5A9GHtLBeXLxGXy7EVO/9QnDuTsIcPDIuw8I4r29YC1sgNkFXtAsISg5g51dl1tYM0QnEZA9G8hE/eNEAvxHtBby7HFZ3YRVN7yEtxBZFU9hmd8b+euOJyoMM+YXXyiek7PgQ/MYwsieRh3g1r1zboQN926BsDCEc1F5YN7jWPlb8JwTgm63T4No6ZLDm390SfJT7lAvIBtdYRAVazqJhw63+UfHzDI+NazbQHtwfkbEru2APqG231reHXiWv9Ae7PR/q7bpT9pph18Pn0P+9Lb2lEVjjpmzbJxykhSvDTDWLtnDK2a/n53f8tO0KnePZkBObVkSZ7x1IC1cG27w+C9dQkMWKnmeRSvP43com7aOtbRmYGIK0cGXgxWNa9BhR4Mujz0AHb5+wsmjCH8m/+wWi5I4W8vzUfUyYrz0P0kKCAO5q4a0r3T/qAswN0kKCAO76hbYGmrHuUorupIUEAdzVQrVpPwxYYRpFdggnfKZQSI10klij4XmEPYLTXEcRFlxhHTcoN2Q6cfs9DWkhQQB3/UKvheKC5fI4xIadaDcMdyOmxZ+wuMJNgl6gGimLd1+HSrZYKlWgzA42L8OGOctgXf7FLZ+EtJAggHta6PxC0MLgFWO5YtrkjDVFyssegp93QfDCiNnei+E/luARwhC2gfU4OMcjcNuT/0lICwkCuKOF114L2wmLTwqcmiRq71zsJN2dvbLv34eGirDnbozWl2OHRq4zFZYmlYo4T/LeRM2QpIUEAYyvI+VYOxOpw3YBkhe+DsMwf19aIdPBoZE528Q9U3O699uoUCr21x2pKWDrELRyAkgLCQK4W0cadPA9A5MDmdqLTJbYHrsc/EI7dIWxK86u01A5LUzMRqhSzop/7BtOd5/FUHiFz8k0jrSQIIC7WpiLCCwOB7qEwQZrmozjSLRENHmphc0uLPxVIJIJ47JgCuw4M+BAwvr5cYcpxUEinXv5BKSFBAHc1UIWGSMMTu2aSan2wZjws4F1pGWJtNhVODptU76Wh8E1yw9vVRiAPV00lOxopsNdtf/V975/HNJCggDuaiEUJtNmy/XET5u2HxtPU5xTpNk3LJ3hJLVxcNO0E/d9aKbsBkO4nTIWnEUX/jSkhQQB3NPCiYntuNFnQVpIEMB9LZwUWzvzPEgLCQKYXQv7Y7Jnh7SQIIDZtXAOkBYSBDC7Fs6BSITBsW3kJ4h1JMBXEFQ6V3kGJ0AQxPPnQiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiBWCPt8ZQ/Oa+PwAZYtO/0N4gMc/cn3/bpjmtD+2GLuAyzLDe1f8uyhY6NnmtDZonKCi6tVpJ37AEs/tMpIeyIq/bqjf8J+3TFVRJSXMRRa/lYhhOiWf6IcXxWPhB770O8joeW45ASWB8HKHzjHTfqh5WD+bDTUTxMwGmr8nFWpwQP7QGHcjFZMj4b6Cem07IdhcPnw+NFQ//yrKzUulIUjod98aDAcKMp5JUcjzT+ygP0YCR0fleG1C41GQ330JP0gDB2OykFoPypheRDc8FHZxE36oWWkfcZIG4SWkdYYDi3n9rsTaWVUjo+0PyOh5RTUo1FZRhpE5VBoGWmjUfnVh74dCS3T351I86HTpL98ZNt++sPQPmWk+fTn6ac/jLQBw1E5YDj9DRiOSgTOoDxqpP6owV8Zjz8PhoPLeEyGA9UPH5rDSj9QlbGbD235RxVl0ukMhwY+M0pHQ/22rRBW+uE4KSSiR0Ptw1bhyjC0//faXxsPhkP/lMmsGITBnw+9KoYDVTnQLIZLKgP/qDLxxf0w/CsjLRoK+zOIyuHAflTeiZ77ofDWj7SR0NK600Eo/JWRNhqVpXXbSBuE+qjcGg31kbY1Emmvy0gbG5XnYyPtCiJtKHgQlUOB/agcH2lfRkIfT38XsNIP7Efl9tCWEME+82vCcj94EGkhrv/BryD4TvrzoXfSn3/1ozKwR/CvMioh0oZCy5TGP5Whg/0JgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiCqIgnDP2EYdsLw9egfhir4v/tJ//T/Av/7AxwrITTB3yAIXgXBr9E/DC3g/+4n/dP/y/svZDkovxLCcogyQawxUTlhRiWEVT7QmyBqQlytFpbT7hDEGhMrv1AJpIUEASXSarXwr18giDUmvvULlUBaSBCghbeVauErv0AQawxpIUFUzWaP6kgJolpi5SfxrgTSQoJg7IjqSAmiYqi9kCCq5rJaLaQ6UoIALdzwS1VAWkgQjG1SP1KCqBjyCwmiaiquI/3tF9YD/zzxGz3ho1S5nqYZaWPo0eiLu6nTHhoutXzgevk8da71Vv8osLJ3bpf0nv0A1u5JsxVr4Se/sBak/qHzP/oPlH+CvHwm+URk/ce+p/2Huk9J88nzSvtPkZ+MOGSsJ+xi3rWPU+exwme7x/aneITPYA/tQ59FD9+RtRv8XfH4wl9+YS1IhU1dhSgfrP8U21NaYbn1h+DCL01HvPtkYmiKn35pIrI2GJ40uJgLhUaY7raLPM0L8Q9/KxRhchHvd9+BQYq+IKSNpl9aE6iOdHm0xFdIbIWzxUmYTgubfS2clcLMWwvDY3hTaIV5u/cBPm46XWdhCep15kRbmwPOzk4GxbKvlZbQlg+1Fy4P1MKbULx1azwKYiyJ8TjP/kZnUcJ/BjGqBWwYBxH6RkNaqOMg4QlYgN2aM54Ubus85smnuAVLoIVpUSSgs7zA/T58+Wo/WRaXB0Z0FBTwu/qH/S4tmoznRZDssY1ItlFEYbVIMFXAoXPc8wP+Nm4MOCtM4RjR3gbLC+vCJWhLWfE1wbX0zecj/AEkE/i7qIWRcFOrJKUVX2Oxs8xm0Py56NhlpCn8AdYE6ke6PFpghUGZCptGhLeiuGFcSqkUU1I1whOxA1/FYjc0mD4HWpi3zZ8GbMJuerg1T2X7X8fgseJ2sAtLIIOZ6Jh/UnQ4mAqYRSqFUuiBRkKGsi9hmTH/FDqo6hDNYlNoKBaqsA0+W2zEwSXjsNoRB2BQ8Ul4GJqTLwqO88ebobXCLyeNULV3TyGbwMNyc8w2AiE7Bh2/vHt7IC/d1r+tuPYM+1K6wgH83gDdlrkNxwLZoEQKcQLu5BpRcR3pWrUXpuI4EN6wtJSnThm4FFhGUyLm7LOBlJiLApQhMJjIvRVq09EQJCBtSpCJcxaaz/YYaLIgMmA5GgTkEIwghn00WCFXBtJ7JBJuQHR4WBY2QxxEE8NBEtQbbj45W0/bYJh/zTnaCVh0ugs/ZfULcgtYxx0sWOzVJ59uGLtAU4d8Aa8CLBjtUfcgNSUi3GDO8eUNm8tKcyl8MZzbHQZctIUJY1spNOQXwknsunrTNYHaC5dHSwgRSTSOvsyFpkyYocCkCOvwj0toSX0r3LFGwM0fsFaJutG0JcwAtnT2gRKViU2/hPtmVqZYpuH48Is681YYtLMNdpNptmcg8jPYO0f7ZykcEQuGGoNB7uCLS/vzSoJJ9VUZD8+tfnE0rAh/HQx7w10EVhDlA/e05c5BgQ0eu9Br2cOyVxYArzAi9BcoAAiJ14A5UEk8IpkvnorrSNeqvbAlTA4GZQtbsTguiq+FFJxLm+wV6BpEyCHbkKYAAig15mIbA8E8uvYu7Ydgsx9tyIeLuFACLPKNrYB8D7bTtMVZtMAW2GNiFRaJIZW/8VKGJVJhfls37yPYXABHACEV4SaadQFamAr1Fn7+H1jNdzQFd3r9M0ltHWmaxIFEK2zBr2mwtQ9C4kkfw6rLMSzOiQT5ho0aNvfxWU4CpWpjfUbgLItP4MsRLbRCvT5QHenyaAnMdF5BmkTTUH/A3wpD0CpvhSgSwS64Ue1/Sv1TYczelQpUmPf4gUnYeUw7xshOrCALjbu4fg0Hce2F2qBdxKBSPpGDcBY9IVAQLToGN9KAiWZiZ6ON58J3AiPwrFALU9HrKNXpvM7hELiP/cG+KlvDKoSRYWQLmR/N9U/YjAvzr9NRrzsRGOxdK1Rtq6av0fT/9k+rEC3W8isgx4y1h6xw4BGvBRXXkTpvYU1w7YXgB0IyjQS4hbgG5UxnhTYNYonU10yA69VPi5EVNm5CdmW/1V3wE8Fm0QpPcAnTu2sv1N1Nq1C5VUYeJ4yDeeu3ZTmRw/3WF+gFnssgRzs7h5DztAPHcVZoLQd/3hYLnfj2tbAJX0cigl327NWAzSk4li2eOsZooZXrQnyHd2tvFrTC0lvV4nJUC9etRDp06ctn/epIgUyA8WiBLWlYQANjwFAlsT7i+BBTIBpM3rcrwPW6SWztDFqh6xyTdvfRL8TFAiTGtRfqE6eF4ERCCs9EjOLorAfhHbzh/BCPEoGiwccXg2YTg1HY9kJbq8OKkxSsDRtA7mphAptinhC7POWwA8VsyBCsxsVgrENayHftpfWsFULu4zZEE2ZnHzpw9EQE+GM8wCN2h5Li3+5aWWHFdaRr1oPNVQnHaFOR6B3F2B5Rlkj7WngTiiAKsH6yr0Cwy79vUGwMwWbRKLgSRRQYrOmJhfn47R+aoi+Rdp1fCJqkouJE3TA8XGHK+YUiCI6VtaO0be2idXL4Fn4PbCoSQcaa5jCOFB7QaWEDf3BECyEbiS/VfvcfBsSu45mWJ0UEvzTq0oX2O6eFuBsc7/yrMEUU/xMSsoWbr6IbFnBhsAyFWvCUfxdol+cHmEetDxXPwbZWPdg+3KIqYdbfeAeJMpCyAAHh4AACQYi1+4W1sejfoULFaMrSClkemo8pll1dIf5DIeWvNJNNFrezT7sdtKZU4vueiuCHUPia8ANY+8kj1biN+9qSh1IGzh/zBUL9Ru13Eii38sL8hdX41oR4qKSBO9kfbB5609L4I9mxUd91HEKpFczyP/sF/6Z2/2CtT7aPFu7IrUIGXuS+WFVmadzZlWU/gKxQDWUb+TmcF4JtjtoWp9eHzQMXG9WwXiXS2Ukv0R6wMvIe8cnMN3BDWot+Hrkttj4Al2/80nS8tcXz9aHiOlKa8WIiUhHqKx0MlfX6zFyPoXWMXa2fRyu1JeQHya2cTgs/9FVJ60LFdaSkhZMRdQ2AxcS7zKyFiRgnrVNyK/YfkUIg/OEXpsGWy9eJUb+Qpzbr0tkTOZjb7Pmsl1/4HPT2zvZYc0svZrTCrWSMsk5LlvSH5o6Hj8s5niKfU/JaGe48s8nXwNnhmI8QzimzWq86UoIYz506UvTXtXqyMN+ZU0mSSqQEce85FSpg/F/DFvV1juVS3nyfZTzjaZ7ihjzLUSZL68FVCM4+uK+v32e57TV8k7pPd4yHWbupDQhiDKPjC7n6ygLX4zBpqJ7KmW78UR+1CJQyCTghSioZ963wtHOrsA3oMISvL6E8j510P/IzHux2ZHDujvGY90FaSBD35iNVQWB7RLEWdquIDrnt5chdZw+OUslSk7uJDGBnhY20mt3CQbC3lYJdT+Hzm+HYvNvqwjGOsMPEQ5AVEgRqoV+wcCVCN6os3k2baW5yjhLIsaEqNTo1Sdpsqo+l9UQmTrGvcAObdyDsjN3w7CRh2DmJcX+McY1cJVQiJYj7Wii32CvszlsIpW5VL+MNsEmOLcPpbpq2b5VSsuhr2NG+MQVnrj9vyFIouCqRMOGmACvasKrsCM4H+EdaSBB3tND2ado6/AcW5MM1diC0Vtg0Gv5caL8kedaKxE/WQKsLAyi9ZvoMxNNqY5I9PV5jzWYFJoix3PML4Q3np8u6YEn5fstrYQscPpMy7P6vVVRaYRxicfQbk3Z+klxjT/0EtLBo4LC5pNmGffP9R9oeqb2QIO75hdKaBc4gFJkwNN+ZNtsDLWSZVKEMeWmFsBrIcI/JHmwb4xRDASxE2D0+bICq+mM8DPWdIYh7WvjOCtfNDhRD9UWC7Ya2NxEOQ7Fz/vA8wYbAzPt6sIqhcidNcMfzLMlZit/BZvj958ROUfkgpIUEcVcLZ2RsN+NJ6PuXBLHGzOX5hYczWyGVSAliPlpYznU5NVQiJYg5aeHMkBYSxJy0cGbCgAMa/+hFr/V8bfGbiufmFlIaKWXDTfxDEGtHA17DU7EunzSJfn7B/+hnRBBrCKT9JJrHtAcEQRAEQRAEQRAEQRAEQRDEPMgT4MK/9TunYmgZmORnPjQrQ+y2Zavn+ND06dCLcvAHhpaBg1D9dKgdgmJDB0HwVoby4UA7BMWHDrYehI5ERFmN/UhoGTio8h4flaPRUz4MYvaoHI60fuhUUVleMoT2A4dCh8JGIm1o4/GRVj6yZpqonCj9+cC5pj9kazjU87M/JGk4dJCmRkOHonJAdD90MI90gpNh9PFTtWdiBB85qV/1+GjQftXjQ7nx6w5/XL7r1x12eitA+nVHGar8uqOcGCf0645yUuTArzvsk8SAwq87ygbZ2K87ys4SkV93GD/TdeLXHeUMB7lfd5z46L0TaT713Ym0x6NyNNJwogSAj0ZPGZVjI+16fKT98+uOcvzM+Kj85NcdHR/6w6877OOOgdGobIyPSh86SVSWzxd+Rvpzc7zcTX9lVI6GlpE2GpVlpI1G5fhIK58rN1H68xExFJX9JyOM7u9/iye+KdOSeNW72fEBFv/ELcYufIClzEnO8y8+BOnnJCOhURma+XVHmb+MhpY5yfjQ1K87yix1fGjLrzvGh5YPStN+3VFmv3okesrQO5GGz1+7H1pG2hRRyXIf4OhHpV93lKHbft3Rj8qRaC8jrenXHaVmjY+00Yh4PCrHR9rWSI+QsiTFR0J3vHWPRlopGTdjo/JqJCIGKc0HWL4Mpb/Bz/0cH2ll6DSpcjQqy4h4KiqHxvxiB9I+PowgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCGLx7EXxJr1q9KK3it7K0ZBVsC2kVPSqy6t3S2/VvHXLAfFVkBjN+OSvs5uz6/OrF7tU8evq5vr8+pzeKnhj/6lyCqAKyBuDsfcEsbZcVvnMpotDP9sRQawzlT6/MC+nxCKIdeaoSi3cOdzb8IsEsb7Eys8CVwWkhQQBVPos34vD936JINaYav3CRjnpKUGsMZXWke6UM8ITxDpTqRZuk19IEIxtVltHWj4TgSDWGKojJYiqqVQLqe8MQQDUd4YgqqbaOtLDD+WTeQlifYkPKuxDRmMqCALYvK3SLywfe0wQ60zFfuFnv0TMTBYaGWFulh/KRmP34Hf5CGVHbPpPMQe0HF6bAL4TSHMb20c4Z7IBv7D/Bx/+rJV/Dntkysc7EzNTcXsh1ZE+l0SoqBAh3MVEhEVRhCci9l8h2gg5NI5bd4e/fJpUitfxl+JE7MBKjj/wtVD4ay3x1W1RCLLCZ1N1HSmNbHoe3OANTESOb9YeuBIJfjoSEQ2vavPGL00El8YqK/+Hx36HvwIUcERtArsMK023QMxOpVqYkxY+Fx2jmbTENzQ4Zw9aDOWsSmkZukWe5anVwix9n2dw23Wen+IXaY6LrqIMNsKvPLHVQKCJppx7K8xAbXX3r11mb0kLnw9p4UsgdlroPcKhQmIqvrMfbjVVom1CLK4qpdpGg8cohAnA5CIRNYzooseYyXZbSG96jEnjF1gLtsv6VvidtHCuVOwXVvjjLwb+Rgm0IF8iZeyoNEe0EQ2WiBUpHxoy45lEK+yImKdgewXnCX4XicOcp9JwkLxek4O5+v3dnn2cFvLsFn5Ii1cuMCYtfD7Ud2blab1WIoCI7Guh9RItZ7tYGg0xmi9s4Du0wlCAI8ClvfNHYETOc8QCrVNRbXwZNj2xVpglF0kCe2ei3W2LE4G1rn0tfENa+Hwq9gup78xcyAXYTV8Lv/etcEfErbT1FddRFcH2jC2Rgh/QFEGe7+To+UV2R3y/dXlyeHhjP1PxFj/+CqCBkzgHURx9sx5k3y8kLZwD1Woh9Z2ZE0FXD7Rw4Bceo/0AcJODLma3Z/KNt8JUiDa8BBRmI4FTHqARy2O7W7jrsuYN08GPvc9ao4e43bfuIS38ZXcmnkW1fqGh8YXPRCc2I4tP0Aqd8e210cqQVITZO3iFYJ+4RamFaFtN9CVdSWSghUraANWzH2C67dKe5WHpFzp4WWp9Tf2fng9p4WqTiR/wzqW8so4dUti6GuTSm00mCvgH+wNDwtoZfCoC+IVoPj8V+oWlFtq6VjBer3OgeNLdoau7WsgCt5JhWZh4JpVq4YXh5Bc+k0D8SHPbuJ6IeCfJY9W3Id7wN/dcmvewYZxGxrVUYGAiwjyLsbA60MIPDRM1k9L0gNyYImvmhcQamRErTE27SC7+CqpgmwOVaiHNO/N8brDZT6FHmFgX8ETZTqUISqAjEt8Zhw1NZP5DLbQl1lwJYQrYuNRCkNKt321hgrIYCuj/YCuh3mDz/ogVstNXtr3RtvsTz6Pi9kLyC58P1+4WXmmtt/RQ6YLrK7/E7CZcnzMOC7ycBVbjGoYP3vtH63MOIe6Y53q05ML13W2J2SC/kCCqhupICaJqKtZCGl9IEJXXkfolglhjKq4jJS0kiKr9QnpmE0FU7RdSH0SCqFoLyS8kiIq1kPxCgqi6jpTmnSGIyrWQ5p0hiIr9QtJCgiAtJIjqqVQL80NqLyQIai8kiMqpuL2Q/EKCqFYLaaw9QQAV15GSFRJE1X4hWSFBsKjSvjMiJIg15zgI7OPvqkIXAUEQQX/ePIIgCIIgCIIgCIJYDoz9P0HiOubOfDRQAAAAAElFTkSuQmCC)

Table : Closed-source Adreno 650 graphics libraries

| Library | Description |
| --- | --- |
| libEGL\_adreno.so | EGL driver |
| libGLESv1\_CM\_adreno.so | OpenGL ES 1.1 driver |
| libGLESv2\_adreno.so | OpenGL ES 2.0/3.2 driver |
| libeglSubDriverWayland | EGL subdriver |
| libadreno\_utils.so | Utility library for the driver |
| libgsl.so | GSL library |
| libC2D2.so | C2D wrapper on C2D30 – determines current chipset |
| libc2d30.so | C2D30 driver (logic) – loads appropriate hardware abstraction layer (HAL) |
| libc2d30-bltlib.so | Blit library |
| libOpenCL.so | OpenCL library |
| libCB.so | Compute Boy library |
| libllvm-qcom.so | CL compiler library |
| Libllvm-glnext.so | Shader compiler library |

- Kernel graphics system layer (KGSL) driver
    - 64-bit compatible device driver
    - Available in the build at kernel/drivers/gpu/msm/
    - Change in the Linux kernel version to 5.4

- **[Graphics features](https://docs.qualcomm.com/doc/80-88500-4/topic/139_Graphics_features.html)**  

Qualcomm Robotics RB5 is supported with 3D graphics accelerator with 64-bit addressing.     Additionally, support is provided for P010, TP10, NV12-4R compressed, mobile industry processor     interface (MIPI) packed Raw, packed Bayer, and unpacked Bayer graphics formats.

Last Published: Aug 18, 2023

[Previous Topic
Reference examples](https://docs.qualcomm.com/bundle/publicresource/80-88500-4/topics/137_Reference_examples.md) [Next Topic
Graphics features](https://docs.qualcomm.com/bundle/publicresource/80-88500-4/topics/139_Graphics_features.md)