From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Google-Smtp-Source: AIpwx48cJHmtQtUlItyuQ2XskUwId5Ir97KYprtsndgoWdFo1kahE4QLa5Fly4wtyPrlKElNkrf4 ARC-Seal: i=1; a=rsa-sha256; t=1522237842; cv=none; d=google.com; s=arc-20160816; b=FJWi9bDqjIjIOWFWgCcFMO3e7p6HYiNk1sbs4UL02JylpDhtiA/gsAHGGrUWmQ7phC +YMlhDOy5jjTLlirnad48vxSUQ/SyuTIcNuV58hTnrejz1LKltfGwsqKL9X9VQ4T/BnC H6lPIXfckCXmy+NFNob8ACOwyUi/Qqezkj0wrPHzRwelfBDgjlW14lw+topOOCVJYAwF H/oHut5vftbGZUxfRiAzgdgCq4i4uNDaVciDX4LgKz2zH5FkwQJChKsYxTn/oxVe/oYz Cwq6tLVRLcyZX3CY4+rpdoGSuOeqeHzcmnOOtF5IowNkbEraQjnoNP9lBRgBIOp92Leh V9UA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=user-agent:in-reply-to:content-disposition:mime-version:references :message-id:subject:cc:to:from:date:arc-authentication-results; bh=K+28N1g5zrJm573Ywad2Z/spmsROHsWqwyXB8AYshHM=; b=xGOOzs85HIaSST800JSUMawzZXx2tInQJH9pTGGzbUqpHOcyZbg95WC854YwA/FsmB eOM/RbqdrmIh1Fi+lfpjPH9X3U1zCvHdtNBFQzX4MMLCG7EJJ2vyTTCd27He6opuDNcY mHeC1wGGyqP5hNPkf/ynv55yz+AOsnqvoKr6dMyp/JFGse9qwBU88Q6Jrry62I68jeFL 0cafcZOxfPNyk/twslPdaIZdk7flT6O5byIgvu+ZARFXQKsn7JGvxZdthkq6WyCXUFzl Xmh0giV4QxN8w7NM4LuxVON8zWycdtWGbid+id4S9KdQ7be+SNDL+r9IOcYvn3Pq1lFs bcFg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of fengguang.wu@intel.com designates 134.134.136.20 as permitted sender) smtp.mailfrom=fengguang.wu@intel.com Authentication-Results: mx.google.com; spf=pass (google.com: domain of fengguang.wu@intel.com designates 134.134.136.20 as permitted sender) smtp.mailfrom=fengguang.wu@intel.com X-Amp-Result: UNSCANNABLE X-Amp-File-Uploaded: False X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.48,371,1517904000"; d="gz'50?scan'50,208,50";a="41960387" Date: Wed, 28 Mar 2018 19:50:21 +0800 From: kbuild test robot To: Chintan Pandya Cc: kbuild-all@01.org, catalin.marinas@arm.com, will.deacon@arm.com, mark.rutland@arm.com, toshi.kani@hpe.com, arnd@arndb.de, ard.biesheuvel@linaro.org, marc.zyngier@arm.com, james.morse@arm.com, kristina.martsenko@arm.com, takahiro.akashi@linaro.org, gregkh@linuxfoundation.org, tglx@linutronix.de, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, akpm@linux-foundation.org, Chintan Pandya Subject: Re: [PATCH v5 1/4] ioremap: Update pgtable free interfaces with addr Message-ID: <201803281954.xld7X6dW%fengguang.wu@intel.com> References: <1522157100-16879-2-git-send-email-cpandya@codeaurora.org> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="Kj7319i9nmIyA2yE" Content-Disposition: inline In-Reply-To: <1522157100-16879-2-git-send-email-cpandya@codeaurora.org> User-Agent: Mutt/1.5.23 (2014-03-12) X-SA-Exim-Connect-IP: X-SA-Exim-Mail-From: fengguang.wu@intel.com X-SA-Exim-Scanned: No (on bee); SAEximRunCond expanded to false X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: =?utf-8?q?1596097435911624997?= X-GMAIL-MSGID: =?utf-8?q?1596182068320379249?= X-Mailing-List: linux-kernel@vger.kernel.org List-ID: --Kj7319i9nmIyA2yE Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Hi Chintan, Thank you for the patch! Yet something to improve: [auto build test ERROR on v4.16-rc7] [also build test ERROR on next-20180328] [cannot apply to arm64/for-next/core tip/x86/core asm-generic/master] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Chintan-Pandya/Fix-issues-with-huge-mapping-in-ioremap-for-ARM64/20180328-192254 config: i386-randconfig-x014-201812 (attached as .config) compiler: gcc-7 (Debian 7.3.0-1) 7.3.0 reproduce: # save the attached .config to linux build tree make ARCH=i386 All errors (new ones prefixed by >>): arch/x86/mm/pgtable.c: In function 'pud_free_pmd_page': >> arch/x86/mm/pgtable.c:725:8: error: too few arguments to function 'pmd_free_pte_page' if (!pmd_free_pte_page(&pmd[i])) ^~~~~~~~~~~~~~~~~ In file included from arch/x86/include/asm/pgtable.h:1292:0, from include/linux/memremap.h:8, from include/linux/mm.h:27, from arch/x86/mm/pgtable.c:2: include/asm-generic/pgtable.h:987:5: note: declared here int pmd_free_pte_page(pmd_t *pmd, unsigned long addr); ^~~~~~~~~~~~~~~~~ vim +/pmd_free_pte_page +725 arch/x86/mm/pgtable.c b6bdb751 Toshi Kani 2018-03-22 705 b6bdb751 Toshi Kani 2018-03-22 706 /** b6bdb751 Toshi Kani 2018-03-22 707 * pud_free_pmd_page - Clear pud entry and free pmd page. b6bdb751 Toshi Kani 2018-03-22 708 * @pud: Pointer to a PUD. 5b7ee34c Chintan Pandya 2018-03-27 709 * @addr: Virtual address associated with pud. b6bdb751 Toshi Kani 2018-03-22 710 * b6bdb751 Toshi Kani 2018-03-22 711 * Context: The pud range has been unmaped and TLB purged. b6bdb751 Toshi Kani 2018-03-22 712 * Return: 1 if clearing the entry succeeded. 0 otherwise. b6bdb751 Toshi Kani 2018-03-22 713 */ 5b7ee34c Chintan Pandya 2018-03-27 714 int pud_free_pmd_page(pud_t *pud, unsigned long addr) b6bdb751 Toshi Kani 2018-03-22 715 { 28ee90fe Toshi Kani 2018-03-22 716 pmd_t *pmd; 28ee90fe Toshi Kani 2018-03-22 717 int i; 28ee90fe Toshi Kani 2018-03-22 718 28ee90fe Toshi Kani 2018-03-22 719 if (pud_none(*pud)) 28ee90fe Toshi Kani 2018-03-22 720 return 1; 28ee90fe Toshi Kani 2018-03-22 721 28ee90fe Toshi Kani 2018-03-22 722 pmd = (pmd_t *)pud_page_vaddr(*pud); 28ee90fe Toshi Kani 2018-03-22 723 28ee90fe Toshi Kani 2018-03-22 724 for (i = 0; i < PTRS_PER_PMD; i++) 28ee90fe Toshi Kani 2018-03-22 @725 if (!pmd_free_pte_page(&pmd[i])) 28ee90fe Toshi Kani 2018-03-22 726 return 0; 28ee90fe Toshi Kani 2018-03-22 727 28ee90fe Toshi Kani 2018-03-22 728 pud_clear(pud); 28ee90fe Toshi Kani 2018-03-22 729 free_page((unsigned long)pmd); 28ee90fe Toshi Kani 2018-03-22 730 28ee90fe Toshi Kani 2018-03-22 731 return 1; b6bdb751 Toshi Kani 2018-03-22 732 } b6bdb751 Toshi Kani 2018-03-22 733 :::::: The code at line 725 was first introduced by commit :::::: 28ee90fe6048fa7b7ceaeb8831c0e4e454a4cf89 x86/mm: implement free pmd/pte page interfaces :::::: TO: Toshi Kani :::::: CC: Linus Torvalds --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation --Kj7319i9nmIyA2yE Content-Type: application/gzip Content-Disposition: attachment; filename=".config.gz" Content-Transfer-Encoding: base64 H4sICDF/u1oAAy5jb25maWcAlDzLduO2kvt8hU5nc+8iiV+t9Jw5XkAkKCEiCQQA9fCGx3Gr E5+47R5bfZP8/VQBpAiARfXMXdy0UAWgUKh3gf7+u+9n7Ovx5fP98fHh/unpn9nvh+fD6/3x 8HH26fHp8N+zXM5qaWc8F/ZHQC4fn7/+/dPj9Yf57ObHy/mPFz+8Pvw8Wx9enw9Ps+zl+dPj 719h+uPL83ffA3om60Is2/nNQtjZ49vs+eU4ezscv+vGdx/m7fXV7T/B7+GHqI3VTWaFrNuc ZzLnegDKxqrGtoXUFbO37w5Pn66vfkCy3vUYTGcrmFf4n7fv7l8f/vjp7w/znx4clW/uEO3H wyf/+zSvlNk656o1jVJS22FLY1m2tpplfAyrqmb44XauKqZaXectnNy0lahvP5yDs93t5ZxG yGSlmP3mOhFatFzNed7mFWsRFU5h+UCrg5mlA5e8XtrVAFvymmuRtcIwhI8Bi2Y5HlxtuViu bMoOtm9XbMNblbVFng1QvTW8anfZasnyvGXlUmphV9V43YyVYqGBeLjUku2T9VfMtJlqWg2w HQVj2Yq3pajh8sRdwABHlOG2Ua3i2q3BNGcJh3oQrxbwqxDa2DZbNfV6Ak+xJafRPEViwXXN nGgraYxYlDxBMY1RHK51ArxltW1XDeyiKrjAFdBMYTjmsdJh2nIx2sOJsWmlsqICtuSgdMAj US+nMHMOl+6Ox0rQlCm0Rmm54GYAF2LXcqbLPfxuKx7cr1paBucD6dvw0txen9Rf/9pupQ5Y t2hEmQOhvOU7P8dESmhXcHF4hELC/7WWGZzs7NDSWbUntD1fv8BIv6KWa163QJKpVGh5hG15 vYFDgT0Aztjb66semGm4EadtAm7l3bvBynVjreWGMnbALlZuuDZw6ziPGG5ZY2Uim2uQFF62 yzuhaMgCIFc0qLwL1TaE7O6mZkzsX97dDICYphMDQoJCBqQISNY5+O7u/Gx5HnxDMB8cAWtK UBlpbM0quLh/Pb88H/59ugazNxuhAoHuBvC/mS3DY4JKgjRXvza84SQlXkRAyqXet8yC31iR eI3hYNNIEGty0mO6K3G65jCQOFDEXsxBZ2ZvX397++ftePg8iPnJkINKOcUkbDyAzEpuaUi2 CoUPR3JZMfBF0ZgRFYUE1g5sEJC8Hy9eGYGYk4DRPiFV4Pk1XIQzRMxKTWNpbrjeeFtbQRAR kwgBRAZmz5uOyO4ZxbThHXWnewlXdrawMMQtZRhEGNnA2mCHbbbKZWpRQ5Sc2UBNQ8gGnF6O Pq9k6Er2WUncnTOJm0EUUseJ64Fxra05C0RryPIMNjqPBjFIy/JfGhKvkmj8cx9jOJm0j58P r2+UWFqRrcH2cpC7YKlatqs7tKWVrEPOwyB4VyFzkREc97NEHvLHjQXWDMISlAbHL216+sBd /2Tv3/6cHYHQ2f3zx9nb8f74Nrt/eHj5+nx8fP49odiFCFkmm9p6gTmRiELhLmMAk8q9MDnq YcbBSgCqJZHQfWGwFsmXo1hnzcxQ7Kz3LcBCiuAnOEvgG2VLjEcOpydDSAK1JNBVlt0dkcQj kg8t+TJblIJ0iM6fQ8BaXwVmV6y7gH004lg2DJcSVyjAaonC3l5dnOIJLWq7bg0reIJzeYot nBVtIL/wUQSEhrkXcSqGWqACA0JTY/wMUVRblI0J4uRsqWWjAuVy0Z+TgDBlAX+QLdNZfvMg TmJCtzFkcCsF6Cir863ILe1QtA3nUobJg5XIzYgSHcX43WChOb8LT9GN53wjMh5R5wGgHZMi 3e/OdTFNm7Oq4cJGotJ1QLCU5NLo08Fig0pRgu7uD2Mrt0q0+N4UGNUqzcGHkDzTcbqxKNd4 ehck6uDm3G9WwWredgchns5HoRIMTYdJAJwMkQAWh0fhHJlsQcdCWXYK+NH/ufvAPLpOLjRB w7yJYm4fH/WKU4OjFTV42kDEvMKJ/DLI7/1EME8ZV847u9w6maMyo9ZAYsks0hhcgyqGH97E Db+TnSqI/AQEWzq6eciIKjBwbec46aPhdZ4cayg1SPr0zGIFelpG7PRRo/c9xAxvtgIb4s1Y XYkwAYoUI+ENZWEZRDBFE0YFRWP5LvkJ9iDgpZIhvhHLmpVFIOjuCOGAiwvCAbPyGd4QzQpJ UMfyjQD6Oi6acALMXzCtIXCk5HfFs7WSwB905xD4BUKzxpX2lRmPtMkdDuMLI0tgA+oBWC9i wxOq4yfaAys20eWCNJ6RBhQ9l36ETDqVJoazwhI1xFD+QKe1Xc0hJ02TVxFYvE3jOzcI+7ab KknUVXZ5cdMHP13hTh1eP728fr5/fjjM+H8OzxD+MAiEMgyAIHgbYgxyr64mMN7xdIRN5Sf1 TtHQ7qGrYOk1pYslW0QqWDZ05mRKuZiYD6zWS97ngoG8Igw9HQYqrQbVlVWi7pZXzvm0kKmL QmQunyD3hyilEGUS+vWqgxbOSW7ofjUzq/7We4njO54lY+6ypV8+GO5H0FR43RxgvzSVgtRh wUOFhpgSIvU134Np42WB1YrwsF3phjybI8EVc0GbwDCgV80wjJ2STV4ArwTefFPHMxJFQMHB eBCiUAiPtyytdQhgBYZfQJxNQOu01uRHNbckAHwaPcGPYjGooDxR0dS+Fs21Bm8o6l+4+52g RQZ7yNbdiisp1wkQ667w24plIxsiPzNwgZjVdBkqYT7A9FtR7PuoY4xguO1qESRhvmjmS+3t diWs0wIiEIYwaQ9hFiaczm26GcmSmi/BoNa5L5Z3V90ylfIkKylGAN4p/Athqy0YBc68zU9g ldiBTA1g42hIIw8wwDBuG11DVgjsEqGWpFaUuMMV0znmBy4+tXDxXdhELULs39tG3fElb6pU wB2bKX31fIV8yicraKZGl+zlzuc8WaWwmp4y3I/6auMELJfNRKEZ62C+HNLXLwniDc/Qgrdg jOyIvUuIJlXZLEUd+flgeMqEAIZjGmq+Y3wSo8ZAuN56oig3QoWLakpGRhgjXJB2GSf7YxxM MCijv8KCCXAIYoZUMDyLhUPxolFozGRS6zcuLEwYmRrLVrzrDWAeSuG5vgG46VQGK5l3V6l4 hl4uCKFl3pRgHdFOg9PAIIgwNQ7i3Oe4xzLueiUIfAduhTRz8awPsXhIte+NmI2DyODA4GFJ ocDW1qJxFoou49XgluBatqD/Ab2yzDEw7no01yMA6z3DIC2qwXrU4A+L4oyLdURvunZdtiYR HY50mRMr++K33u7+X8h9LERF5yf/YcER2WBSGEtMgtLpXoAmcNQKghEr4y7jCaqxidvUUZTS j7nsZlQhW2Zy88Nv92+Hj7M/fYT75fXl0+OTL+YF1kduOuLPMcCh9VFWVGL1pq1z1d6Vrziq 34Ci4eiYY4U67dIIg2Hy7UWQ83gVIyjplc+C7QcLLtdxDWOBnok6gKkvg5y4dr092FiBsWlq otx1at8xK9HP62qbYKD6u75H7pZxleppFL2lEJxQ9IlOu+AF/gedY1ydHypP7srU68vD4e3t 5XV2/OeLr9N+Otwfv74egvTkDvXVC9EQvFdq4uVBwRlEBNzXjoaNHQjL7T0cI+TIsCBGpZxD JJZeghEoRFggxFBUIu/DRSBWQZ3Jp95F8J0F24I95aH2EVHQ7zMx369fiTw+mR/+tWFhZ3UA lMokrGDVQMJQ9usPIU3RVgsRHawb86HcBHU6z66vLnfpma6vwNcJ2jL6Kh4IpvVOsnXxHlkh WO0h4toIA0552fAwmoVLYxuhI1vSj40JHmjjNbHNGvLafv2hrrCpuox4wsKftjvTKkhRk+I0 eJKFlDapslQ3H+bkjtX7MwBrsklYVe0oczR3z3QGTHCCVjSVEPRCJ/B5eHUWekND1xMHW/88 Mf6BHs90YyQdOFbOafOJdL/aihrbo9kEIR34Op9Yu2QT6y45mMPl7vIMtC1pb19ley12k/ze CJZdt3Tp2QEneIf2emIWOgxacdBQeQd5xk5pLBd3b3R8r+Z9iFJeTsPQ3Shwzr4qaJoqtl4g 3fFAl+zMb9JhuYlHKlGLqqlc5FZA2lvub+ch3Ol4ZsvKRBlJ19fDlIGXPKOsO64IrtZb3KAO 1A27y4uexfUQMMUEOugHa/QY4LKBiltGrtVUWTS+Utym5SOmFulQHqbGZitk9KpIyKpq2hUv VTindm+iDGYGS3T4kO3dXtJA8HhjUF+vSwEwELCd80rZUfqXgDeyBGPLXCkknXtmWh9+9qEU JumWu5ZPLDR4SUpko0Ehx8MuFSfQhSQGNdcSa9TYiOleLaEHwMxwHJpkEQt8+BRUeD+/PD8e X16jznZY/vCRQFPH5ccxhmYqfhczwsjca0PaCwbILsSQ29iVR0cqOeRUe0iJJhzZJAAnX86T 16dDj12CRVnQjTbxgYqp/V0g6wux803fwQqKDJQfLNnEPG8pQqOjGhF1eGuJjxTArdOpoYfd UJFCB5vfRDWKTWVUCfHSNTWlB16RUy7peAR0VELqyu3txd8fLvz/EhriMyqWVpRcssfyXLfW 15ITuKsEToO7lgmYikzvVQotQDE9lBFvKl3IPg12Brt/t4XZSGCdRYkyWPZBJ77Mafjt6exn 5/ZEVaxuWNxIPFHkYVQr0U+OV2udw/TzgirOsJyv8qf1HV4t4kAyGu4WHZWF+gR32aj0qoTJ mM7DheNCRhel+jeZNa0aXt6UdSQ4u34TbeLvqkdDU2HjQ3RMX2DbKa66dEO+s5SlLZveI56A wZJiqVk8dEZsfTQvsZIULFE1Ya15yA8M1ant3ye6Upd/YZXr25uL/5oH1ooo701Xe3zJ3q5U i+0U6slU+GB5HQhYVnJWu4ArqmDFDxK60TslZSTRd4uG6lTeXReQrkaIxvcJqQy6Ezj3YLhv /UQpJnZEnDHCvsp66p2Vb+i2o1dUQwEIXPMCDMmqYpqusqFNU3bKoruYs11AxovFDN2otOyH SKgDmMhVvaAOqH6BSTeDDxex4LO9nd9EwTYoRdWU0z3IymralzrJ8BXaSXcJ96ImgV1sUAka hRd0ztH1BmgW37WXFxdToKv3F5S7u2uvLy4ic+NWoXFvrwcn5asIK41P+QaRd/3WQANcSzbu 0qD+C4zYQJw0ur/L2Ptp7p6hxn7lVAx3Nb/YMzr9c7MMsYvrlsIuV9EmXYt8kxsZ62buSnsg apQLAXeEHcIyt+3olWhoYjv5XIG8lq4J50PHl78OrzMIHe9/P3w+PB9d7Y1lSsxevuCHPm9h SbUridPqSBk+XCigBn71wZ5jpRnqnSHBFX5i0tXKcYoKPylxI13P3oWV/qMXE3y2MyhE1vcc l2Qlya+lMt32NxtPxXSvMOPoNcTRfNPKDdda5Jz6ngNxeNY/J04ALD3YglmIP/bpaGNt6K3c 4AY2lMlYwerx+Sfqx/0BfT6b9Z8OjTngEGiDgyhZY6ys2tyQxc5TVOdwfZezUeB/85RJ52BJ 39iTlgl8DmKTYfi3ZaAuOhnv5H5I1uJTmAVVm/cz44ea4aEhAV9JWh864cgbfIGOHeYt+PZW 1uV+qhfqJULx0RODfrxrXcdbIIAkIFe2OJN4KewBSMiBl1N+pmcn/Jt8B+8SgCqtIZhC3A6P r2fF6+F/vh6eH/6ZvT3cP0VZqau9aB58H9CPtEu5wU8rsMxiJ8DjN+QnMIoy3SXuMfqADBcK HkhOlHPGU5CrhsWvxEhM7Hy4l6v/d3pknUNENGFlyRkA676C2Jw9QnLaCcaGh6PgpyNNwHv6 Sd6cI/ckM59SmZl9fH38T/RUDdA8G2Lx6MZcSyPnmzRY8/GNGtUtwvioEP1CSaqLbKnltl3P pwA/x4DlzjlM8M8pHeBFeQ4ezNf3tKiplwUxoshW8eoDyIRVO0fRjW8p+J3DiLbjUO0+jIk/ zQVXXC91U/fK+/bH/evhYxAFkHuXYjF9OPe5Jj6+h6xnFAufblt8fDqEQQbKCqYA0yEuxlbm hIf1O1XGLyjdeouvbz35s3+Bt5gdjg8//juoimWRNUV/spQY7tP20oGryv88g5ILTVeGPZjV gXfHIdwxHvErxGP9xgmm+4DKpMfI6sXVRYmdWkE+twQcjrGST2nDqZxNuQuEGUUnFgiExJ2K AN0Jm6nc2p3MiNEA+XUYwtyJRuedbu0hVPuvWfs4eOIhjwsnbLOI92M2uRvUq5K7b0TH1yHk JiVNaertiYMwE7Zv3eLd47Ah7+mCFpTeke7cfzxgwRdgh9nDy/Px9eXpyX+M9eXLy+sxEnTs v+Q8+QYgHHffTk6IygmHq9465Ie3x9+ft2AicP9Z9gL/MKd94x3yrbPH46o1TPzj5e0YEB8Y +hMKf/745eXxOT4P9hL6B4MRv/vxc4GLw1NF2z2OPe309tfj8eEPmpxQSrbYG7HZyvIojuye GxEbdt/Yd08lwwlUxSzDtDAIqNzvlT4FWoMxLAXdIqy5ff/+gm4uLrkkI90qb+tFzE2s/hGo Go6RiyD16AZaa8TPV5fjcSwkOuplYyFbH7boETrN1LvW7lr3SIUk/bQesJLXS0E2g05Iccow bNVUmK6H5dMehpWiejxcIUVt5uMJ/43e/ZfHj0LOjBeYkZQEDHn/847YSJl2R4wj/vxDeAnh jCWvr84cWO8cSvBezXnjvSkWPd3878PD1+P9b08H9/c/Zq5pdHyb/TTjn78+3SeefiHqorL4 7G9YEn7EjaMOyWRaqPT1LsP7TjHJwUqYSJVwDyzQTBV0bdzddJv5V01CRiXump80vD4c/3p5 /RPDSaK0AQHtmlMGsKlF9JAFf4NEM9rf2JLMlIrkgQ/8dnE0XYlDqGkWLT4ryvbTOL6OTQdK fhHsExgrMlqfgDn4pQBlsDzfBkul/GdW+P0w3U9T+MEPZhV563qZVL0EkFQdfmrufrf5KlPJ ZjjsKqtTmyGCZpqG47mEmihieuBS45ciVUO9gPEYrW3qmicfhmGzQa7FxAcUfuLG0vk4Qpu8 X3cSpZDNOdhAGU0D3lzLJt7DIoybCaZ66icLuQ7upGp8gBDlxLbRPOybdW2O6C97pBjnF1hw ns5FbUyGbKb64fgEeAOT2uswNNt+AwOhID34apzWTtwd/rk86QTBrBNO1ixCZ9Qn9j389t3D 198eH97Fq1f5eyOoJi7I3zxWps2800h88FBMKBQg+c9B0Vq0OaOrD3j6+Tnpmp8Vr/lZ+UIa KqHoTr+fPiF+CdZZ+Zx/Wxbn3xDG+VgaKTod3HG++9B2uqPjzp7YjRBkhB3dKYy1czI+c+Da BV3YlLV7xUezzzER4VNWqAd+cwHnLhR+2uQK/WcQHYum4YYv5225/dZ+Dg3iN/q5I9wK/rUh 7FRNNgNRs5UFpSuZMaKgNbtfSK32LqIFD1upqQ4lIPvPZaa8WJ5lkx7OZBPeT+c0N4Hd9OGZ pbP28mpih4UW+ZKKrf23SGgBTfQKuxsiF9uUrG4/XFxd/kpXqXlWczqmKMuMfpDILCvpO9xd vaeXYor+nlSt5NT281Ju1cT7TcE5xzO9px+uIj9Gf6RhOHJGfcKa1/gthJH416JC3i7g+hi+ GNiQi0nF641PR2n24x9Y4BMJFdBZino97e4qNRFm4Anric9uVoYWeMcVRymkUpMY5XVbQZQJ 7uocVp0ZOsrq/pSEU2Yt6L8lFeB4ZaesqAsFdpjQ79v4o/nFr2WSU8yOh7dj8vmJo2Btl5yW IKcyWoInl/9L2JNsN44j+Ss+zas61LRIaqEOfYBISkKaWxKURPvC50p7Ov3GuTzb1Z319x0B gCQABqxDVlkRQQAEgUDsKHnr8a8dWdGw1PcWnrW5o5cz28PrND4Wse9vE5pLgJSTsUIlCFJC /YU3Wa5Sfqeh7Q+4O2gDRM53M6SauOGp709Pj2837z9u/ny6efqO6uojqqo3wN0lwaSiDhDU dGQeGBZHVDUADTPDhQOU5qX7W577ZfEtzR8Txmk5KsnqY+8r+lXu6bmvBRwhHnO3lMn3NI46 EwdeguWkdIiPBh0wiDpzCjHIRZidkQcQrWBVRwzA1hST6e/fz1+eblLbUidr8D1/0eCbynUb nFSJADd62ALDImuPRmUV6Lgt6r015AEG++ZUknWPWlamDHP7DNtqo7rZ86aQblhZnGjC7y99 XjGrBGnWgXQ4PmAMaqRVKb/jC40jJAn6PcvznTfbL4ezRtadoQwfxrtj4kna8LNHpNAE2bnx SFyKAO2euhk4corqTC8wcSeMXBuPMVFXBqtPOnuIMn+YVGh991SpQ/T5lGNNyx3PecvNvK0m O1iGHfW752Z1KQ0TZszJCCvmwEswAxWFZdjUnZg17ND4KCtyplh8am+Hz8OKkYbyocTA6Id6 lJvGsjjB/0qZWkyfvC11KFV7c6VVe7RGtZ6KlIC9rXafpuEBQOf4WzD0zFglGwBmvTH8dsxB AMGQl5xRtiM3hEdll9tqlg/Q15YZcIDCPuKMZtPTg7BZ9/RJadCIkywz9yHZwZMzNeBZF8eb 7Zp49YEiCGMjA8WyeUmDl9yFoDwIdsjGUnX164/3H19+vJjehrLWEVRK2jgXmeFlkbDi+e2L sbqGrZuVsGUFnEUiys+L0My5TlfhquvT2oqcmYD2ljIR1r4CJlXcufUT+a7oGRkBWx9Z2dp1 V8YURtC6PHGFB3SpJVSVq5bvi1ktHQncdJ6sKp6IbRSKpccvAvs2rwRmhGJwgoeTHYEZ5GbQ VZ2KLUggLDf2Dxd5uF0sItvVg7CQimAcvlULJKuV6fjRiN0x2GwIuOx8uzD8CMciWUer0Dov RbCOaTXqrM9CFUZNL3kZ0X+i9JWT2Glpvt8Ltl3Gxghz1rYc/YVJHU2O0um7NsznKh7dd62V 2In+gb5phWWJT0LcbDMxMsvgfCnmXlAFB+UxNPbmBFzNgCpScQYGWXIdb1bmSDRmGyUdxRZG dNct18RzPG37eHusM0GZo5PdJlg41YIUzHFxGUDYhQKkCDQ4jfylffr18HbDv7+9v/71TVaB 0iEe768P399wrm5enr8/3TwCR3n+iX+ap1WL3vEPVi9yGod1oOWDoTxWWwY0uevNILcRBP8I BgHwtqOsEXr9notk5JD8+/vTyw2ccDf/c/P69CIr3b/ZDHMiwXNZiasDTiQg2M/B56omoFND R3Ri+5DJw+sj1Y2X/sfPMRlevMMb3BRTcO5vSSWK313ZG8c3NjcsreRoBxF3uYxSpvUWQLL9 aZAJq9pTwgvIfNpNRXXg7l435GZCADfx2Zt4OkpSArV+ddjN9zcieyfYSsJST7FFidQmEKLz /cmuhaN+KwXzkP0TzngHk1eHg6rdoj5plmU3QbRd3vy2f359usC/3+ejBg0jQxXa6EdD+upo z9aI8FmsJoJKUJIZaMuwpyoMfpcf2s5vYwnmHYBaJbJdS6XSQLdaxrf8q7NjeFeVqc8kKsUG +vz9fGI5KO5+21GbMU8WOUvOvkzrc+fNwWaJyLzmYvhLVH6tHC1CfityJevnlm0Df3heCIRQ 32cEtd4H789ywmUFcs/gzpmnfCzmMfHKu3jK3FfuFwR65yF1MKAVZDo7nMid9BnOmec//0IO rMMk2OuXr8/vT1+wrMc8ZgKGjbVazEPfCjLBFwclPq2aPkpsSfIMYkBGG3jau/pYkYlhRnss ZbUTy6NBMh0Et9WVBg6ZU9WxDaLA51seHspZ0nDo5GhxrJwDj6dkT+vRNqucSP+s5B7bnjqH W5I1m40W7N5uNCvZ+FmuPWuHyBdpHARB71uKNS6oyGPcL9K+O+w84Z8aqWtKJWSxcGNYwFPK ljNyFcGypuH4xpXFG1mb+zwROa1NIMLzCoDxfShvNNc4tlNTNVTQmGQL8wg/4HHUuWq0qMrC 2/tpt6TdGrukQFsNzT92ZUfPUeJbmC0/VGXkbYyeDJX54wr+5oNXliq8cKISTIyHfFOqn0nY mZu1J0zUMcsFt0UtBepbemmMaPrVRzT9DSb0mSqzbY4MhKvK3s78yn5JsNpkabn2DhmWyiDZ gCEX9lhfmz7wr/KO1Oa8KoYk53RS6/SUNklPHeUhbVwVpzL1JHcY7WHKZWapl7ssvDr27F5f njFNsoT0ZY33NJVwMBRoeHZ3DdFSx+wC1qHHSnXuSNes0dTRGtCxDsjESfOBE7tklqh55FfX ylDfZHpzuh8EG6YB+TNzf/fHixlozQ876wegnVwfAJ49sSxwPhDDQLBZ2kqdIrNmEexreLnw hCkAwvPMvggWlG5hzmMcrjpr4X0qrnzggjXnzK53XZwLn5+wQJmR9TuPe+/Wk2Yubu+oaFNz GDAGVlbW2Iu8W/Yel6fEobLgw64+xIrLh+j95cpoedLYC/ZWxPHSc5URoFY0+1Yo6JGW/2/F PbTauRH79HiqGfcokzD+tKbzpQHZhUvAXtnOxV1ja9nwO1h4PvM+Y3l5RVItGQiPduqhBtHy ioijmDR1mm1mWHO1si0+5f4K14+j7cI+LMLb61NdnnnKrVNNXQzkiKfzB6tbJ0Po2PskU0wE 9XFMFVusQ9YtNgsyNywBssG7DJ2Ce35Fd/mcVwc7nfVzzqKuo6Wnz7lXGvuce1YIdNZlZe99 joxuNEcIej0ma1pjTNgG+D66FOhGNf7EPHLeZ2gRzmxPuFdTXD1vMSmozSwJgnnCoeIg2nri tBDVVjTfbeJgvb02iDITzDGnDLjU+qrNerG8sqUajPRpyMYEK0AMso3w8gS8ugVEZiZCmgie 28nmItmGiyi40hy3FCv4ufVUhwBUsL3yxqLKQT2Hf9auEp5AC4CjGz65Zg4QhZ2MkNU88dWw QNptEHh0FUQur3FCUSVoC+paeppbeVBY79cW0lh39dOd7Cu2WF3fFZnHj4rLw1OZKsEQqdLD 6zl1pYYxiDY7nlqLiyrIlafsJzAlF45/5jF5tY6Jb97e2Wb/8LNvjtxTSxyxZ6zcwVvKimo0 e+H3jmdcQfrLyrdgRoLo2jEu7sqqBnXXUnIuSd/lBx/f26cp/ZlAzPBwWhmUt3OLq0yyg0ql QquvH+8kvU3n5fHO5y5Q0hgKU9vtymOfr3NPCkdd03BBa43oqVThdjOjN6JAc6VnE5G3oBl5 jFiIrrMDE563R3zT5nGwoqd2wtMyKOJhYW9iz1mOePjnU8oRzesjzSUuDu8egvj6S0qZHpF8 MpYW6tykcO3RPlCPH6TmAnblE97sRgszAt9EGcYrAjsYQAiUU5zTRTVwuFmss0IvJr0WGy6K FRWiYDY6aWwUMgPp1DunDdOWDgo3CjEU0syrNhGmY92Etx76+7vUlFFMlLSvZqU0GSnnuwzX vLk8Y8Tlb/OUu98xrPPt6enm/etANXkCpuXoc+YUHRqOad53+sRbcer9uVnAxgSnjzguUqtH 7ZP9+de7193Iy/rkpH7gneV5Ru4ghdzvsQpTbkVbKQy6jFSCqQVWJf9urcg3hVHXo2qMHO7p 7en1Bas3PeO1Tv/34ISb6cfQvecLrFYkn6o7h8BCZ2ensMYAdva5MYWziFHrydvsblexxnIg DDDgNpRSZaDr1SqOp8lxMFsK097uUgL+uQ0WZpiNgQiDNYVIdfB8s45XBDq/pTs61KZfywLL dZDRU9EmbL0MqPgSkyReBjH5uFowtM1iHHERRyG9vSyaKPpoFLCpN9GKmvoiEfTY6iYIKc1h pCizi1UBa0Rg/gOaheiGtd7zUctDof3ZxWdTI211YRfzlsgJdSrpb4xZyEvPZ4xgXV75EG0R 9m11So50eu5I13nWMnqIe9uuPuFYDQrLlQHsPNkABhfxcghgIEIX4JtsmhrWs5LlFS0QTDQR ZVKY0Cknm06qHekbGwkO+9A4KydwYxvhLERPJqFPJCcsHVuYsZQjTkoSLGnJtgVPswsvUzKn YqRqC7P03dSytF95ESj7+ZFhFJIjuuA1hZ5o5JGoYAdp9f2YSpaHqhrKDm/T7JxrGycs3png CZ2YZufC00+eFNyR6P6YlcfTh+si3W3p78+KLPEERUyDODW76tCwPb2jplUrVgtPRsxIg0cv XfVgJOlq8wIlCwziBfkaEueRS4yvn9/CaoUTMCAbqYVsxmewUztf5np6CgQoAuRpAlQ/8sYN zVy4WdVfweK4LuJF11clcKi58MHSTbCkjNgajRoE8j3Zvdv2rmCBGXar5ZmoW0x1F13+Byfc Zr2N0KbSckpCGenibbgahz1Hbje6jRk2CaJNHPX1pXGrP2qCAs76+bhZzZyEZYQe6pDNX0NK HLssq30ZqhNVmmHp84/ILlzeotbv2tJXmUB9i5yJGZFDwmVaSmtWKBtlReAbpUbPsF37aUsC tVzV60uInDHJCm4FXRNOUdxljhamwEkRLLbz9vAuwunDeRtta7FehUHs/8asq0NY9bVtp1a4 k/yft/E62cerzdJtsb4U+otTmDOHE9RFNLfxYoVjJNawXBtNhXcuoHuqSuftpmy7WIW+nYvY daSw3ne5gMgZ4OafjTmZK0Ys7fJo2XnAOkR5xj8UUpAXxSkaXgjo7zRfAiyyHNwW2I6I1g2l GZOsNIe/dmw2YaJKNOPp4URm1KQ153AN60JxDv9GknTr1UDnaWi9+aChpuBLJ/Zcguy8K4TY WVcSUuwcyH4RzSEyu6dy4GGqI8td+sA6njTMc9G6REa09U0jKcONQq1Wg2J9fHh9/A9WOuP/ qG7QCGAl2lhjJ3KfHAr5s+fxYhm6QPivnRSlwEkbh8kmsPyeClOzBsR/4g00OuG1mPWS852C Oo017EJOlMLqIEJ40t+dCAv74mX1ZJP0xDBYTQ9DacFkNydnKlE8sydsgPSlAOWfgOdLApgV p2BxGxCYPQgdwbAMkq8Prw9f3rEqnJtu1bbWLj376khtgde3d4aOqYth+4D6appwtbanieV4 FY7KdG3oIgNldV/5/PP9QdDanUxbBNWkpCOpRlW5JR0jaXZ27iwDyK1z34mK4396fX54mccA 63eTNwMkJrvXiDi086NGIPRUNxiDhnfIjWkvBJ3KxXMnU6L2qK+Rl5MbRIkKC/cMwrzg0uo1 4TRCR30RmLKRzm/jugwT2+ClckU2kpAvNNwx6N3WAyGTJVv7s9fbbk2T8DgQzYnws5LxDdow jimR3SSy7ys0MYV9tY6FqjpPvociqvbjjYezhVn++P4HNgIQuUJlZPvbvK6lbgpE+MjrGTZJ PP5hRYLTnnNS+tQU9gFsAI316Lb6ybPHNVokSdl53GgDRbDmYuOxFGkiWIW7rEl9nllNpU+P Ty07XFtjmvQaGd93684TJ6VJMFrnWjMdB7EeBGxxlRKOsY/QTU3LIBoNmwYW87U+EgwDwBu5 U37gSZVXlG1I02KxAOtGGgOetE2OPNq9DgFA6K8qW5q9S5Sv/G/tcxrotJLkg3wZXhcc5KEy 9SXDHC/EtSXDaXVumHWoNNF2TYltrK4xd8JwBoqqvLMrrhYX5it2IKusSvGDaLtO4k20/uWY 7kuRDJDpVWoy8gje/qDuk3HK5bcJ/KsLB8DFPLlZwYm2hycsCXwAgqDuelBNFAdI6eSSmPjy dK5oHRapStNSgwCiJ18PSUNHBiDuDDOCV090lJgxvm4bRfe1mczrYlxlb4b3WbPaLE/ca5dN ocZNP9AY4Cb5nVNTe4DJUshkeyNFZcUQK/9ZmBCex3B+fQV+K+oyh+mRXhr28aouQ+EME11P 1YHhfRWWNxKAxakbROHir5f3558vT79AGMYhJl+ff5LjBLa5UyI9NJnnWWleWa8bdTbVBFUd OuC8TZbRYj1H1AnbrpaBD/HL0n4HFC+RV3omDClgRu0WZdHQ4cF5Z0XeJbV9FRaidBEYT+lx pABl+TSmauOcspd//Xh9fv/67c2Z0RyL1LduDwiuEyolZMIys/1Rq8XMZidHuk5uYDwA95fn djrnwSpaeTsH7DqyJ0sCu2j2GkW6WXlKQCo0JpZ5OuKxbbyWMJFQATAKVTjrvua8W9qg2VUJ BrAXy63p+ZXfkYPquZ0D19FiBtuuO3e4Z+65r1LhgCfOeIS8rGmmSskukoKbn/zt77f3p283 f2I9GkV/89s3+MIvf988ffvz6fHx6fHmH5rqD5CEv8C2/t391gmyKs8xqTaI4IdSZubbYquD pC4+d0hE7jut3bbIICKHaMfuQL/lzqbNDuFitpmyIjvT8hxiP3j5anBFm4sqYebLmpiOzQBu ijyCm9uIdG7IVVS4VegBqsTa2UrJfr0/vX4HtQZo/qE2+MPjw893/8ZOeYXRPqeQ9HEgQV46 e2NW2scA9jmaxmavV+2qdn+6v+8r4SmshmQtQ5/2mZIRJZqXd9rxKd+iev+qTif9psaqt3eJ 9pXPSr1qiZAlO2fj5tbdOCNIV/OYr2esx+HNXJlIkEdfIaFvFxC2jCtq4kIMA6eqKw7ThCJQ 8fCGayCZ+PwsVAcfVKqZ2xXruPy/tyA/IuHA2jEn/lzfa5Y1e/JKLMRPGa3Wuw1b2oFfHDuL gmGBIdswo+GFLbhLcE5W2EeUK+cjLC82iz7PKX8toqXSx3d2zwi0BHUEVmr5uu0DOwh96veI 9jA/JMCEAJ1hZEBBr4/hPFqEbnctiAg53+9Rc/a02OlEDhMkeY0Nu78rPxd1f/gspuJVuNCG Eld6xTnrC/5ZQqccU56tw27hDnV2Mow4s8zbUdg/LBFYmfYFN69OGeQfCX55xiI5JkfEJlA0 phRE+7Jo+Dnfg0q0qsXQNHFRCzwGnwAzRm9nt30YyByLO3v09JFI89xrZO5pNo7yX1jR8eH9 x+tcPGxreIcfX/7fRejoTx33jbGI3nrJRhjow+PjMwaHwsEkW337X+tihrbug1UcqyutPGtz Jo8PNQU1opcVX82rfHhpqRcGPYrx+1OZOFZkbAn+oruwEIpXz4Y0DIWJaBNam2/EoLuXShka CewyCwO4SOowEov4gycFzLlpth7hXbAyK4iNTcoIh3Axx0h3MDWKQb6iF5wmSo5Z09ydeUZl a46d422ae56ZJToH3CzteOy+qbrWV8Zs6J2VZVXm7JbiHSNRljK8I+923jmcRuessRz14wKT efLYNDW4PLtwsTs15LXrw6c4lQ0X2XCr0bDKYHtah0i1dxRmqV7bF63qh7A8n83/1dIknsdr YoQD0wvcgcrozsVkCnj69uP175tvDz9/gvYgmclMypLPbZZwVrmHrhq7lCuImVHYIq2d+YDj m9W7WTvoTPG1sm/xfwvbi2q+JekTsOgaVwSQYO6puy2R+V3Zye/pa7TYxWth3hCkoMDozEtx hy+U2FY0CT538YqueS7RHk2gBqb9h/5m6NV2vpvdxn4T0K4aNQFtvHGHagZZDZAoCMZFg8qo 7PLp1084JahOdWS3/81YWlKCl7FGF9TKDbvZFGo47hZfg9KGFLnfSUPdKpgah/E33llra56E sVyOahvt06sz0vD7iqxUouK40u1qExSXs7tXZPyNC7TUNgn6xMr7vm1zB5zX0XYZzYDxZrVe kTOJp4b/qxWC04KLmpUPYqP1tIn1ahFTQfATPrQj4CdEvP7gewB+G7hLRoPDWXsqJMk/UMST d5sP2O12+U/j6rlr395r91Lfvo07d3GO5VXdXWAers7HgeO1osQrvaLdXS2vPMQEwGA9x2QK ZdrnVbRYmkRhMN+FokrZGYOp59ECNTE/ztESrJfUaoyCLVmGy+ASgTs/SRTFsbsQai4q0TjA rmHBUoY0qQQcsfOO8zKGkQR//OdZW11nWtAlGO4+wGyNyvikEyYV4dIugmDjYkqDNUmCS0E/ TWoCerji5eHfT/ZIldED6wIV1jgVXKhQEBeMI1ysfIjYi8BUtxTrpztDn2gCKifFbmXtaT6M aIQj6FrPkInuNkXkfzjqE48/2aajzz+TZrOmuIxFYS5mGxF43jtbLH1jj7NgQ8vYGETbszN5 4abENZl1m7cBnHQiAueKXS4O/2wZ6ZAzSfM2+S9lz9LkNs7jX/Fx97D16WFJ9m7loKetaclS RMl256LqSZxMV3XS2c6k6su/X4CULD5ATfaQhwGQhEiQBEgQ8PZqbGQZ/XuV3JUwK06AGtUV f0J1Oea0407I1nbY0LbVo8mlgFsP9tosFoTKKjiptnGWYhoZmON0VFDhpD4XnwddON3inJN1 0QlMEKOfk84BzzRg5KCfkBNLYLv0u/02UE4WZ5yQ35XCuhwrcM+EV/kBLIWzTzXGEkvc22Pc HXAMEkq4RZgvjqUqTd57kRaORWd11tCWK93J79vScYje7cZigA3+EA/ynepcJwyqGzlbh+Jo wlH7hEIidmmtD0rWYmETwcVIDXo+o1Bd9OhVQybZUQcYM4Fqs96LgcYYBi7VaJb3PLsC/5Zt GFA6o8Q7f89hNgCjt3UDoh84Yu/QCC+IKJYQFZHXpBIFKMBEraxO/C1ZqVCJyUgpConnRqaY cOkRS+OWmESzwyfVbtfDnKW+ZQ6qJv8cz6q/ngBOVyNHNWqDcMR7+huMUcpDdIp9n5T9cBi6 QVlmdSSlEtyJssh3JTmW4Ft3S1aLGHpHXkhq1yFfsqoUAV0/oig5VSn2FNOA8F0Ssfe2VPKA rI+urgXh697mC2rr2pzuZBr6nZtCE9Ke5BIFmfOAIwICwVKwPIkeeNhhvFAC7jo0oohrNzia e9mSdqGtclZTN6ILMxhRhSzMXW3XivbXlviKjCmHsQvYFR9tNJTlVQWrhs0HdCISb3PoR/Yz URk8gP2ZEB0VuaAhF1Tr/MjIK+h3vgtR4EcBeaM5UcyP4GL5Fey9OEuPdWbCD1Xg7lhNIjyH 1RS/B1CjbU7Dd4o1gRUHZfHJbPVYHkPXJ8auhBLaWrl0eeAQJfASeZJZgz88hlvh749UfW8i oCDjnetRglWVpzw+5ASC7xXEBOSIPVVVn8IWSsg0IjyXrmrreQS/HGFpfOuF5IwTqLUlGRUE 1yUYRETohORizXEudVmjUKjZ3GXUnlaIJBIfVLA1mcNEJJbZz1H+P3AXhpRMcASVhoYj9pGl OWB2v74z1Gnra3ujQdOnoSWl5rIBpFaP9GnA65AOYbEQRGt5eADtk4JUR/RBu0SwNgUBvSMk t95RcwbsKRJKyX4tH8AvUHIugjZAf9t+TVcCdOD5pFLEUdv1URU0lK54X4i4fzU5fxG1tVgP M82pT8VBVMl6i9P8RJj2MCWJrkVEROkVgAADlJgniNg7hALJT/730nLS1pqj/kRHg1GV8yJy zcH0WmlRtGtbZtn5gUcvClXtBU64pl/yNZyUUrCzdq59IXRIj3yJxHMiagsQC8fOVrG/3ZJB LyWSXbgjl1iwebZg49peZdyJAj+M1tbJIc32Dq3LIcqzvv4RNB+q0P5AaJKDS42awwoP7NhT 2ySAKYUXwP6/KX4Bka7tg4vrqqko1rkb+WurWw662tYhF05AeWCdrHYC0IQXz1llr2bpNqpJ 0Z5x+/XxFmSJv1/7Etb3jBRW0KbDkDI9stT1dtnOJSZODBq6Qw0eIKKdR5eIdhFlykEX7eiZ XZ5i2nFEJlCDjEsY3/vHXTla35T7Y52St113grp1qUWUw0mh4RjqQEgi2DpENyGcmhYY1TNt B9rmA2S4C2OKkXPveuTN20Kw83xyWC47P4r8dSMIaXau7Y3mQrN316xGTuERxhBHEPsdh5NT XWBwRdKfRlCkFSze/dp+JGjC04HkIfSiY2HD5CSKnz+TjBtXrpR7vKlQ4vMZ20nrnah/cFz5 tIRrG3FlANB1vDvkJ3y/PV0EoCkeP441k1NSz+TcACQ7eaZoaI/oGX3pSh51Z+y70pK2bSbN 8iIeqn48NGdY5PIWQ7ZYAuoSJYq47ETi298uwvMf8zhPRNdSBaY7pKpq0rhv1JuEifz/wYr1 Owk69E4eJxdlAr18CY1fYVy4LU7EBBdZfi66/P2aRA1V3Cup6GY/C7MQj6fimXDhDcDZTKtY XgIFBoOOZD1sBw0rjKeHKon9UwTd+yHuHmTKd7+kmQg0/ta5ouPn21cqBsBEYH4Cn6hzp2ip HESh8B95wzfBS8X34jyaPPoOj7g9YGYu2g9Muk8jarnEfXrMGtLvHmMFN4yViRI7QA7TxknS EkPNyqTLerXgLQ2wrGz04gRag5ZVftJgUxpI9colSeuYqBnBGpHgIS0t1He8/HULgpFpFDh+ 4osqOrOMgdHTml5RFUL6DY8gmdKqLk8dP//89hE9lOdgsIbQ1kVmzBoOA42avPBBJHXvyeHM j0iNY0Zq3sM1F8k2CMhI87xQ3Hu7yCFZFMHRiipH335beU5zrFL5HBYR0F/B3pF9jzjUdEXj tfBbTQqmhhPiHXcPYGkC9QewMoqO4CRTLG9b1R7ElZN8ZnXHyl50WON0eq685pDgBJccYxMH sXRTRSznWRPaJTVvjlS8/BCCB+pXfbgmoP6OSEaV5AMwpDiWIajbvJOWWsHQHNuYlami2iMU KmorSpPFuuT9Y35oJ1dQtanubythmJpIcdm0kDeyA1WSMbn2l98iTI8aoZUMNwpNOgSRGtlE hc/O3MpISGj6wc9ChD6Wat3ctzOtm0ztT0Q9wIZnHRARdtHRywgwfRh6x4eWoCdcrPBKPiBP Sye09vhgge5CCrr3DclF+G5rnznCX2GFBXSKMdrCiI1EUwCmbFWO7UOfKJOfCs9NyFvE/MN1 jmynrnEItH7PuWzzjj9wsjCCUQn1Ktu0CGB5oc5+eRHTV5OD+8Dx7T3bpUEf7Kx1PuycnVHj KehDy9064hku3NbkX0hQbqPwatDIFHWgvg6/Aw1lQCV5eNyBsFIXMaIGOQZGnFwDR0/WHicY JMjYfCdwY8k6xCvv69b6PZorGsL6coxr3w9Ae2ZprG/Wuiu3gKHfjd4tPb5tHKxstXFVxxZb s2Wh6wSWZLzcVcWltiuBirSdaXb3pqB7h4AKJxf1WwC+20b0Gez8sdAL5N4v4YMwIBvcEdBd SH2I4l4uQT0aaipFdwyxUwMOVmqfPsjrL9XW8R37FAICzC+1Nn8uletFvibaXIRqP/CN9ZcO DCUTCF9/o1y9MheNxy6yJimeR2jqpQCaXTkjDOUtZduo8rY6W5c6cB3bGoBIfWy5i78hjBxq 2ykAuXXManxzAZ6cMO1a2URgfJ04I6NgZhfdHyncm+64Y3drF6MuP+BZBXkF16XGCgigOqYe 8VSlnJu5S+fww2oIU0wieEdR6liHW9FMIJ14IDwk4X+cUwkuN4WxpNbbYvHpsbGVBqOjXS9e p/n4kGQkW9e6pSrmHXMuU0vKE55XhjsOa8+AuWF7eHv6/tfzR+IVcnxQVA/4idFayCY4jkzm xTGye84ECLcqSMvEg6B7ukYJJvLGyQB8VqzBznqpvCigd9S4waghH3rpxON8iDFMkQFAvQ5U g4G9c6Xwm4hkl7LHh6wNdYSQyc8h4MdYlxhZgCkrNsIz6I/hOtujZPdyMu4kaXHkkglASaoK dLimmRofajbFIVL5Q3iRkKgiwXByxAHkgmzOecfPPd+BMiOjqybORpDAbCzKrlbDNSC+77V+ OuT1yE+BLDzacGetHrADeQaV+0vD27ePr59ub5vXt81ft5fv8D8MbCOd3mApEfYqcvgjEaV/ RZiVyiWvuGeC07UdezDG97uryk0XZ7necwLGD5XbXvsamCIgczoPAgpsWKVgokhLKoKpRLA0 ShU/xF0vBKpgxooBZunmP+Kfn55fN+lr+/b68fbjx+vbf2LckM/PX36+PeERmdqrUC1as/No ZM8/vr88/drk3748f7sZBXWORtIvcUGObZeP5/xwj2sF4E31/Ofb09uvzdvrz7+hEWmYYaYZ rszsCEp23Fv9/hG/Pq1OzXDOYyku+ASYjhEDEjzferzzaXRdD6pYzGh8jmEE0eFCuHcpzYhP kENe61PmciiuehUCCvM6tVxJ8Vlax4HFoQHRQ0beceCQySfPfF08xAdP1ncQmJZdN7Dxfa53 QJfGHYZtOWZyhA/EvL9WKiBp0iMzPk6EqQQht/DXTnkTFEFtn77dXn7ooslJx+qc0WKzkLCy bkkFeCEpMfLrA/yz92WPR4ngdGoqDDnnRPsPaUyR/JGBidI7kVPnTuDoXTqxIjIhjVW2d7Yk RQXIwzaIfArZYGiCPk+PYK/ikdCeZAT+jkFRKtPxfL66TuH42xPNThezNsFQEDzuzD0pyBrn LMz9Y0z2kUQS+n84V4f8BolqF8d0L+XlQzNu/cu5cA+6CE0kXJWr3ruO27nsSrqsGNTM2fq9 W+Wyw4IsJpg5owR9vY+i3f6siXNXZoecKnfHKDJbzunfNsnb86cvN0N8RQomaC4+XfXskrJe MdQJV3eyOFVbR8k30z3wOY2hy49li140WXvFo+NDPia7wDn7Y3HR1jTYM9v+5G9DYyxwhxzB og31OQEbMfwpd8rpoECUe8cz1jQEe2SUf66DNOxYJrGwRaMw0kuD6d8X7ZY8sZh3/jg7R4Gr jesdoRrGWpkxzW0b3LLSqbqeAK8UjLu0PWhr57FkJfyV1No41ldmAIpEBWFcKkWlnQCTWpto iXoFDha1vedR+9FS2vF2/vverLfL27jVXhFOKJgeAfn2XyKI/ECTSRFOX/uqrND1NFd2xuIf sXM1GasPsSlflPOL2HC0JZLF55iex7C45qeeq9jj+6EUdo3SDAZzMSMk84ldvD19vW3+/Pn5 M8Zt0zMTFEqYlFkT53o5wTeYAWmNWQ0lNgF2avqyeFRAmXy4CL/5w9Zzzu72poJN4U9RVlWX pyYibdpH4Ck2ECUmG0sqNdbphOvA9GjLa16hB9uYPJLR04GOPTK6ZUSQLSPC1nLbNWCb5rCm 9fhzONVx2+Z4mpTTr0fwu5suLw8nWC/BqKW8PGcuGzk+FXZxXsAGCbXLt/DcUEuHROMZlmkR JEhuuY7xyienBBRHTNIkpTJQYLKyVG76suI9gnnZ5h1HEb2/5niyxuU4DhlX65QK29rTe7f2 YKyKZsToZs3pBENm69T0EZQHz5a0Gghs4doRBXsIjASlz3OhY70+7NC7ZN5NRIHIq3Nlq2ao wQE7UEFbACHnrpQG0820S1qsVjsTuYP0a+YFYXsqvlDQItCV51irEUH6aaOBt2d6ninu7dmo ymhrHVFcjm24Kt85QUSdq2JB9YRphtzdPHS4chDKp5EaiuMOgk0MQ1qXQ21MPIHG1HnvB/qo dCGzjNGE1bm5nycovSsOFNZGSFCQI2BQmT0T949if1QmEgf+86jGPZ2iEWWduiVE+LxXKsQc uPaVE0WcpjntuYo0JW214WQuLRP1lDewI5TqSDw8do3GoZ9ZskBi5U2TNQ19P4PoHnRaS2/0 oOcrTlp8gXswlk9LcbCca7GlK0uogIJ6Eddjfiad5hSadGC9nF0B6jjkWj69GTZW1n4Q+ANl dUhYV10Sp7tbGcLSoVBn5ZBp0zypoaZ+q7ylxDaIV+189Lt+ILsBZ2OOJlpT61+LAdw80oTC LRbT07NjnusbSjw044O7dyzlxLGB+r0MNgUn0vogku8O7/NwrNJMUsMW9xkAp1XM2HRrQDS+ 1CETUm0YwQGl5o0LwQXXXigfswWv+1ktmMUjg6iWv8kmJU5qut7tt+54qcj31wsdi8FmjykW 7pdxZvtZu9vJZqyGimiUcMuz9GHoOyQXHLUnMe0uCK50D1kDbCwk1A26NOAWj8mlhXPgOVHV UpwlWeg6lopBVbumJ0ozBr0LD2cl+UPtu6F1VN1crhpLOG3WDCdFAkTIXzCIjJuwoxw9DX4s kWL6Lj8demUJAbwth95wJM0trHGZRyLW2ffbR0w8hQUMRRrp4y2ewqlcxWk3XDVWBHAs6NcD nMA6ZziWkbHGOWoAc6fS20vy6qGkRhGRIuyrXiQ9lvCLiknEsU3H4rIzCvFrTVuZxxbUaaaX gYE5NDy6qvV7c7wFs3dWXuW0eyxHflBSo4phrZOy06TnUMgHKQiBclpOYg59zFXAJa76ptUq e+y0SzmElhgyXf98OrcYYv6IEzWiOwL7S3k6kqaqYPmEwYR7veUq1WJCcWCe6YBTc270FvE4 EsXa2v1c+7JlnRcEj0WlXe9weIl+v01BK6ecosGkVzmtonKCoepLPkqWtk+yiycCYN/NH1RQ CwYnzIGq6dQIzgtYkz65bN7HGElW/7YWc4SltoWlraBuPFZOjenQdiXsppZyMOd6Nd+wgPKz c1sZDGqiJkjm4D7PK8xLlhssQGVtNdCaOOK7mnIq4HKP9wRgwytieweuzWFWx13/R/OoNyyL fmkKJ8w8Rsds4dgjTIbaKHPsQFsWcRWt/Ay4X4wtaQPxWV+WU5Zrpdi1PNXUToy4D3nX4OfJ ZWaYXcA+PGawW6hWJe8w/vptPA50pi6+F1SteVGMgTDV/XTZCVkyapuhJtPm1jxXl7wC9J5C wNgdseqHRFpvEMDXjHdy2iNqn+cpmkqtaHNMyxFPvKp8OrxT8cZBJwIxP0KjEfKkwMeYjcdU bULu70E87yFGiFdxOoHWkuZgiV5mn5/5q+rnHx9vLy9P326vP3/wznr9jhfqWtfM7+xQayqZ xnb2eIrRZR2svUZWqng/9IfxcoRFoRLFFJYRmVRcl2O9LikSHWwEDO3YA4YOA4DZc0a3XQb5 edQMGdMkLixg9eUOFxvMX7WW14QXDaOr40yjo3zdFUXgmNLiigT5PxE018FznWO7SoQx9dzw qtNoFH7oGRI0FjAA0ADFPI+f4Lnr7BH8S+jB9T2qalbt3PWKu10chsE+WiU6XuKVxgGjvS6b oUwXDATyUJO1OI+4j7+4D9mkL08/flCPgPncSim9js9HkRBT//pLRjtjIa5XPfpFLDtYxP97 w/utb0ATzTefbt9v3z792Lx+27CUlZs/f/69SaoHnryTZZuvT7/mjBpPLz9eN3/eNt9ut0+3 T/+zwZwZck3H28v3zefXt83X17fb5vnb59e5JH5++fXpy/O3L2bCai4fWaq97QBoaXp3ykV4 Z2ddasgaR9BPE+/4Q5wdcmMF4ahswDedDRH8uX15+hu+7+vm8PLztqmeft3e5i+s+QjXMXz7 p5v0Fo8PXdmMzal61Ja5S+qbkHF6FamwxRGCY+tgc5rfZV0sPRum7z33iprCOPiZcB7BnGd0 t/DqfPr05fb3v7KfTy//BWvejffN5u32vz+f325idxAk8yaIiVhAvm48c8snfW7whmDHKNsj uvlZRpdT3fuBZNZ2GXEnwNTjD7D/MJbDBG8KbRNCpwKw/WMaCn1nQQzyPeW8kkbySc0CdCdq Y20GevE2VR9mgk6IDNkRM4ldYnB4+KBYlqqBscgSXZ8vCjwFMFmrqiRYqs/rMqQDqExYMjgl X0OzoVePIAQ/Z5bbRr0rG+VgVmgJh6ZXrUgO1ne9ycyHf6M09HXcHJJc7fzMZj7ybbTPSrDx dRWPH5FkMG5V/Gh8XMngnzN5t8eZ1ngGAQcF7lyCwS0iBMjMNZe4gw4xthqL36FQPTDoNN/1 ivLaD12uyzSernGfG6XKR6CkbD9e5wfeGVdP214HFL3EC9yrobMeGaiN8B8/cCg7RibZhnK4 LN5HYDKO0LcYozbna/BdYNu/fv14/vj0IpZ8Wttvj9L6fmpaobOleXlWmxGJUpRoW318PDe6 Dn4HitmePM5K85pWJl9M2He5aVmw35HqROi1QF7dm4SMYoB/Lx58Xd55BHbSH8bTUI/JUBR4 lOpJvX97e/7+1+0N+n/RnvXlYtY9h4y+kOPNdavoWU20KWDX2JPfhHF94Wwu6gjztfnGTq32 WGmGDpnI9qPVgYxogp8ApWhM3dAZbdie8t7zIuqVkNTz93x56iY51PXjijJclQkmam5Y2Wtf BFoDG6tEBxrmbCGps4rBiv8tmM7QDCc2FZpOU6NpoibJ6YtBher0O1Xlv0kEdnrCVpS4O20H Nj59IKVWmdvMhTtJAeMxMnuXFmNhm9kSjTGCEo6wTPrHNrdPNNjGuPltJRgqno+T5OsiS9eF 220q4HKUE28ipHS3O0dyQ6xl38P20rH8PSgUtaJuTWDTaXq5usGMMgOdpgEqUzYR+P0vlv0L i6wcA9yrxuL21RmxLDvSD+8Bd0mYYiRzZsqiRmuOLkFdQvNW6AAW9f8xdi3NjeO6en9+heus ZhZzjiX5uZiFLMm22npFlBxnNqpM2pN2dWKnHKdO9/31FyD1ICgoM1Vd3S0AokmKDxAEPmDi 5TkJMoxlRmj4BdK3klyuHCNqP8YdeMuPD8X0t+EMlNKBOFkQwUsfdFU3rFRExrvbfsJt3G0H AAxAIi40E3IcxKIIPYZiQLTIFHTidnr6ziCzNK+UiXDXAebqKOOAe/WfDJKmMPltYzYbRCPy RV49JJWjRwS13JzsNR2562NNswnupf2so0hrmryh52hV7yZE8lY5KoQJ6s3be4xtSTZB39iK t+O9TpTvu25h2XrUtaLSYCVFE85sMuU9IlVVvHjm2NxtdMeeLnrlSscCzhe74zpG9fCyXEc5 bolL6isu6QjVwPrgSK7K9mb33qrpQxfkUoZCKalKYDT+pN9GILNgAzV3Oj0cOiuz+e50yiYf 6Li9/gHirNc/2YL42zREhRRgEBcUtrcehsEe82sNJAPtum0AKKAVmLFR+ZLdhDgXbkHvO1ru lF/LJF/5mQyV7bueZU/EmALTqlqxDixq2Pr2YtwfHzUqjJgYWLGkHwtnSjFM1IBU+PdDbxWe i6AJvdeKyJsuLdYrSRXbS3fSkOuYdXNaTX/0fiMtPmnOrvDt2dIcVqFwrHXkWMv+zKtZhieV sSBJO+efL6fz91+sX+UxJd+sRrU7zwcmXOPcJ0a/dNd0vxpL2goPoLFRTRNYQxIxbLJX6yT0 5osVX+Xienp+7i+i9RVIf8A2dyMy7fPwuG3EUljHtymnBxGxbQDK0irQzzqEz3gAE76XlQMc 1yvCfVg8DDbks+WwkWnupGR3y647vd3QEPk+uqn+6z5tcrz9dXrBPPVPMmx09At28+3x+ny8 /apv0rQ7czcRGF3x913qubGRhpaXy1z47n8vBofBobBu9E9FZDyM/eP9DkL4OwFVKeHUxwCW p8otUrywE15eatq5ZDGuf0hnSsoLj2aoRwICOc8W1qIyIgqQJ/ULpiA/drtbyR7NdCjWOHui yaExvxfCAsQqSDYkKAVptb+m1GSSIKK/bCRERopuI1Yph0GD2/gxdXYXEXRWzBn1au9wYOoY BogoaZQh0SS3KFjFm5ibo52EVsV7LMczbBY1tS9GNMStKCtSWE2opdq+9dqc9k0/iIcE9PID fRse6pNU7xNUuRv6WpGrct2/bpaFov2qK0HcS6r2BcpDZ1itaQiFENHbxq0/mRgJ4FreTox5 iOgwxpZ5YUgtx9vCmu10DTGrQ371Rww+lLNnbJDzVLZoqp1XJUMp0qDCC4EXcszxmYKuwWPl hZwrBnIyP9+jT6BKKawxfDgjdAxSmssGAyIHNi0vFQ4tCZE5O69DUhKsWaxpGN/KS8OigblS 1zObi63EqVkjbWrTcr9KD5uSDCwVlW0+IzoaOVXUZP7cWDNXiEKh79s1PUyysveLTSLyPrEJ gOt7WTxdL++Xv26j7c+34/W3/ej54/h+43xctg9ZkPMrv2IhOldmDJbOxlG4MNG4W5PDYtZm Kdeqp20rsO3cs45TihXmQRToZ0Ykb32yLsJeKSME76k3LbqDVpGbFSmH11Mnm1qFqb4Kd0Sz NJ01lKNKyvR/kfL51jYs+A/sj2FmIDK3bJfVUFo2cV6sq5wujDvzdfklLGC1/aSmjYjE6eZT wftVlno7jCrUr6AKz0KEuHsd8WCbqfAWQul/WSTSPs/a2PzBzyjKfA1DwjFfReV5l7kSyoPr 7zbVle/qMYxyzHCDLgtpm7CzV3FKMomp3RY5xbZMfIQ2ZO9hYmEUlgXuHaWgA1/h5nW7jYrU NildWhmpVkWVr3dhFPVZW9LMhkp+U5btxZnXbxP8PR6P7Wo/CDuo5KRn8d5QXYnEflX0oI2E V1Zh5g2Qq7IITeBslSW8hjBflUWRcq6/teA68ofAxUO9U2pSnPd/LIv7WI6NwCoGNVMruUWt MD5dfIhpfzeCd7qJVF7fVpu4PJgVy/VNqO4h9A71VNipNpr2Ut03hbENIf249eRBRcEZ7sZG qhFhuqdMwgIL5wZ7dGh3gP6bDd4sGtJhZDDvY7VdEsTVmKErcjvaUrMw05Q4b5uncdDWQJic VHQfqq1by8rwzpH76i0ys/7lG2JEe1kjg5bA9VEjAd+hSI3yEF8Nb0JYFJ0YVng3Sbse5gqP duijBYoGSYq8RWA84CEgEeiPepdJSx3yGkXCu7y+Xs6gil+evqsI6v9drt81lKL2jV68EdK2 wifO2Zp4A5DL1buTavBX+xwRTh097w1l0ZyolDeArqkJeb4XzMezfyK2ZIEjdCGBkd+Vlw1U KDnw+7AmYljxWJEDbwvQRULP4f1lNKG9xwMlb+9FFiaYHKJnP1JjQ1w+rhzWPBQqclh+FvbU IWMj2BcMdQUrtkGFM6SbrZSpiSh5EuY9C3ljCSwH8g3Y1v5GIC7KgTxMjUQxgC4bxLWAKAau kdwwgmMEt3dAl5ea7UO5wx3Px+vpaSSZo+zx+SjNS9wFfr1jSUHzg+TH18vt+Ha9PPU/Rx6g kz6sNq2bQP72+v7M+VjlWSyawwa3N2BgGupLTUEwAs5f70/Xo2YU6fqykVY179UZ8yj8In6+ 346voxTWm2+nt19H72gf/Qs6pLvcUsBpry+XZyCLi6dVXLJW18vj16fLK8c7/Sc+cPS7j8cX eMV8R9srk0NYidzl1ljETy9as8Xh9HI6/xgqSDlTwBzjUL2yuEmu0hos1ONoc4GCzhdaVpOI RaaNkXfQVQqKZ8wb4XRpONPhfoH+XfqBQRNA3UrAJsGz0bhsJJchb7tChPvAbETPl71rr9Ib NbPgATWbpoDgx+0JdqDaN7pXjBKWSU6+uB7ZbBqWzD/PWSYV38Ttr8mt+utMltwmVYuh37oz nTIFNPcW/NLRyuAlxmciebFYzh3OxFcLiHg61bOV1eTGlYxjeEzGClgYcs26FepvYvJf5XfF 0SqPWF41Bt7cpgleYbMwsiC4kxAqIE4Lrs3SqPw0P0vKV/9l/VK012mZTU0EzoBWxKYFiyZg hT/qKIn63c9/PPDbca0Wraen48vxenk93sgAXsWutSCHdKDYbHKUVexZ07F5otapFICDcAi6 su/aeiJX33UIJhgcLvzxzCQsDYJ+eJEdXOuy6vdMIKvdQfhLvZmSMOBBongGWMzu4H3ZWWOL xeoH3cYh/ibufDKd9ggGcHRNpMjTQJzNDIcUdzEAqh/jvbBlAo0rqkmgsOMHbzIes/jgB29m 0yVFeK4zhB8kih0o3mzqZeCsXImgrYbg+RE2TvSh/3p6Pt0eX/ByCpZTOiBdzE+wkZmFokKH KPbn9mxGn/XEsfKZuEEAZTLn1k5gzGczQ3S+5JwBJMMhv7LQMwjD89Km/CW9sq2T9vBp49Xm QFO2YyIaSgmSfRClGZpZCzhwpyRueDFxtHG2Pcz1qaT8EGhpmLd2oufMlATj9h5JAxsD5iMZ D+QYVtnB2btuxaLZE4DkDOXrcQ/LmcUjwGBybJvFA0HORIdBTNySZiSWt0l73K/7fiFdZrOQ /1ydwN6l0Q/ClzpAnPqDmO6Yb8L3xguLvNhQHW4GNcyJGNNcpoph2ZbDpwGp+eOFMID4eyUs BO/aUfNnlpjZ2qyTZDFfTse96gjMLjz4WyrThjvg3ozYkZE3mU64Obhfz6xxPYZrBfztBRRz Y9lYOHJOKy312/FVOsSL4/n9QuSKyIUteFvbYbXTnycW+tQJ3Tu6qu7/UBkYmC2nsen2cgH2 ZXpHj+3pa13LEYjXFg8t2havWkSXgdbu0C9E1rzIvQRsrV441AWtfCew1W/FJaswfpDnkX3L 4NVdUVtxPs437cTj18s/7ASPak/gN4LpmADg+1Mj6zlSFtxaAwyS1hafJ8aCDxQuCTAwpksb nT1EQApAqlHCdOlwEx05Y1rxmT3JzUQkuMbO2GmPLyzIVjed68oEPs8s43liVM7Yz/StzmGj T2AGLWjSHz9LEWSIRU8Vk4mttTGe2Y6jO2m6h6mRXgYoi4HcybBsT+b2QI4s4C3tgSUKKjde 2KbvmVowjIqroHaYYV8/Xl9/1ufjZkSuMejveH76ORI/z7dvx/fT/6E3lO+L/2ZR1EgpU5M0 kzzeLtf/+qf32/X054eJyO76yyl1jVQREd8e34+/RVDG8esoulzeRr9A4b+O/mp//F37cVrg esKl620m0vPP6+X96fJ2BJa53vmhsGZjXd1WJMthSDOTZM+I1CEXk6lxWthA8fyXy0pnrJKl DJxVYL3YPORp5biH0FydahaiDXzChjnVYxcbR0Glq/X1+Phy+6ZtBA31ehvlj7fjKL6cTzfa Z+tgMtFhsRVhQoa3M7ZI/hlFsduf/Xg9fT3dfmpfpPucse3wAPTbQt+CtriF60kgt4Ww9XVN PdM1uqYZi822KFlnVxHO4RTQvY3Pdtt3IYz0G7oIvh4f3z+ux9fj+Tb6gO7qDbDJ2FiZJZFd nFdxaBH0L/lsnrZq6sD5LD7o61+Y7HGwzeRgI4YDnUE2Mo3B7WKRiGe+OAzR2V2x4fXKw86g nmM6tTMxKHfI0/O3Gzto8JLUjTibg+t/gUOTQ7FU3QgW5DFnuHEzXyyNmAdJW87Y77W15noa JHzWlxMvdmxrYVGCvhfAs2OTwydQZgMpEZE1m3JDVVemapA6AjW6yWw3g8HrjsdMKvRQRPZy rCcgoxwd0FpSLD2h4RfhgrKttSnPctCbrX5pPcf6Iifu4bBOwFKirxxpVsDH0EQy+C17TGki tKyJPk+LnePoFhAYgOU+FPaUIdHh2pGNNaLwhDOxOBclyZnb/dYW0FPTGfm2krTgD3XAm0wd 7uOWYmotbM2FZO8lEe2nfRBHs7GOALiPZobt6g/oTOg7q7dTxo/P5+NNWb+YTXK3WM6pAoUU foS6u/FyyaYcrg1esbshx0qNPLAX6hLUGORuHMsIZHKm9sQwfSGYB77Lb5TND3/GZvbR1lEl 9qaLCfnGBmugVaaUatm/2kTRby/HH4aiI087Zd9JPDw/vZzOvc8neY3z+Oi30fvt8fwVDhTn Iz0Lyfi/vMwK3jQrHsRaaCyiW71dbrDrnXqGU1/A2KMmNdBwJws2F7XkaGYjVGoth2bYBBI/ N4os0jULs2LQaH0/juJsaY07/Se7Ht9x72b3lFU2no1jPoxvFWf2gDOpvhSv3Jx3zNlm7DEj ziLL0i2j8tkwjCoanQpZ5NAXxXRGtzxFGcQ8rtmGSkHYDm/WqmeKxFHgPtB0QkfCNrPHM25K /JG5sDVqWnZNoM1viNqEkWrBGeFp+ouXcJbSBFh/7suP0ysqnjAVRl9POCWemHNBFPro5RUW QbXX97W1P59PaGCOyNdjblcQh+WUahEouehN3uL4+oYnpoFBCJMjjJWfVOqlJZ8DKI4Oy/HM 0lTwIs7G+iWBfNamWAGzWt9B5bO+wyTFijxUoU9cXJCkktcVrO8M8rMw2WRpsqEFFWkamSXh tSc7tuQLGHhhJh7sjrNxMBBsnN1r3knwoFYyStLS0dfynZcjsOtpzBcuPfzXhfEjZmpcRaMO zw1twA25Y3cOWhpLRrMt2jEd5ncyCx2DRZffIXqNdlLDrFuIzeYeqiT/3dLWupqzh+2qYG/u MgTVIa5dMkM0rL9eaBsDXcb5wyupV7BIP7BSBAXe+RV5GkVGJkrJc4vtfMl+75p/ENZAVnAl sAryKORzjymBMD7wy5liI+RlePeZQOZZRsYjQyIOxED2M8XPQlFgiiN+g1Ayn0Sw1wLo/zDY xUXYxaAZL/7xkHzWvCLY5G61ymLOu3eth4nDQ7V2d4Ef7PVfQTIoDfuQx0HHSPcc19cAHV5i 800mlaVawLcPI/Hx57t0RulGeh2EQGFcVl5c7TAzLwLOUBY8oFdWZS+SWILKkNmpM/FdtptQ SqZRRxFuEgO/cSXFQsxfCA4PSSomEvXks9+o5Q6W/U/kpvb0s/LQeWQw87u36nf38YooJXKT fFWWoP4yk7tkcRtwsq4vOb9eLyeCDeYmfp4OwHj6LLRsAku+tiSKgj4oABRKEmmZe4H0MkhJ LFHH0+MbDU+ugkcTXmd8Nhah6WXwUCns1p4ri8biwS5RAOau1jqJHwzrwaFTxLWzAoNYUOKl 0ma+tPVk1uXB8D1BCo1iyWI4eGsbhwh1WwI+4VZgFCOiMCYbBBLUraBX5G1CxPXp+iqz+/Td hXwSsAWPVToAwtumn4KhwCd+llEW+UrPX+b5KzpU/Thk0dQxL5qhLEiS56JXECzZSVAlaVIF 6xCWvihaGc5NIUIxVuFqjYBarM/X+r7y1pv2R7p2afQmfoh5fZOmmyhg0uHWDLxfknm0ZKDI 37CNAEdeRg95rCWg63sTqseSoUamu0lfqvk1vS9qqX3GLw7Y+ehBnYGugKF2gjr91Mr18/Vx 9Fcz4oxrjdMLqNxyJ9FPrh584KC6RxxtFV2rz+YKcZNgUnmaj09wQOVUHywNpVqhU25F03GF 0CYkh7pijK6BeDP+MMBfyyyJ+UNGcdrXok2o1g1qReJ0OMXpRaCv3cFX7sq0oBGpSMDoPgm4 Jk0HGIXAbzcILVS/AcM04WPRFN+I61XEIg/IjfHdOi6qPWcFUBzbKICEAbhlka7FhICcraEr KjoDPR7aD5NTR+6DIdxRQW3yQ0wNV8E/n77fSbrRvSvTtUVRej9QLCwfQd/i4z0+faM+vGsh x21/B38/fny9wBR4OfaGOnoaGw2SpJ0ZU0PZ+3gg5kZyUd/Uu10SMUQRYZlD4p4jWbCaRn6u 52vdBXmifyRjJYajLK2zJHQTk7etSpmDWxQDIOrlBob0aj0AI6+4lRlp2QwZ+Q+iaZF6xbAN KOy9B9jlWYgfmEeYfF6X0g7LTYnasz7E5TOxrCiK2Qk6c2KKi/sBdVCJV/yVdI4bQzLQW/gm ziu16sN6xLa8FsKPjRnUEmHUjNs14UiCYVGg6qeaqQIXS/NRtVT7LRNNHfTyXI9tU8/VRl/u gSACSat2+Yr6/CnxYZgvL8i2PDabFxoLToifYThzOLLvAxcjTRD6nddFpVQJx5GIH/+S3xv+ OrNZgOkrkjoQmNLyUePOMAHJJy3w/0H9RLxyBpzavNR3q4Hx5sp5wo0xHckBHtpU6f8+vV8W i+nyN+vf2piLcJT4gVyrJg4HJElE5s6clt5x5mSsEN5iyt0iGiL2J6/z1y6GEG/ZoELsdaYh Yg20cDH7pIozzrBtiEwGC54OcmaDnOVgZZYO5+JKRfTrW+Pl4VYuWf8oWq+50cpQpDjqqsXA 71n2YFWAZZl1kbgUA5Vofsria2DzZIcnDzRjypNnPHluVr9h8GY+0oihAdUKDNTQMqq4S8NF lTO0ktIQFSVPYz2AviF7ARzBPY4OqnCZpwwnT90iZMt6yMMo4krbuAFPB4V41yeHHgJO+wwj KcNioG1slYoy3xlQksgqizXvvOpH/TTSu+P1fHwZfXt8+n46P3fqZiF37zC/W0fuRpjxdW/X 0/n2Xd3LvB7fn/tYMPI4sZNRfV3FvfoAGeFZcS9zsao1ft4erRScSl9iot3moT5Tl+9DX3JH oSaxCYEZ8i6vb6Ba/3Y7vR5HoJM/fX+XTXhS9Gu/FWrHDJO1NlQ6Gh4OSi8gdhCNK7JoIKRS E/LhrLWesFIbf1UpHAt+Kw0SedjHwxqUmMEpxS2CgeO3Eo1LUWBONhp72hxKcjdWpf1uje1J Z3WDGsDyhTcyusKbB66vDBJCM3qVSSmB/B/iVapv6HJdTO8T/b66D2O9hTIxrEhWsd+roN/J XOmgq8duMZA2zBRS/YM5IQbbnKU9VN26bikaG5U+p1DR2BtxvIuBA4EO3aMRW7Qz9RF+H/+w OCl1D2P2jtK4W/uhhC0d+cc/P56fyXSV/RscCkzSpmvOqhTkIkyON8hoRkgz3QiAyEZ2EYKI JLz+3BUGw4K3ASqRHDRDNBUY8PaGVLr6Ah+RxRtT4yByV2ZLkAaHGFdPRYbR+XU3xkFcM43f ajifVAcvfnZw/uHPk0pmH5sV2sfwx5Xn/P6vAjPnk2u1/GwjV17mF9u8UrWswkNjfmQwsa3i q0BFWIZovnvF3IabbcxCXmvdKnsG7R9rZRPpd5vGNHt1i3eh5nYkh/YIHYs/3tTivH08P+uX /XBgLDMmfAiT/Q0y8YLKYMpr7E8lOibuOJmLyZA1sYwChAzLVHs3KgP9AreT1WqdmfiCfytc Fzzu+h0rXm3xFqtwxU7/ImoJallyY07L4nfLHjMtaMWGG0lF2jbWgvd3sO7C6uunG7qW/H9j R9cbN477K0Gf9oDbbiZpeulDH2RbM+PGX5HtzMeLkWZntwG2SZFJcLv//khKtvVBTQ9okYSk JVkSKYqkSaQF6VzXDRsFYOP919PIceDnlsgHHstOXO81Ho/bODq40zvPahEgq2w6mpy9jGO6 kbLRVmAd5YLx9ZOgPvvl+OPxCWPuj/8++/72evj7AL8cXh/ev3//L1/dUB0c1J3cOkkVNc+Y zBE+PEK+2WgMCMd6g5Z3n4AM3uPBYNsN7yarNjMlZLORlsOJmsEJ5Np3KDV4zGFZSNmEgsF0 PIgmh0OxWOJhwStA1C8wKhZBiZ8p8yyYxriwJ0fbtYQKrjshZxjpEzBpmFlcygx2hwJ13vWK m7NFH2RRAQz/79D32jInBNbViz7Y5INflM9sEG69NIq8BrmTmE8jUtBi4T4EyseU9E6lvaNk eFtDsWkX7IWwRwbUJGtjRW0Q7z1rY8zkO83J2zZaWcps/VujvCkvme04DYNUCg6BvPqi9cWZ ol6CEnOK2rlvUbZXno73hZIcnrrl9zXo8VW645O1oT/I2pdhOUosiEMo5/yDZVv2lVaNT2NX SjRrnma8VS09lmCQwybv1jCRNjfpfjS6TOu+6mimnXLJSIJeCWQwoiTl3G8kNQ/qVix3A42a Qqa8IepeU1d6KpQzfjoGyjVA9I5TD36AEOlMHF0wP1ZTJFE3ZKx3+3faG6Ng/IYMYbiuy4AV vAVlnTxSlk0Hgk2/lmPLBihoFMv40/rsC3bCBvZnADXLapauDZakrUSDmaujiPGGxcybHBIs orU2yVj1NM7KlI0jV3/E3UVorKiKteUz85z0PWqaCnbfiGdZ1HQaTt2sVZDKcIKgh84SadYl 5sA7TTBOeidAfDYxAYvRIgw34CYr7aleYylXK1G5vQLEhUMCYmldCsWzkIOe5bVF8JOB6reR oPbhwMZMwrNb0AxaT0gs0TgeUXkmqcTp4vLTB0piHNxxMFN0k0cPEQVSBXQ6GijNk5eYlsqv UenbNhbqSiRRbDLLb9BKokdjgk5171QkWwXOEYPTmtXHD5OuYy0jjmctt+j+8aBo4qnQ+lI0 Xop6Qt8AvmNzbxGaLHFLr8kk7/TecpvqezaEh3AK/WVeCIwetK5qMu75HLRwaJ7bjKYq3hRn 4y0GObtj3fdkSrQfgutvVKkkM0U1kDUDDiL8ICN2mrcCo0LZyuN4lNFt/maVOZl/8O9TN/8+ aUUFLcO2zvckruyniWwjkEk0YVUPVV+wZTwRbz8btswLLyITRb6qSj5Vqem5txOpWpYLDAsc 8laflXbCXdyMGJgh3cBB+myBxUihit1oD+7tEsEYzWQUbLq52qkb7afs93day5IVp4L5PQ7b LEndbpuO3Kxu2oUZEWruG46/sroHdggscubSWSTLonddzPbGmsR+qEpgXnHc7VQ8bDjfXp/P t2wfB2uz4HGGYy54LJ7Dny8tbWPEYnfsnrIoJCclJnzIqhMqcvqP9g9niHbGKnMhI88C2jci zvFGRI+MGiRAiSwDV/S88nQU3TwwimKdFfqCVuaM2DauglLZuKld3FHGVN3wmRV1Wlk8F+K1 eKsNBi6pwBquc3McHt5e8COcwDmCMQSO8qQrzKP2DCg8UiK6k3mWPzZV36J2FiUwkXUMyTys IVvDekglUCg7Y2xl2qu822Fe/ZbC50moxDwJRMtpxga19C8mFAlfweB6ysHf7LR5RXipyAMy Xr0DpsUQQB30zA0DNFmqsYofHGVSH+CO9SJEUwjm53e/Hb8+Pv32djy8YKXoX78d/vpxeHnn 88s8XU4tCg/7+d30IK1NPe6d9OWfH6/PZw9Yo/z55Ux3YmU0JWKYoZWwY1od8EUIlyJjgSFp UtykVMI6jgkfctUNCxiSKueCOMFYQsu14g09OhIRG/1N04TUN3YM+NgCFg9lhtOKAJaFLy1T BliKSqyYMRm4E4RhUH3LXi/dB4csb8kFRfa+oPnVcnFxXfZFgHA1DAsYvjZG7932spcBhn6E u6qMwEXfraVd1WSEJ5ip2ePC8QWKXhociu1wssdSN/rbi7fXb/hJ7MP96+H3M/n0gJwE4vfs v4+v387E8fj88Eio7P71PuCoNC2ZZVilbGpr88hawL+L86YudotLO4+GIWjlrV1fedoiawGn 3d047oTyyqBIOYajSsIZS7twplJm+WWaBLBCbQJYw3WyZRqEU2Kj6Iaic5zcH7/Fhu3U4Rnl gQb6U7yF7nnNQePRIxj6vB7/PBydnMTTrkwv2c/RHbz+7oXZ0uklx4wEh3kqgJlONt0tzrN8 Ge5jVj5Gt02ZfWBgDF0OO4lKEoSTrcpsYSe1sMBuFq0ZcXEVyTk+UVyyiUHHzb4Wi5ADgD+u QsYF8NUiFDYAvmTG1pZcfJRBdiu1+MTIrUZ3oLcIFegOt6lwLVkzdOi4uDMLf3X9MfJklYdJ pj2qqk/ykLvgohcuewI3PVP6lkcweQzH7SgwS3/OfcE1UWBoixc3bOHCHYfQcDUzGb7Nkn6G ImQt9owq0oqiFRfnMbiZbl76MlJXMj1I1Th5nl340LbyIrKqnTwxh92mZtfHwOPLMxJcuUUI pqArzNvwaGf1myZ7ib4OpsViz9n2DPL6AyfYij33Zf+MXM+J2u+ffn/+fla9ff96eBmToHmJ z6b93eZw7VOsI3R8C5VMFkIGEzkqNC4aIm4RpXwc+EwR9Psl7+AGh9dNuFpEFDKyf/6s/4mw Naro/0WsImFCPh0q7fE3w7F5oXcjZsPNJ31dlvmFFUKilYS7UKQBTBKQClFOy9/oYlKnW0y9 khQOZshOvCPS3LpfsboYUMuvP139nf5kBEiZXm632xMtpR8vOBtTpL+75ammsKs7PtCL6fWO q3pn0fnV4ES7K0uJF3O6zJOthkM2fVIYmrZPXLLt1fmnIZV4gc4xLtJ8dDgTNDdp+58p3nTC ahmAueL+IOX7SNVnj49/PumsHxQ26oTe6U+BbMOFchx9Ib7FC/NsZtB4ue2UsEccs0nUVSbU zu+Psw7ohpOCqt60XXRoMwXxHIUWzFd6smvc3Dk3ChNalu+Fb/Y2BEle4SAn34DJ/PL15f7l n7OX57fXxydb1U7yTkmsGugw5mwfn/Gcl4QGYcdOjr7VtlNV2uyGparL8UNKhqSQVQRbyY5K Z7UhivwQy1xpZ0eIx3KLee042EaUB56s4kvUYcxn47l7hUxBlIBQd0AL74BPB62ys8wGvXb9 4DbgZLaja0FofzRw4DOZ7K69DmcMH8FsSITaxPazpkhyzoOQekpk6la8zpMT96PUTZ/eZ2gE xXlGgwiIJbMU7Jh0OI81G0wPoIJQU8r55BihmQzhe0yOCEeZUXZs6KwCje+1r9k2SINh+gQ4 S7/dI9ieBQ1B4wP72gZNaScafmYMSS4+8utt8ELxVZZmdLfuSz7+1dC0IJBPjiFJvzDLYpC+ CX2cnWG1zxsWAbMe8qltujUox/lqH0ptneYgh0hgKbu4LTI2MLztsdIgdMl4Dnj0jNkFedtV EYbnoe/afJPsBVE6JFSLlY+ypBhGLE1QCYy6sibk1haiRe34JPHvUyxRFfjFosWwxR7TEViA WmX27T7L3Gok6hbNCNxls2xyJ+lonWcYWgTnlHLU23Z14qOLFlOq1FzzkwBucW5Ebn95ilEc mWzswBXjLrdk5f8AMNGpI3GdAQA= --Kj7319i9nmIyA2yE-- From mboxrd@z Thu Jan 1 00:00:00 1970 From: kbuild test robot Subject: Re: [PATCH v5 1/4] ioremap: Update pgtable free interfaces with addr Date: Wed, 28 Mar 2018 19:50:21 +0800 Message-ID: <201803281954.xld7X6dW%fengguang.wu@intel.com> References: <1522157100-16879-2-git-send-email-cpandya@codeaurora.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="Kj7319i9nmIyA2yE" Return-path: Content-Disposition: inline In-Reply-To: <1522157100-16879-2-git-send-email-cpandya@codeaurora.org> Sender: linux-kernel-owner@vger.kernel.org Cc: kbuild-all@01.org, catalin.marinas@arm.com, will.deacon@arm.com, mark.rutland@arm.com, toshi.kani@hpe.com, arnd@arndb.de, ard.biesheuvel@linaro.org, marc.zyngier@arm.com, james.morse@arm.com, kristina.martsenko@arm.com, takahiro.akashi@linaro.org, gregkh@linuxfoundation.org, tglx@linutronix.de, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, akpm@linux-foundation.org, Chintan Pandya List-Id: linux-arch.vger.kernel.org --Kj7319i9nmIyA2yE Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Hi Chintan, Thank you for the patch! Yet something to improve: [auto build test ERROR on v4.16-rc7] [also build test ERROR on next-20180328] [cannot apply to arm64/for-next/core tip/x86/core asm-generic/master] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Chintan-Pandya/Fix-issues-with-huge-mapping-in-ioremap-for-ARM64/20180328-192254 config: i386-randconfig-x014-201812 (attached as .config) compiler: gcc-7 (Debian 7.3.0-1) 7.3.0 reproduce: # save the attached .config to linux build tree make ARCH=i386 All errors (new ones prefixed by >>): arch/x86/mm/pgtable.c: In function 'pud_free_pmd_page': >> arch/x86/mm/pgtable.c:725:8: error: too few arguments to function 'pmd_free_pte_page' if (!pmd_free_pte_page(&pmd[i])) ^~~~~~~~~~~~~~~~~ In file included from arch/x86/include/asm/pgtable.h:1292:0, from include/linux/memremap.h:8, from include/linux/mm.h:27, from arch/x86/mm/pgtable.c:2: include/asm-generic/pgtable.h:987:5: note: declared here int pmd_free_pte_page(pmd_t *pmd, unsigned long addr); ^~~~~~~~~~~~~~~~~ vim +/pmd_free_pte_page +725 arch/x86/mm/pgtable.c b6bdb751 Toshi Kani 2018-03-22 705 b6bdb751 Toshi Kani 2018-03-22 706 /** b6bdb751 Toshi Kani 2018-03-22 707 * pud_free_pmd_page - Clear pud entry and free pmd page. b6bdb751 Toshi Kani 2018-03-22 708 * @pud: Pointer to a PUD. 5b7ee34c Chintan Pandya 2018-03-27 709 * @addr: Virtual address associated with pud. b6bdb751 Toshi Kani 2018-03-22 710 * b6bdb751 Toshi Kani 2018-03-22 711 * Context: The pud range has been unmaped and TLB purged. b6bdb751 Toshi Kani 2018-03-22 712 * Return: 1 if clearing the entry succeeded. 0 otherwise. b6bdb751 Toshi Kani 2018-03-22 713 */ 5b7ee34c Chintan Pandya 2018-03-27 714 int pud_free_pmd_page(pud_t *pud, unsigned long addr) b6bdb751 Toshi Kani 2018-03-22 715 { 28ee90fe Toshi Kani 2018-03-22 716 pmd_t *pmd; 28ee90fe Toshi Kani 2018-03-22 717 int i; 28ee90fe Toshi Kani 2018-03-22 718 28ee90fe Toshi Kani 2018-03-22 719 if (pud_none(*pud)) 28ee90fe Toshi Kani 2018-03-22 720 return 1; 28ee90fe Toshi Kani 2018-03-22 721 28ee90fe Toshi Kani 2018-03-22 722 pmd = (pmd_t *)pud_page_vaddr(*pud); 28ee90fe Toshi Kani 2018-03-22 723 28ee90fe Toshi Kani 2018-03-22 724 for (i = 0; i < PTRS_PER_PMD; i++) 28ee90fe Toshi Kani 2018-03-22 @725 if (!pmd_free_pte_page(&pmd[i])) 28ee90fe Toshi Kani 2018-03-22 726 return 0; 28ee90fe Toshi Kani 2018-03-22 727 28ee90fe Toshi Kani 2018-03-22 728 pud_clear(pud); 28ee90fe Toshi Kani 2018-03-22 729 free_page((unsigned long)pmd); 28ee90fe Toshi Kani 2018-03-22 730 28ee90fe Toshi Kani 2018-03-22 731 return 1; b6bdb751 Toshi Kani 2018-03-22 732 } b6bdb751 Toshi Kani 2018-03-22 733 :::::: The code at line 725 was first introduced by commit :::::: 28ee90fe6048fa7b7ceaeb8831c0e4e454a4cf89 x86/mm: implement free pmd/pte page interfaces :::::: TO: Toshi Kani :::::: CC: Linus Torvalds --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation --Kj7319i9nmIyA2yE Content-Type: application/gzip Content-Disposition: attachment; filename=".config.gz" Content-Transfer-Encoding: base64 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 mWzswBXjLrdk5f8AMNGpI3GdAQA= --Kj7319i9nmIyA2yE-- From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga06.intel.com ([134.134.136.31]:10590 "EHLO mga06.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750774AbeC1Lum (ORCPT ); Wed, 28 Mar 2018 07:50:42 -0400 Date: Wed, 28 Mar 2018 19:50:21 +0800 From: kbuild test robot Subject: Re: [PATCH v5 1/4] ioremap: Update pgtable free interfaces with addr Message-ID: <201803281954.xld7X6dW%fengguang.wu@intel.com> References: <1522157100-16879-2-git-send-email-cpandya@codeaurora.org> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="Kj7319i9nmIyA2yE" Content-Disposition: inline In-Reply-To: <1522157100-16879-2-git-send-email-cpandya@codeaurora.org> Sender: linux-arch-owner@vger.kernel.org List-ID: To: Chintan Pandya Cc: kbuild-all@01.org, catalin.marinas@arm.com, will.deacon@arm.com, mark.rutland@arm.com, toshi.kani@hpe.com, arnd@arndb.de, ard.biesheuvel@linaro.org, marc.zyngier@arm.com, james.morse@arm.com, kristina.martsenko@arm.com, takahiro.akashi@linaro.org, gregkh@linuxfoundation.org, tglx@linutronix.de, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, akpm@linux-foundation.org Message-ID: <20180328115021.J2NlSesOIToiMR2wvRXBWNA5SfY0cOdUEwGwkJV0fbY@z> --Kj7319i9nmIyA2yE Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Hi Chintan, Thank you for the patch! Yet something to improve: [auto build test ERROR on v4.16-rc7] [also build test ERROR on next-20180328] [cannot apply to arm64/for-next/core tip/x86/core asm-generic/master] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Chintan-Pandya/Fix-issues-with-huge-mapping-in-ioremap-for-ARM64/20180328-192254 config: i386-randconfig-x014-201812 (attached as .config) compiler: gcc-7 (Debian 7.3.0-1) 7.3.0 reproduce: # save the attached .config to linux build tree make ARCH=i386 All errors (new ones prefixed by >>): arch/x86/mm/pgtable.c: In function 'pud_free_pmd_page': >> arch/x86/mm/pgtable.c:725:8: error: too few arguments to function 'pmd_free_pte_page' if (!pmd_free_pte_page(&pmd[i])) ^~~~~~~~~~~~~~~~~ In file included from arch/x86/include/asm/pgtable.h:1292:0, from include/linux/memremap.h:8, from include/linux/mm.h:27, from arch/x86/mm/pgtable.c:2: include/asm-generic/pgtable.h:987:5: note: declared here int pmd_free_pte_page(pmd_t *pmd, unsigned long addr); ^~~~~~~~~~~~~~~~~ vim +/pmd_free_pte_page +725 arch/x86/mm/pgtable.c b6bdb751 Toshi Kani 2018-03-22 705 b6bdb751 Toshi Kani 2018-03-22 706 /** b6bdb751 Toshi Kani 2018-03-22 707 * pud_free_pmd_page - Clear pud entry and free pmd page. b6bdb751 Toshi Kani 2018-03-22 708 * @pud: Pointer to a PUD. 5b7ee34c Chintan Pandya 2018-03-27 709 * @addr: Virtual address associated with pud. b6bdb751 Toshi Kani 2018-03-22 710 * b6bdb751 Toshi Kani 2018-03-22 711 * Context: The pud range has been unmaped and TLB purged. b6bdb751 Toshi Kani 2018-03-22 712 * Return: 1 if clearing the entry succeeded. 0 otherwise. b6bdb751 Toshi Kani 2018-03-22 713 */ 5b7ee34c Chintan Pandya 2018-03-27 714 int pud_free_pmd_page(pud_t *pud, unsigned long addr) b6bdb751 Toshi Kani 2018-03-22 715 { 28ee90fe Toshi Kani 2018-03-22 716 pmd_t *pmd; 28ee90fe Toshi Kani 2018-03-22 717 int i; 28ee90fe Toshi Kani 2018-03-22 718 28ee90fe Toshi Kani 2018-03-22 719 if (pud_none(*pud)) 28ee90fe Toshi Kani 2018-03-22 720 return 1; 28ee90fe Toshi Kani 2018-03-22 721 28ee90fe Toshi Kani 2018-03-22 722 pmd = (pmd_t *)pud_page_vaddr(*pud); 28ee90fe Toshi Kani 2018-03-22 723 28ee90fe Toshi Kani 2018-03-22 724 for (i = 0; i < PTRS_PER_PMD; i++) 28ee90fe Toshi Kani 2018-03-22 @725 if (!pmd_free_pte_page(&pmd[i])) 28ee90fe Toshi Kani 2018-03-22 726 return 0; 28ee90fe Toshi Kani 2018-03-22 727 28ee90fe Toshi Kani 2018-03-22 728 pud_clear(pud); 28ee90fe Toshi Kani 2018-03-22 729 free_page((unsigned long)pmd); 28ee90fe Toshi Kani 2018-03-22 730 28ee90fe Toshi Kani 2018-03-22 731 return 1; b6bdb751 Toshi Kani 2018-03-22 732 } b6bdb751 Toshi Kani 2018-03-22 733 :::::: The code at line 725 was first introduced by commit :::::: 28ee90fe6048fa7b7ceaeb8831c0e4e454a4cf89 x86/mm: implement free pmd/pte page interfaces :::::: TO: Toshi Kani :::::: CC: Linus Torvalds --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation --Kj7319i9nmIyA2yE Content-Type: application/gzip Content-Disposition: attachment; filename=".config.gz" Content-Transfer-Encoding: base64 H4sICDF/u1oAAy5jb25maWcAlDzLduO2kvt8hU5nc+8iiV+t9Jw5XkAkKCEiCQQA9fCGx3Gr E5+47R5bfZP8/VQBpAiARfXMXdy0UAWgUKh3gf7+u+9n7Ovx5fP98fHh/unpn9nvh+fD6/3x 8HH26fHp8N+zXM5qaWc8F/ZHQC4fn7/+/dPj9Yf57ObHy/mPFz+8Pvw8Wx9enw9Ps+zl+dPj 719h+uPL83ffA3om60Is2/nNQtjZ49vs+eU4ezscv+vGdx/m7fXV7T/B7+GHqI3VTWaFrNuc ZzLnegDKxqrGtoXUFbO37w5Pn66vfkCy3vUYTGcrmFf4n7fv7l8f/vjp7w/znx4clW/uEO3H wyf/+zSvlNk656o1jVJS22FLY1m2tpplfAyrqmb44XauKqZaXectnNy0lahvP5yDs93t5ZxG yGSlmP3mOhFatFzNed7mFWsRFU5h+UCrg5mlA5e8XtrVAFvymmuRtcIwhI8Bi2Y5HlxtuViu bMoOtm9XbMNblbVFng1QvTW8anfZasnyvGXlUmphV9V43YyVYqGBeLjUku2T9VfMtJlqWg2w HQVj2Yq3pajh8sRdwABHlOG2Ua3i2q3BNGcJh3oQrxbwqxDa2DZbNfV6Ak+xJafRPEViwXXN nGgraYxYlDxBMY1RHK51ArxltW1XDeyiKrjAFdBMYTjmsdJh2nIx2sOJsWmlsqICtuSgdMAj US+nMHMOl+6Ox0rQlCm0Rmm54GYAF2LXcqbLPfxuKx7cr1paBucD6dvw0txen9Rf/9pupQ5Y t2hEmQOhvOU7P8dESmhXcHF4hELC/7WWGZzs7NDSWbUntD1fv8BIv6KWa163QJKpVGh5hG15 vYFDgT0Aztjb66semGm4EadtAm7l3bvBynVjreWGMnbALlZuuDZw6ziPGG5ZY2Uim2uQFF62 yzuhaMgCIFc0qLwL1TaE7O6mZkzsX97dDICYphMDQoJCBqQISNY5+O7u/Gx5HnxDMB8cAWtK UBlpbM0quLh/Pb88H/59ugazNxuhAoHuBvC/mS3DY4JKgjRXvza84SQlXkRAyqXet8yC31iR eI3hYNNIEGty0mO6K3G65jCQOFDEXsxBZ2ZvX397++ftePg8iPnJkINKOcUkbDyAzEpuaUi2 CoUPR3JZMfBF0ZgRFYUE1g5sEJC8Hy9eGYGYk4DRPiFV4Pk1XIQzRMxKTWNpbrjeeFtbQRAR kwgBRAZmz5uOyO4ZxbThHXWnewlXdrawMMQtZRhEGNnA2mCHbbbKZWpRQ5Sc2UBNQ8gGnF6O Pq9k6Er2WUncnTOJm0EUUseJ64Fxra05C0RryPIMNjqPBjFIy/JfGhKvkmj8cx9jOJm0j58P r2+UWFqRrcH2cpC7YKlatqs7tKWVrEPOwyB4VyFzkREc97NEHvLHjQXWDMISlAbHL216+sBd /2Tv3/6cHYHQ2f3zx9nb8f74Nrt/eHj5+nx8fP49odiFCFkmm9p6gTmRiELhLmMAk8q9MDnq YcbBSgCqJZHQfWGwFsmXo1hnzcxQ7Kz3LcBCiuAnOEvgG2VLjEcOpydDSAK1JNBVlt0dkcQj kg8t+TJblIJ0iM6fQ8BaXwVmV6y7gH004lg2DJcSVyjAaonC3l5dnOIJLWq7bg0reIJzeYot nBVtIL/wUQSEhrkXcSqGWqACA0JTY/wMUVRblI0J4uRsqWWjAuVy0Z+TgDBlAX+QLdNZfvMg TmJCtzFkcCsF6Cir863ILe1QtA3nUobJg5XIzYgSHcX43WChOb8LT9GN53wjMh5R5wGgHZMi 3e/OdTFNm7Oq4cJGotJ1QLCU5NLo08Fig0pRgu7uD2Mrt0q0+N4UGNUqzcGHkDzTcbqxKNd4 ehck6uDm3G9WwWredgchns5HoRIMTYdJAJwMkQAWh0fhHJlsQcdCWXYK+NH/ufvAPLpOLjRB w7yJYm4fH/WKU4OjFTV42kDEvMKJ/DLI7/1EME8ZV847u9w6maMyo9ZAYsks0hhcgyqGH97E Db+TnSqI/AQEWzq6eciIKjBwbec46aPhdZ4cayg1SPr0zGIFelpG7PRRo/c9xAxvtgIb4s1Y XYkwAYoUI+ENZWEZRDBFE0YFRWP5LvkJ9iDgpZIhvhHLmpVFIOjuCOGAiwvCAbPyGd4QzQpJ UMfyjQD6Oi6acALMXzCtIXCk5HfFs7WSwB905xD4BUKzxpX2lRmPtMkdDuMLI0tgA+oBWC9i wxOq4yfaAys20eWCNJ6RBhQ9l36ETDqVJoazwhI1xFD+QKe1Xc0hJ02TVxFYvE3jOzcI+7ab KknUVXZ5cdMHP13hTh1eP728fr5/fjjM+H8OzxD+MAiEMgyAIHgbYgxyr64mMN7xdIRN5Sf1 TtHQ7qGrYOk1pYslW0QqWDZ05mRKuZiYD6zWS97ngoG8Igw9HQYqrQbVlVWi7pZXzvm0kKmL QmQunyD3hyilEGUS+vWqgxbOSW7ofjUzq/7We4njO54lY+6ypV8+GO5H0FR43RxgvzSVgtRh wUOFhpgSIvU134Np42WB1YrwsF3phjybI8EVc0GbwDCgV80wjJ2STV4ArwTefFPHMxJFQMHB eBCiUAiPtyytdQhgBYZfQJxNQOu01uRHNbckAHwaPcGPYjGooDxR0dS+Fs21Bm8o6l+4+52g RQZ7yNbdiisp1wkQ667w24plIxsiPzNwgZjVdBkqYT7A9FtR7PuoY4xguO1qESRhvmjmS+3t diWs0wIiEIYwaQ9hFiaczm26GcmSmi/BoNa5L5Z3V90ylfIkKylGAN4p/Athqy0YBc68zU9g ldiBTA1g42hIIw8wwDBuG11DVgjsEqGWpFaUuMMV0znmBy4+tXDxXdhELULs39tG3fElb6pU wB2bKX31fIV8yicraKZGl+zlzuc8WaWwmp4y3I/6auMELJfNRKEZ62C+HNLXLwniDc/Qgrdg jOyIvUuIJlXZLEUd+flgeMqEAIZjGmq+Y3wSo8ZAuN56oig3QoWLakpGRhgjXJB2GSf7YxxM MCijv8KCCXAIYoZUMDyLhUPxolFozGRS6zcuLEwYmRrLVrzrDWAeSuG5vgG46VQGK5l3V6l4 hl4uCKFl3pRgHdFOg9PAIIgwNQ7i3Oe4xzLueiUIfAduhTRz8awPsXhIte+NmI2DyODA4GFJ ocDW1qJxFoou49XgluBatqD/Ab2yzDEw7no01yMA6z3DIC2qwXrU4A+L4oyLdURvunZdtiYR HY50mRMr++K33u7+X8h9LERF5yf/YcER2WBSGEtMgtLpXoAmcNQKghEr4y7jCaqxidvUUZTS j7nsZlQhW2Zy88Nv92+Hj7M/fYT75fXl0+OTL+YF1kduOuLPMcCh9VFWVGL1pq1z1d6Vrziq 34Ci4eiYY4U67dIIg2Hy7UWQ83gVIyjplc+C7QcLLtdxDWOBnok6gKkvg5y4dr092FiBsWlq otx1at8xK9HP62qbYKD6u75H7pZxleppFL2lEJxQ9IlOu+AF/gedY1ydHypP7srU68vD4e3t 5XV2/OeLr9N+Otwfv74egvTkDvXVC9EQvFdq4uVBwRlEBNzXjoaNHQjL7T0cI+TIsCBGpZxD JJZeghEoRFggxFBUIu/DRSBWQZ3Jp95F8J0F24I95aH2EVHQ7zMx369fiTw+mR/+tWFhZ3UA lMokrGDVQMJQ9usPIU3RVgsRHawb86HcBHU6z66vLnfpma6vwNcJ2jL6Kh4IpvVOsnXxHlkh WO0h4toIA0552fAwmoVLYxuhI1vSj40JHmjjNbHNGvLafv2hrrCpuox4wsKftjvTKkhRk+I0 eJKFlDapslQ3H+bkjtX7MwBrsklYVe0oczR3z3QGTHCCVjSVEPRCJ/B5eHUWekND1xMHW/88 Mf6BHs90YyQdOFbOafOJdL/aihrbo9kEIR34Op9Yu2QT6y45mMPl7vIMtC1pb19ley12k/ze CJZdt3Tp2QEneIf2emIWOgxacdBQeQd5xk5pLBd3b3R8r+Z9iFJeTsPQ3Shwzr4qaJoqtl4g 3fFAl+zMb9JhuYlHKlGLqqlc5FZA2lvub+ch3Ol4ZsvKRBlJ19fDlIGXPKOsO64IrtZb3KAO 1A27y4uexfUQMMUEOugHa/QY4LKBiltGrtVUWTS+Utym5SOmFulQHqbGZitk9KpIyKpq2hUv VTindm+iDGYGS3T4kO3dXtJA8HhjUF+vSwEwELCd80rZUfqXgDeyBGPLXCkknXtmWh9+9qEU JumWu5ZPLDR4SUpko0Ehx8MuFSfQhSQGNdcSa9TYiOleLaEHwMxwHJpkEQt8+BRUeD+/PD8e X16jznZY/vCRQFPH5ccxhmYqfhczwsjca0PaCwbILsSQ29iVR0cqOeRUe0iJJhzZJAAnX86T 16dDj12CRVnQjTbxgYqp/V0g6wux803fwQqKDJQfLNnEPG8pQqOjGhF1eGuJjxTArdOpoYfd UJFCB5vfRDWKTWVUCfHSNTWlB16RUy7peAR0VELqyu3txd8fLvz/EhriMyqWVpRcssfyXLfW 15ITuKsEToO7lgmYikzvVQotQDE9lBFvKl3IPg12Brt/t4XZSGCdRYkyWPZBJ77Mafjt6exn 5/ZEVaxuWNxIPFHkYVQr0U+OV2udw/TzgirOsJyv8qf1HV4t4kAyGu4WHZWF+gR32aj0qoTJ mM7DheNCRhel+jeZNa0aXt6UdSQ4u34TbeLvqkdDU2HjQ3RMX2DbKa66dEO+s5SlLZveI56A wZJiqVk8dEZsfTQvsZIULFE1Ya15yA8M1ant3ye6Upd/YZXr25uL/5oH1ooo701Xe3zJ3q5U i+0U6slU+GB5HQhYVnJWu4ArqmDFDxK60TslZSTRd4uG6lTeXReQrkaIxvcJqQy6Ezj3YLhv /UQpJnZEnDHCvsp66p2Vb+i2o1dUQwEIXPMCDMmqYpqusqFNU3bKoruYs11AxovFDN2otOyH SKgDmMhVvaAOqH6BSTeDDxex4LO9nd9EwTYoRdWU0z3IymralzrJ8BXaSXcJ96ImgV1sUAka hRd0ztH1BmgW37WXFxdToKv3F5S7u2uvLy4ic+NWoXFvrwcn5asIK41P+QaRd/3WQANcSzbu 0qD+C4zYQJw0ur/L2Ptp7p6hxn7lVAx3Nb/YMzr9c7MMsYvrlsIuV9EmXYt8kxsZ62buSnsg apQLAXeEHcIyt+3olWhoYjv5XIG8lq4J50PHl78OrzMIHe9/P3w+PB9d7Y1lSsxevuCHPm9h SbUridPqSBk+XCigBn71wZ5jpRnqnSHBFX5i0tXKcYoKPylxI13P3oWV/qMXE3y2MyhE1vcc l2Qlya+lMt32NxtPxXSvMOPoNcTRfNPKDdda5Jz6ngNxeNY/J04ALD3YglmIP/bpaGNt6K3c 4AY2lMlYwerx+Sfqx/0BfT6b9Z8OjTngEGiDgyhZY6ys2tyQxc5TVOdwfZezUeB/85RJ52BJ 39iTlgl8DmKTYfi3ZaAuOhnv5H5I1uJTmAVVm/cz44ea4aEhAV9JWh864cgbfIGOHeYt+PZW 1uV+qhfqJULx0RODfrxrXcdbIIAkIFe2OJN4KewBSMiBl1N+pmcn/Jt8B+8SgCqtIZhC3A6P r2fF6+F/vh6eH/6ZvT3cP0VZqau9aB58H9CPtEu5wU8rsMxiJ8DjN+QnMIoy3SXuMfqADBcK HkhOlHPGU5CrhsWvxEhM7Hy4l6v/d3pknUNENGFlyRkA676C2Jw9QnLaCcaGh6PgpyNNwHv6 Sd6cI/ckM59SmZl9fH38T/RUDdA8G2Lx6MZcSyPnmzRY8/GNGtUtwvioEP1CSaqLbKnltl3P pwA/x4DlzjlM8M8pHeBFeQ4ezNf3tKiplwUxoshW8eoDyIRVO0fRjW8p+J3DiLbjUO0+jIk/ zQVXXC91U/fK+/bH/evhYxAFkHuXYjF9OPe5Jj6+h6xnFAufblt8fDqEQQbKCqYA0yEuxlbm hIf1O1XGLyjdeouvbz35s3+Bt5gdjg8//juoimWRNUV/spQY7tP20oGryv88g5ILTVeGPZjV gXfHIdwxHvErxGP9xgmm+4DKpMfI6sXVRYmdWkE+twQcjrGST2nDqZxNuQuEGUUnFgiExJ2K AN0Jm6nc2p3MiNEA+XUYwtyJRuedbu0hVPuvWfs4eOIhjwsnbLOI92M2uRvUq5K7b0TH1yHk JiVNaertiYMwE7Zv3eLd47Ah7+mCFpTeke7cfzxgwRdgh9nDy/Px9eXpyX+M9eXLy+sxEnTs v+Q8+QYgHHffTk6IygmHq9465Ie3x9+ft2AicP9Z9gL/MKd94x3yrbPH46o1TPzj5e0YEB8Y +hMKf/745eXxOT4P9hL6B4MRv/vxc4GLw1NF2z2OPe309tfj8eEPmpxQSrbYG7HZyvIojuye GxEbdt/Yd08lwwlUxSzDtDAIqNzvlT4FWoMxLAXdIqy5ff/+gm4uLrkkI90qb+tFzE2s/hGo Go6RiyD16AZaa8TPV5fjcSwkOuplYyFbH7boETrN1LvW7lr3SIUk/bQesJLXS0E2g05Iccow bNVUmK6H5dMehpWiejxcIUVt5uMJ/43e/ZfHj0LOjBeYkZQEDHn/847YSJl2R4wj/vxDeAnh jCWvr84cWO8cSvBezXnjvSkWPd3878PD1+P9b08H9/c/Zq5pdHyb/TTjn78+3SeefiHqorL4 7G9YEn7EjaMOyWRaqPT1LsP7TjHJwUqYSJVwDyzQTBV0bdzddJv5V01CRiXump80vD4c/3p5 /RPDSaK0AQHtmlMGsKlF9JAFf4NEM9rf2JLMlIrkgQ/8dnE0XYlDqGkWLT4ryvbTOL6OTQdK fhHsExgrMlqfgDn4pQBlsDzfBkul/GdW+P0w3U9T+MEPZhV563qZVL0EkFQdfmrufrf5KlPJ ZjjsKqtTmyGCZpqG47mEmihieuBS45ciVUO9gPEYrW3qmicfhmGzQa7FxAcUfuLG0vk4Qpu8 X3cSpZDNOdhAGU0D3lzLJt7DIoybCaZ66icLuQ7upGp8gBDlxLbRPOybdW2O6C97pBjnF1hw ns5FbUyGbKb64fgEeAOT2uswNNt+AwOhID34apzWTtwd/rk86QTBrBNO1ixCZ9Qn9j389t3D 198eH97Fq1f5eyOoJi7I3zxWps2800h88FBMKBQg+c9B0Vq0OaOrD3j6+Tnpmp8Vr/lZ+UIa KqHoTr+fPiF+CdZZ+Zx/Wxbn3xDG+VgaKTod3HG++9B2uqPjzp7YjRBkhB3dKYy1czI+c+Da BV3YlLV7xUezzzER4VNWqAd+cwHnLhR+2uQK/WcQHYum4YYv5225/dZ+Dg3iN/q5I9wK/rUh 7FRNNgNRs5UFpSuZMaKgNbtfSK32LqIFD1upqQ4lIPvPZaa8WJ5lkx7OZBPeT+c0N4Hd9OGZ pbP28mpih4UW+ZKKrf23SGgBTfQKuxsiF9uUrG4/XFxd/kpXqXlWczqmKMuMfpDILCvpO9xd vaeXYor+nlSt5NT281Ju1cT7TcE5xzO9px+uIj9Gf6RhOHJGfcKa1/gthJH416JC3i7g+hi+ GNiQi0nF641PR2n24x9Y4BMJFdBZino97e4qNRFm4Anric9uVoYWeMcVRymkUpMY5XVbQZQJ 7uocVp0ZOsrq/pSEU2Yt6L8lFeB4ZaesqAsFdpjQ79v4o/nFr2WSU8yOh7dj8vmJo2Btl5yW IKcyWoInl/9L2JNsN44j+Ss+zas61LRIaqEOfYBISkKaWxKURPvC50p7Ov3GuTzb1Z319x0B gCQABqxDVlkRQQAEgUDsKHnr8a8dWdGw1PcWnrW5o5cz28PrND4Wse9vE5pLgJSTsUIlCFJC /YU3Wa5Sfqeh7Q+4O2gDRM53M6SauOGp709Pj2837z9u/ny6efqO6uojqqo3wN0lwaSiDhDU dGQeGBZHVDUADTPDhQOU5qX7W577ZfEtzR8Txmk5KsnqY+8r+lXu6bmvBRwhHnO3lMn3NI46 EwdeguWkdIiPBh0wiDpzCjHIRZidkQcQrWBVRwzA1hST6e/fz1+eblLbUidr8D1/0eCbynUb nFSJADd62ALDImuPRmUV6Lgt6r015AEG++ZUknWPWlamDHP7DNtqo7rZ86aQblhZnGjC7y99 XjGrBGnWgXQ4PmAMaqRVKb/jC40jJAn6PcvznTfbL4ezRtadoQwfxrtj4kna8LNHpNAE2bnx SFyKAO2euhk4corqTC8wcSeMXBuPMVFXBqtPOnuIMn+YVGh991SpQ/T5lGNNyx3PecvNvK0m O1iGHfW752Z1KQ0TZszJCCvmwEswAxWFZdjUnZg17ND4KCtyplh8am+Hz8OKkYbyocTA6Id6 lJvGsjjB/0qZWkyfvC11KFV7c6VVe7RGtZ6KlIC9rXafpuEBQOf4WzD0zFglGwBmvTH8dsxB AMGQl5xRtiM3hEdll9tqlg/Q15YZcIDCPuKMZtPTg7BZ9/RJadCIkywz9yHZwZMzNeBZF8eb 7Zp49YEiCGMjA8WyeUmDl9yFoDwIdsjGUnX164/3H19+vJjehrLWEVRK2jgXmeFlkbDi+e2L sbqGrZuVsGUFnEUiys+L0My5TlfhquvT2oqcmYD2ljIR1r4CJlXcufUT+a7oGRkBWx9Z2dp1 V8YURtC6PHGFB3SpJVSVq5bvi1ktHQncdJ6sKp6IbRSKpccvAvs2rwRmhGJwgoeTHYEZ5GbQ VZ2KLUggLDf2Dxd5uF0sItvVg7CQimAcvlULJKuV6fjRiN0x2GwIuOx8uzD8CMciWUer0Dov RbCOaTXqrM9CFUZNL3kZ0X+i9JWT2Glpvt8Ltl3Gxghz1rYc/YVJHU2O0um7NsznKh7dd62V 2In+gb5phWWJT0LcbDMxMsvgfCnmXlAFB+UxNPbmBFzNgCpScQYGWXIdb1bmSDRmGyUdxRZG dNct18RzPG37eHusM0GZo5PdJlg41YIUzHFxGUDYhQKkCDQ4jfylffr18HbDv7+9v/71TVaB 0iEe768P399wrm5enr8/3TwCR3n+iX+ap1WL3vEPVi9yGod1oOWDoTxWWwY0uevNILcRBP8I BgHwtqOsEXr9notk5JD8+/vTyw2ccDf/c/P69CIr3b/ZDHMiwXNZiasDTiQg2M/B56omoFND R3Ri+5DJw+sj1Y2X/sfPMRlevMMb3BRTcO5vSSWK313ZG8c3NjcsreRoBxF3uYxSpvUWQLL9 aZAJq9pTwgvIfNpNRXXg7l435GZCADfx2Zt4OkpSArV+ddjN9zcieyfYSsJST7FFidQmEKLz /cmuhaN+KwXzkP0TzngHk1eHg6rdoj5plmU3QbRd3vy2f359usC/3+ejBg0jQxXa6EdD+upo z9aI8FmsJoJKUJIZaMuwpyoMfpcf2s5vYwnmHYBaJbJdS6XSQLdaxrf8q7NjeFeVqc8kKsUG +vz9fGI5KO5+21GbMU8WOUvOvkzrc+fNwWaJyLzmYvhLVH6tHC1CfityJevnlm0Df3heCIRQ 32cEtd4H789ywmUFcs/gzpmnfCzmMfHKu3jK3FfuFwR65yF1MKAVZDo7nMid9BnOmec//0IO rMMk2OuXr8/vT1+wrMc8ZgKGjbVazEPfCjLBFwclPq2aPkpsSfIMYkBGG3jau/pYkYlhRnss ZbUTy6NBMh0Et9WVBg6ZU9WxDaLA51seHspZ0nDo5GhxrJwDj6dkT+vRNqucSP+s5B7bnjqH W5I1m40W7N5uNCvZ+FmuPWuHyBdpHARB71uKNS6oyGPcL9K+O+w84Z8aqWtKJWSxcGNYwFPK ljNyFcGypuH4xpXFG1mb+zwROa1NIMLzCoDxfShvNNc4tlNTNVTQmGQL8wg/4HHUuWq0qMrC 2/tpt6TdGrukQFsNzT92ZUfPUeJbmC0/VGXkbYyeDJX54wr+5oNXliq8cKISTIyHfFOqn0nY mZu1J0zUMcsFt0UtBepbemmMaPrVRzT9DSb0mSqzbY4MhKvK3s78yn5JsNpkabn2DhmWyiDZ gCEX9lhfmz7wr/KO1Oa8KoYk53RS6/SUNklPHeUhbVwVpzL1JHcY7WHKZWapl7ssvDr27F5f njFNsoT0ZY33NJVwMBRoeHZ3DdFSx+wC1qHHSnXuSNes0dTRGtCxDsjESfOBE7tklqh55FfX ylDfZHpzuh8EG6YB+TNzf/fHixlozQ876wegnVwfAJ49sSxwPhDDQLBZ2kqdIrNmEexreLnw hCkAwvPMvggWlG5hzmMcrjpr4X0qrnzggjXnzK53XZwLn5+wQJmR9TuPe+/Wk2Yubu+oaFNz GDAGVlbW2Iu8W/Yel6fEobLgw64+xIrLh+j95cpoedLYC/ZWxPHSc5URoFY0+1Yo6JGW/2/F PbTauRH79HiqGfcokzD+tKbzpQHZhUvAXtnOxV1ja9nwO1h4PvM+Y3l5RVItGQiPduqhBtHy ioijmDR1mm1mWHO1si0+5f4K14+j7cI+LMLb61NdnnnKrVNNXQzkiKfzB6tbJ0Po2PskU0wE 9XFMFVusQ9YtNgsyNywBssG7DJ2Ce35Fd/mcVwc7nfVzzqKuo6Wnz7lXGvuce1YIdNZlZe99 joxuNEcIej0ma1pjTNgG+D66FOhGNf7EPHLeZ2gRzmxPuFdTXD1vMSmozSwJgnnCoeIg2nri tBDVVjTfbeJgvb02iDITzDGnDLjU+qrNerG8sqUajPRpyMYEK0AMso3w8gS8ugVEZiZCmgie 28nmItmGiyi40hy3FCv4ufVUhwBUsL3yxqLKQT2Hf9auEp5AC4CjGz65Zg4QhZ2MkNU88dWw QNptEHh0FUQur3FCUSVoC+paeppbeVBY79cW0lh39dOd7Cu2WF3fFZnHj4rLw1OZKsEQqdLD 6zl1pYYxiDY7nlqLiyrIlafsJzAlF45/5jF5tY6Jb97e2Wb/8LNvjtxTSxyxZ6zcwVvKimo0 e+H3jmdcQfrLyrdgRoLo2jEu7sqqBnXXUnIuSd/lBx/f26cp/ZlAzPBwWhmUt3OLq0yyg0ql QquvH+8kvU3n5fHO5y5Q0hgKU9vtymOfr3NPCkdd03BBa43oqVThdjOjN6JAc6VnE5G3oBl5 jFiIrrMDE563R3zT5nGwoqd2wtMyKOJhYW9iz1mOePjnU8oRzesjzSUuDu8egvj6S0qZHpF8 MpYW6tykcO3RPlCPH6TmAnblE97sRgszAt9EGcYrAjsYQAiUU5zTRTVwuFmss0IvJr0WGy6K FRWiYDY6aWwUMgPp1DunDdOWDgo3CjEU0syrNhGmY92Etx76+7vUlFFMlLSvZqU0GSnnuwzX vLk8Y8Tlb/OUu98xrPPt6enm/etANXkCpuXoc+YUHRqOad53+sRbcer9uVnAxgSnjzguUqtH 7ZP9+de7193Iy/rkpH7gneV5Ru4ghdzvsQpTbkVbKQy6jFSCqQVWJf9urcg3hVHXo2qMHO7p 7en1Bas3PeO1Tv/34ISb6cfQvecLrFYkn6o7h8BCZ2ensMYAdva5MYWziFHrydvsblexxnIg DDDgNpRSZaDr1SqOp8lxMFsK097uUgL+uQ0WZpiNgQiDNYVIdfB8s45XBDq/pTs61KZfywLL dZDRU9EmbL0MqPgSkyReBjH5uFowtM1iHHERRyG9vSyaKPpoFLCpN9GKmvoiEfTY6iYIKc1h pCizi1UBa0Rg/gOaheiGtd7zUctDof3ZxWdTI211YRfzlsgJdSrpb4xZyEvPZ4xgXV75EG0R 9m11So50eu5I13nWMnqIe9uuPuFYDQrLlQHsPNkABhfxcghgIEIX4JtsmhrWs5LlFS0QTDQR ZVKY0Cknm06qHekbGwkO+9A4KydwYxvhLERPJqFPJCcsHVuYsZQjTkoSLGnJtgVPswsvUzKn YqRqC7P03dSytF95ESj7+ZFhFJIjuuA1hZ5o5JGoYAdp9f2YSpaHqhrKDm/T7JxrGycs3png CZ2YZufC00+eFNyR6P6YlcfTh+si3W3p78+KLPEERUyDODW76tCwPb2jplUrVgtPRsxIg0cv XfVgJOlq8wIlCwziBfkaEueRS4yvn9/CaoUTMCAbqYVsxmewUztf5np6CgQoAuRpAlQ/8sYN zVy4WdVfweK4LuJF11clcKi58MHSTbCkjNgajRoE8j3Zvdv2rmCBGXar5ZmoW0x1F13+Byfc Zr2N0KbSckpCGenibbgahz1Hbje6jRk2CaJNHPX1pXGrP2qCAs76+bhZzZyEZYQe6pDNX0NK HLssq30ZqhNVmmHp84/ILlzeotbv2tJXmUB9i5yJGZFDwmVaSmtWKBtlReAbpUbPsF37aUsC tVzV60uInDHJCm4FXRNOUdxljhamwEkRLLbz9vAuwunDeRtta7FehUHs/8asq0NY9bVtp1a4 k/yft/E62cerzdJtsb4U+otTmDOHE9RFNLfxYoVjJNawXBtNhXcuoHuqSuftpmy7WIW+nYvY daSw3ne5gMgZ4OafjTmZK0Ys7fJo2XnAOkR5xj8UUpAXxSkaXgjo7zRfAiyyHNwW2I6I1g2l GZOsNIe/dmw2YaJKNOPp4URm1KQ153AN60JxDv9GknTr1UDnaWi9+aChpuBLJ/Zcguy8K4TY WVcSUuwcyH4RzSEyu6dy4GGqI8td+sA6njTMc9G6REa09U0jKcONQq1Wg2J9fHh9/A9WOuP/ qG7QCGAl2lhjJ3KfHAr5s+fxYhm6QPivnRSlwEkbh8kmsPyeClOzBsR/4g00OuG1mPWS852C Oo017EJOlMLqIEJ40t+dCAv74mX1ZJP0xDBYTQ9DacFkNydnKlE8sydsgPSlAOWfgOdLApgV p2BxGxCYPQgdwbAMkq8Prw9f3rEqnJtu1bbWLj376khtgde3d4aOqYth+4D6appwtbanieV4 FY7KdG3oIgNldV/5/PP9QdDanUxbBNWkpCOpRlW5JR0jaXZ27iwDyK1z34mK4396fX54mccA 63eTNwMkJrvXiDi086NGIPRUNxiDhnfIjWkvBJ3KxXMnU6L2qK+Rl5MbRIkKC/cMwrzg0uo1 4TRCR30RmLKRzm/jugwT2+ClckU2kpAvNNwx6N3WAyGTJVv7s9fbbk2T8DgQzYnws5LxDdow jimR3SSy7ys0MYV9tY6FqjpPvociqvbjjYezhVn++P4HNgIQuUJlZPvbvK6lbgpE+MjrGTZJ PP5hRYLTnnNS+tQU9gFsAI316Lb6ybPHNVokSdl53GgDRbDmYuOxFGkiWIW7rEl9nllNpU+P Ty07XFtjmvQaGd93684TJ6VJMFrnWjMdB7EeBGxxlRKOsY/QTU3LIBoNmwYW87U+EgwDwBu5 U37gSZVXlG1I02KxAOtGGgOetE2OPNq9DgFA6K8qW5q9S5Sv/G/tcxrotJLkg3wZXhcc5KEy 9SXDHC/EtSXDaXVumHWoNNF2TYltrK4xd8JwBoqqvLMrrhYX5it2IKusSvGDaLtO4k20/uWY 7kuRDJDpVWoy8gje/qDuk3HK5bcJ/KsLB8DFPLlZwYm2hycsCXwAgqDuelBNFAdI6eSSmPjy dK5oHRapStNSgwCiJ18PSUNHBiDuDDOCV090lJgxvm4bRfe1mczrYlxlb4b3WbPaLE/ca5dN ocZNP9AY4Cb5nVNTe4DJUshkeyNFZcUQK/9ZmBCex3B+fQV+K+oyh+mRXhr28aouQ+EME11P 1YHhfRWWNxKAxakbROHir5f3558vT79AGMYhJl+ff5LjBLa5UyI9NJnnWWleWa8bdTbVBFUd OuC8TZbRYj1H1AnbrpaBD/HL0n4HFC+RV3omDClgRu0WZdHQ4cF5Z0XeJbV9FRaidBEYT+lx pABl+TSmauOcspd//Xh9fv/67c2Z0RyL1LduDwiuEyolZMIys/1Rq8XMZidHuk5uYDwA95fn djrnwSpaeTsH7DqyJ0sCu2j2GkW6WXlKQCo0JpZ5OuKxbbyWMJFQATAKVTjrvua8W9qg2VUJ BrAXy63p+ZXfkYPquZ0D19FiBtuuO3e4Z+65r1LhgCfOeIS8rGmmSskukoKbn/zt77f3p283 f2I9GkV/89s3+MIvf988ffvz6fHx6fHmH5rqD5CEv8C2/t391gmyKs8xqTaI4IdSZubbYquD pC4+d0hE7jut3bbIICKHaMfuQL/lzqbNDuFitpmyIjvT8hxiP3j5anBFm4sqYebLmpiOzQBu ijyCm9uIdG7IVVS4VegBqsTa2UrJfr0/vX4HtQZo/qE2+MPjw893/8ZOeYXRPqeQ9HEgQV46 e2NW2scA9jmaxmavV+2qdn+6v+8r4SmshmQtQ5/2mZIRJZqXd9rxKd+iev+qTif9psaqt3eJ 9pXPSr1qiZAlO2fj5tbdOCNIV/OYr2esx+HNXJlIkEdfIaFvFxC2jCtq4kIMA6eqKw7ThCJQ 8fCGayCZ+PwsVAcfVKqZ2xXruPy/tyA/IuHA2jEn/lzfa5Y1e/JKLMRPGa3Wuw1b2oFfHDuL gmGBIdswo+GFLbhLcE5W2EeUK+cjLC82iz7PKX8toqXSx3d2zwi0BHUEVmr5uu0DOwh96veI 9jA/JMCEAJ1hZEBBr4/hPFqEbnctiAg53+9Rc/a02OlEDhMkeY0Nu78rPxd1f/gspuJVuNCG Eld6xTnrC/5ZQqccU56tw27hDnV2Mow4s8zbUdg/LBFYmfYFN69OGeQfCX55xiI5JkfEJlA0 phRE+7Jo+Dnfg0q0qsXQNHFRCzwGnwAzRm9nt30YyByLO3v09JFI89xrZO5pNo7yX1jR8eH9 x+tcPGxreIcfX/7fRejoTx33jbGI3nrJRhjow+PjMwaHwsEkW337X+tihrbug1UcqyutPGtz Jo8PNQU1opcVX82rfHhpqRcGPYrx+1OZOFZkbAn+oruwEIpXz4Y0DIWJaBNam2/EoLuXShka CewyCwO4SOowEov4gycFzLlpth7hXbAyK4iNTcoIh3Axx0h3MDWKQb6iF5wmSo5Z09ydeUZl a46d422ae56ZJToH3CzteOy+qbrWV8Zs6J2VZVXm7JbiHSNRljK8I+923jmcRuessRz14wKT efLYNDW4PLtwsTs15LXrw6c4lQ0X2XCr0bDKYHtah0i1dxRmqV7bF63qh7A8n83/1dIknsdr YoQD0wvcgcrozsVkCnj69uP175tvDz9/gvYgmclMypLPbZZwVrmHrhq7lCuImVHYIq2d+YDj m9W7WTvoTPG1sm/xfwvbi2q+JekTsOgaVwSQYO6puy2R+V3Zye/pa7TYxWth3hCkoMDozEtx hy+U2FY0CT538YqueS7RHk2gBqb9h/5m6NV2vpvdxn4T0K4aNQFtvHGHagZZDZAoCMZFg8qo 7PLp1084JahOdWS3/81YWlKCl7FGF9TKDbvZFGo47hZfg9KGFLnfSUPdKpgah/E33llra56E sVyOahvt06sz0vD7iqxUouK40u1qExSXs7tXZPyNC7TUNgn6xMr7vm1zB5zX0XYZzYDxZrVe kTOJp4b/qxWC04KLmpUPYqP1tIn1ahFTQfATPrQj4CdEvP7gewB+G7hLRoPDWXsqJMk/UMST d5sP2O12+U/j6rlr395r91Lfvo07d3GO5VXdXWAers7HgeO1osQrvaLdXS2vPMQEwGA9x2QK ZdrnVbRYmkRhMN+FokrZGYOp59ECNTE/ztESrJfUaoyCLVmGy+ASgTs/SRTFsbsQai4q0TjA rmHBUoY0qQQcsfOO8zKGkQR//OdZW11nWtAlGO4+wGyNyvikEyYV4dIugmDjYkqDNUmCS0E/ TWoCerji5eHfT/ZIldED6wIV1jgVXKhQEBeMI1ysfIjYi8BUtxTrpztDn2gCKifFbmXtaT6M aIQj6FrPkInuNkXkfzjqE48/2aajzz+TZrOmuIxFYS5mGxF43jtbLH1jj7NgQ8vYGETbszN5 4abENZl1m7cBnHQiAueKXS4O/2wZ6ZAzSfM2+S9lz9LkNs7jX/Fx97D16WFJ9m7loKetaclS RMl256LqSZxMV3XS2c6k6su/X4CULD5ATfaQhwGQhEiQBEgQ8PZqbGQZ/XuV3JUwK06AGtUV f0J1Oea0407I1nbY0LbVo8mlgFsP9tosFoTKKjiptnGWYhoZmON0VFDhpD4XnwddON3inJN1 0QlMEKOfk84BzzRg5KCfkBNLYLv0u/02UE4WZ5yQ35XCuhwrcM+EV/kBLIWzTzXGEkvc22Pc HXAMEkq4RZgvjqUqTd57kRaORWd11tCWK93J79vScYje7cZigA3+EA/ynepcJwyqGzlbh+Jo wlH7hEIidmmtD0rWYmETwcVIDXo+o1Bd9OhVQybZUQcYM4Fqs96LgcYYBi7VaJb3PLsC/5Zt GFA6o8Q7f89hNgCjt3UDoh84Yu/QCC+IKJYQFZHXpBIFKMBEraxO/C1ZqVCJyUgpConnRqaY cOkRS+OWmESzwyfVbtfDnKW+ZQ6qJv8cz6q/ngBOVyNHNWqDcMR7+huMUcpDdIp9n5T9cBi6 QVlmdSSlEtyJssh3JTmW4Ft3S1aLGHpHXkhq1yFfsqoUAV0/oig5VSn2FNOA8F0Ssfe2VPKA rI+urgXh697mC2rr2pzuZBr6nZtCE9Ke5BIFmfOAIwICwVKwPIkeeNhhvFAC7jo0oohrNzia e9mSdqGtclZTN6ILMxhRhSzMXW3XivbXlviKjCmHsQvYFR9tNJTlVQWrhs0HdCISb3PoR/Yz URk8gP2ZEB0VuaAhF1Tr/MjIK+h3vgtR4EcBeaM5UcyP4GL5Fey9OEuPdWbCD1Xg7lhNIjyH 1RS/B1CjbU7Dd4o1gRUHZfHJbPVYHkPXJ8auhBLaWrl0eeAQJfASeZJZgz88hlvh749UfW8i oCDjnetRglWVpzw+5ASC7xXEBOSIPVVVn8IWSsg0IjyXrmrreQS/HGFpfOuF5IwTqLUlGRUE 1yUYRETohORizXEudVmjUKjZ3GXUnlaIJBIfVLA1mcNEJJbZz1H+P3AXhpRMcASVhoYj9pGl OWB2v74z1Gnra3ujQdOnoSWl5rIBpFaP9GnA65AOYbEQRGt5eADtk4JUR/RBu0SwNgUBvSMk t95RcwbsKRJKyX4tH8AvUHIugjZAf9t+TVcCdOD5pFLEUdv1URU0lK54X4i4fzU5fxG1tVgP M82pT8VBVMl6i9P8RJj2MCWJrkVEROkVgAADlJgniNg7hALJT/730nLS1pqj/kRHg1GV8yJy zcH0WmlRtGtbZtn5gUcvClXtBU64pl/yNZyUUrCzdq59IXRIj3yJxHMiagsQC8fOVrG/3ZJB LyWSXbgjl1iwebZg49peZdyJAj+M1tbJIc32Dq3LIcqzvv4RNB+q0P5AaJKDS42awwoP7NhT 2ySAKYUXwP6/KX4Bka7tg4vrqqko1rkb+WurWw662tYhF05AeWCdrHYC0IQXz1llr2bpNqpJ 0Z5x+/XxFmSJv1/7Etb3jBRW0KbDkDI9stT1dtnOJSZODBq6Qw0eIKKdR5eIdhFlykEX7eiZ XZ5i2nFEJlCDjEsY3/vHXTla35T7Y52St113grp1qUWUw0mh4RjqQEgi2DpENyGcmhYY1TNt B9rmA2S4C2OKkXPveuTN20Kw83xyWC47P4r8dSMIaXau7Y3mQrN316xGTuERxhBHEPsdh5NT XWBwRdKfRlCkFSze/dp+JGjC04HkIfSiY2HD5CSKnz+TjBtXrpR7vKlQ4vMZ20nrnah/cFz5 tIRrG3FlANB1vDvkJ3y/PV0EoCkeP441k1NSz+TcACQ7eaZoaI/oGX3pSh51Z+y70pK2bSbN 8iIeqn48NGdY5PIWQ7ZYAuoSJYq47ETi298uwvMf8zhPRNdSBaY7pKpq0rhv1JuEifz/wYr1 Owk69E4eJxdlAr18CY1fYVy4LU7EBBdZfi66/P2aRA1V3Cup6GY/C7MQj6fimXDhDcDZTKtY XgIFBoOOZD1sBw0rjKeHKon9UwTd+yHuHmTKd7+kmQg0/ta5ouPn21cqBsBEYH4Cn6hzp2ip HESh8B95wzfBS8X34jyaPPoOj7g9YGYu2g9Muk8jarnEfXrMGtLvHmMFN4yViRI7QA7TxknS EkPNyqTLerXgLQ2wrGz04gRag5ZVftJgUxpI9colSeuYqBnBGpHgIS0t1He8/HULgpFpFDh+ 4osqOrOMgdHTml5RFUL6DY8gmdKqLk8dP//89hE9lOdgsIbQ1kVmzBoOA42avPBBJHXvyeHM j0iNY0Zq3sM1F8k2CMhI87xQ3Hu7yCFZFMHRiipH335beU5zrFL5HBYR0F/B3pF9jzjUdEXj tfBbTQqmhhPiHXcPYGkC9QewMoqO4CRTLG9b1R7ElZN8ZnXHyl50WON0eq685pDgBJccYxMH sXRTRSznWRPaJTVvjlS8/BCCB+pXfbgmoP6OSEaV5AMwpDiWIajbvJOWWsHQHNuYlami2iMU KmorSpPFuuT9Y35oJ1dQtanubythmJpIcdm0kDeyA1WSMbn2l98iTI8aoZUMNwpNOgSRGtlE hc/O3MpISGj6wc9ChD6Wat3ctzOtm0ztT0Q9wIZnHRARdtHRywgwfRh6x4eWoCdcrPBKPiBP Sye09vhgge5CCrr3DclF+G5rnznCX2GFBXSKMdrCiI1EUwCmbFWO7UOfKJOfCs9NyFvE/MN1 jmynrnEItH7PuWzzjj9wsjCCUQn1Ktu0CGB5oc5+eRHTV5OD+8Dx7T3bpUEf7Kx1PuycnVHj KehDy9064hku3NbkX0hQbqPwatDIFHWgvg6/Aw1lQCV5eNyBsFIXMaIGOQZGnFwDR0/WHicY JMjYfCdwY8k6xCvv69b6PZorGsL6coxr3w9Ae2ZprG/Wuiu3gKHfjd4tPb5tHKxstXFVxxZb s2Wh6wSWZLzcVcWltiuBirSdaXb3pqB7h4AKJxf1WwC+20b0Gez8sdAL5N4v4YMwIBvcEdBd SH2I4l4uQT0aaipFdwyxUwMOVmqfPsjrL9XW8R37FAICzC+1Nn8uletFvibaXIRqP/CN9ZcO DCUTCF9/o1y9MheNxy6yJimeR2jqpQCaXTkjDOUtZduo8rY6W5c6cB3bGoBIfWy5i78hjBxq 2ykAuXXManxzAZ6cMO1a2URgfJ04I6NgZhfdHyncm+64Y3drF6MuP+BZBXkF16XGCgigOqYe 8VSlnJu5S+fww2oIU0wieEdR6liHW9FMIJ14IDwk4X+cUwkuN4WxpNbbYvHpsbGVBqOjXS9e p/n4kGQkW9e6pSrmHXMuU0vKE55XhjsOa8+AuWF7eHv6/tfzR+IVcnxQVA/4idFayCY4jkzm xTGye84ECLcqSMvEg6B7ukYJJvLGyQB8VqzBznqpvCigd9S4waghH3rpxON8iDFMkQFAvQ5U g4G9c6Xwm4hkl7LHh6wNdYSQyc8h4MdYlxhZgCkrNsIz6I/hOtujZPdyMu4kaXHkkglASaoK dLimmRofajbFIVL5Q3iRkKgiwXByxAHkgmzOecfPPd+BMiOjqybORpDAbCzKrlbDNSC+77V+ OuT1yE+BLDzacGetHrADeQaV+0vD27ePr59ub5vXt81ft5fv8D8MbCOd3mApEfYqcvgjEaV/ RZiVyiWvuGeC07UdezDG97uryk0XZ7necwLGD5XbXvsamCIgczoPAgpsWKVgokhLKoKpRLA0 ShU/xF0vBKpgxooBZunmP+Kfn55fN+lr+/b68fbjx+vbf2LckM/PX36+PeERmdqrUC1as/No ZM8/vr88/drk3748f7sZBXWORtIvcUGObZeP5/xwj2sF4E31/Ofb09uvzdvrz7+hEWmYYaYZ rszsCEp23Fv9/hG/Pq1OzXDOYyku+ASYjhEDEjzferzzaXRdD6pYzGh8jmEE0eFCuHcpzYhP kENe61PmciiuehUCCvM6tVxJ8Vlax4HFoQHRQ0beceCQySfPfF08xAdP1ncQmJZdN7Dxfa53 QJfGHYZtOWZyhA/EvL9WKiBp0iMzPk6EqQQht/DXTnkTFEFtn77dXn7ooslJx+qc0WKzkLCy bkkFeCEpMfLrA/yz92WPR4ngdGoqDDnnRPsPaUyR/JGBidI7kVPnTuDoXTqxIjIhjVW2d7Yk RQXIwzaIfArZYGiCPk+PYK/ikdCeZAT+jkFRKtPxfL66TuH42xPNThezNsFQEDzuzD0pyBrn LMz9Y0z2kUQS+n84V4f8BolqF8d0L+XlQzNu/cu5cA+6CE0kXJWr3ruO27nsSrqsGNTM2fq9 W+Wyw4IsJpg5owR9vY+i3f6siXNXZoecKnfHKDJbzunfNsnb86cvN0N8RQomaC4+XfXskrJe MdQJV3eyOFVbR8k30z3wOY2hy49li140WXvFo+NDPia7wDn7Y3HR1jTYM9v+5G9DYyxwhxzB og31OQEbMfwpd8rpoECUe8cz1jQEe2SUf66DNOxYJrGwRaMw0kuD6d8X7ZY8sZh3/jg7R4Gr jesdoRrGWpkxzW0b3LLSqbqeAK8UjLu0PWhr57FkJfyV1No41ldmAIpEBWFcKkWlnQCTWpto iXoFDha1vedR+9FS2vF2/vverLfL27jVXhFOKJgeAfn2XyKI/ECTSRFOX/uqrND1NFd2xuIf sXM1GasPsSlflPOL2HC0JZLF55iex7C45qeeq9jj+6EUdo3SDAZzMSMk84ldvD19vW3+/Pn5 M8Zt0zMTFEqYlFkT53o5wTeYAWmNWQ0lNgF2avqyeFRAmXy4CL/5w9Zzzu72poJN4U9RVlWX pyYibdpH4Ck2ECUmG0sqNdbphOvA9GjLa16hB9uYPJLR04GOPTK6ZUSQLSPC1nLbNWCb5rCm 9fhzONVx2+Z4mpTTr0fwu5suLw8nWC/BqKW8PGcuGzk+FXZxXsAGCbXLt/DcUEuHROMZlmkR JEhuuY7xyienBBRHTNIkpTJQYLKyVG76suI9gnnZ5h1HEb2/5niyxuU4DhlX65QK29rTe7f2 YKyKZsToZs3pBENm69T0EZQHz5a0Gghs4doRBXsIjASlz3OhY70+7NC7ZN5NRIHIq3Nlq2ao wQE7UEFbACHnrpQG0820S1qsVjsTuYP0a+YFYXsqvlDQItCV51irEUH6aaOBt2d6ninu7dmo ymhrHVFcjm24Kt85QUSdq2JB9YRphtzdPHS4chDKp5EaiuMOgk0MQ1qXQ21MPIHG1HnvB/qo dCGzjNGE1bm5nycovSsOFNZGSFCQI2BQmT0T949if1QmEgf+86jGPZ2iEWWduiVE+LxXKsQc uPaVE0WcpjntuYo0JW214WQuLRP1lDewI5TqSDw8do3GoZ9ZskBi5U2TNQ19P4PoHnRaS2/0 oOcrTlp8gXswlk9LcbCca7GlK0uogIJ6Eddjfiad5hSadGC9nF0B6jjkWj69GTZW1n4Q+ANl dUhYV10Sp7tbGcLSoVBn5ZBp0zypoaZ+q7ylxDaIV+189Lt+ILsBZ2OOJlpT61+LAdw80oTC LRbT07NjnusbSjw044O7dyzlxLGB+r0MNgUn0vogku8O7/NwrNJMUsMW9xkAp1XM2HRrQDS+ 1CETUm0YwQGl5o0LwQXXXigfswWv+1ktmMUjg6iWv8kmJU5qut7tt+54qcj31wsdi8FmjykW 7pdxZvtZu9vJZqyGimiUcMuz9GHoOyQXHLUnMe0uCK50D1kDbCwk1A26NOAWj8mlhXPgOVHV UpwlWeg6lopBVbumJ0ozBr0LD2cl+UPtu6F1VN1crhpLOG3WDCdFAkTIXzCIjJuwoxw9DX4s kWL6Lj8demUJAbwth95wJM0trHGZRyLW2ffbR0w8hQUMRRrp4y2ewqlcxWk3XDVWBHAs6NcD nMA6ZziWkbHGOWoAc6fS20vy6qGkRhGRIuyrXiQ9lvCLiknEsU3H4rIzCvFrTVuZxxbUaaaX gYE5NDy6qvV7c7wFs3dWXuW0eyxHflBSo4phrZOy06TnUMgHKQiBclpOYg59zFXAJa76ptUq e+y0SzmElhgyXf98OrcYYv6IEzWiOwL7S3k6kqaqYPmEwYR7veUq1WJCcWCe6YBTc270FvE4 EsXa2v1c+7JlnRcEj0WlXe9weIl+v01BK6ecosGkVzmtonKCoepLPkqWtk+yiycCYN/NH1RQ CwYnzIGq6dQIzgtYkz65bN7HGElW/7YWc4SltoWlraBuPFZOjenQdiXsppZyMOd6Nd+wgPKz c1sZDGqiJkjm4D7PK8xLlhssQGVtNdCaOOK7mnIq4HKP9wRgwytieweuzWFWx13/R/OoNyyL fmkKJ8w8Rsds4dgjTIbaKHPsQFsWcRWt/Ay4X4wtaQPxWV+WU5Zrpdi1PNXUToy4D3nX4OfJ ZWaYXcA+PGawW6hWJe8w/vptPA50pi6+F1SteVGMgTDV/XTZCVkyapuhJtPm1jxXl7wC9J5C wNgdseqHRFpvEMDXjHdy2iNqn+cpmkqtaHNMyxFPvKp8OrxT8cZBJwIxP0KjEfKkwMeYjcdU bULu70E87yFGiFdxOoHWkuZgiV5mn5/5q+rnHx9vLy9P326vP3/wznr9jhfqWtfM7+xQayqZ xnb2eIrRZR2svUZWqng/9IfxcoRFoRLFFJYRmVRcl2O9LikSHWwEDO3YA4YOA4DZc0a3XQb5 edQMGdMkLixg9eUOFxvMX7WW14QXDaOr40yjo3zdFUXgmNLiigT5PxE018FznWO7SoQx9dzw qtNoFH7oGRI0FjAA0ADFPI+f4Lnr7BH8S+jB9T2qalbt3PWKu10chsE+WiU6XuKVxgGjvS6b oUwXDATyUJO1OI+4j7+4D9mkL08/flCPgPncSim9js9HkRBT//pLRjtjIa5XPfpFLDtYxP97 w/utb0ATzTefbt9v3z792Lx+27CUlZs/f/69SaoHnryTZZuvT7/mjBpPLz9eN3/eNt9ut0+3 T/+zwZwZck3H28v3zefXt83X17fb5vnb59e5JH5++fXpy/O3L2bCai4fWaq97QBoaXp3ykV4 Z2ddasgaR9BPE+/4Q5wdcmMF4ahswDedDRH8uX15+hu+7+vm8PLztqmeft3e5i+s+QjXMXz7 p5v0Fo8PXdmMzal61Ja5S+qbkHF6FamwxRGCY+tgc5rfZV0sPRum7z33iprCOPiZcB7BnGd0 t/DqfPr05fb3v7KfTy//BWvejffN5u32vz+f325idxAk8yaIiVhAvm48c8snfW7whmDHKNsj uvlZRpdT3fuBZNZ2GXEnwNTjD7D/MJbDBG8KbRNCpwKw/WMaCn1nQQzyPeW8kkbySc0CdCdq Y20GevE2VR9mgk6IDNkRM4ldYnB4+KBYlqqBscgSXZ8vCjwFMFmrqiRYqs/rMqQDqExYMjgl X0OzoVePIAQ/Z5bbRr0rG+VgVmgJh6ZXrUgO1ne9ycyHf6M09HXcHJJc7fzMZj7ybbTPSrDx dRWPH5FkMG5V/Gh8XMngnzN5t8eZ1ngGAQcF7lyCwS0iBMjMNZe4gw4xthqL36FQPTDoNN/1 ivLaD12uyzSernGfG6XKR6CkbD9e5wfeGVdP214HFL3EC9yrobMeGaiN8B8/cCg7RibZhnK4 LN5HYDKO0LcYozbna/BdYNu/fv14/vj0IpZ8Wttvj9L6fmpaobOleXlWmxGJUpRoW318PDe6 Dn4HitmePM5K85pWJl9M2He5aVmw35HqROi1QF7dm4SMYoB/Lx58Xd55BHbSH8bTUI/JUBR4 lOpJvX97e/7+1+0N+n/RnvXlYtY9h4y+kOPNdavoWU20KWDX2JPfhHF94Wwu6gjztfnGTq32 WGmGDpnI9qPVgYxogp8ApWhM3dAZbdie8t7zIuqVkNTz93x56iY51PXjijJclQkmam5Y2Wtf BFoDG6tEBxrmbCGps4rBiv8tmM7QDCc2FZpOU6NpoibJ6YtBher0O1Xlv0kEdnrCVpS4O20H Nj59IKVWmdvMhTtJAeMxMnuXFmNhm9kSjTGCEo6wTPrHNrdPNNjGuPltJRgqno+T5OsiS9eF 220q4HKUE28ipHS3O0dyQ6xl38P20rH8PSgUtaJuTWDTaXq5usGMMgOdpgEqUzYR+P0vlv0L i6wcA9yrxuL21RmxLDvSD+8Bd0mYYiRzZsqiRmuOLkFdQvNW6AAW9f8xdi3NjeO6en9+heus ZhZzjiX5uZiFLMm22npFlBxnNqpM2pN2dWKnHKdO9/31FyD1ICgoM1Vd3S0AokmKDxAEPmDi 5TkJMoxlRmj4BdK3klyuHCNqP8YdeMuPD8X0t+EMlNKBOFkQwUsfdFU3rFRExrvbfsJt3G0H AAxAIi40E3IcxKIIPYZiQLTIFHTidnr6ziCzNK+UiXDXAebqKOOAe/WfDJKmMPltYzYbRCPy RV49JJWjRwS13JzsNR2562NNswnupf2so0hrmryh52hV7yZE8lY5KoQJ6s3be4xtSTZB39iK t+O9TpTvu25h2XrUtaLSYCVFE85sMuU9IlVVvHjm2NxtdMeeLnrlSscCzhe74zpG9fCyXEc5 bolL6isu6QjVwPrgSK7K9mb33qrpQxfkUoZCKalKYDT+pN9GILNgAzV3Oj0cOiuz+e50yiYf 6Li9/gHirNc/2YL42zREhRRgEBcUtrcehsEe82sNJAPtum0AKKAVmLFR+ZLdhDgXbkHvO1ru lF/LJF/5mQyV7bueZU/EmALTqlqxDixq2Pr2YtwfHzUqjJgYWLGkHwtnSjFM1IBU+PdDbxWe i6AJvdeKyJsuLdYrSRXbS3fSkOuYdXNaTX/0fiMtPmnOrvDt2dIcVqFwrHXkWMv+zKtZhieV sSBJO+efL6fz91+sX+UxJd+sRrU7zwcmXOPcJ0a/dNd0vxpL2goPoLFRTRNYQxIxbLJX6yT0 5osVX+Xienp+7i+i9RVIf8A2dyMy7fPwuG3EUljHtymnBxGxbQDK0irQzzqEz3gAE76XlQMc 1yvCfVg8DDbks+WwkWnupGR3y647vd3QEPk+uqn+6z5tcrz9dXrBPPVPMmx09At28+3x+ny8 /apv0rQ7czcRGF3x913qubGRhpaXy1z47n8vBofBobBu9E9FZDyM/eP9DkL4OwFVKeHUxwCW p8otUrywE15eatq5ZDGuf0hnSsoLj2aoRwICOc8W1qIyIgqQJ/ULpiA/drtbyR7NdCjWOHui yaExvxfCAsQqSDYkKAVptb+m1GSSIKK/bCRERopuI1Yph0GD2/gxdXYXEXRWzBn1au9wYOoY BogoaZQh0SS3KFjFm5ibo52EVsV7LMczbBY1tS9GNMStKCtSWE2opdq+9dqc9k0/iIcE9PID fRse6pNU7xNUuRv6WpGrct2/bpaFov2qK0HcS6r2BcpDZ1itaQiFENHbxq0/mRgJ4FreTox5 iOgwxpZ5YUgtx9vCmu10DTGrQ371Rww+lLNnbJDzVLZoqp1XJUMp0qDCC4EXcszxmYKuwWPl hZwrBnIyP9+jT6BKKawxfDgjdAxSmssGAyIHNi0vFQ4tCZE5O69DUhKsWaxpGN/KS8OigblS 1zObi63EqVkjbWrTcr9KD5uSDCwVlW0+IzoaOVXUZP7cWDNXiEKh79s1PUyysveLTSLyPrEJ gOt7WTxdL++Xv26j7c+34/W3/ej54/h+43xctg9ZkPMrv2IhOldmDJbOxlG4MNG4W5PDYtZm Kdeqp20rsO3cs45TihXmQRToZ0Ykb32yLsJeKSME76k3LbqDVpGbFSmH11Mnm1qFqb4Kd0Sz NJ01lKNKyvR/kfL51jYs+A/sj2FmIDK3bJfVUFo2cV6sq5wujDvzdfklLGC1/aSmjYjE6eZT wftVlno7jCrUr6AKz0KEuHsd8WCbqfAWQul/WSTSPs/a2PzBzyjKfA1DwjFfReV5l7kSyoPr 7zbVle/qMYxyzHCDLgtpm7CzV3FKMomp3RY5xbZMfIQ2ZO9hYmEUlgXuHaWgA1/h5nW7jYrU NildWhmpVkWVr3dhFPVZW9LMhkp+U5btxZnXbxP8PR6P7Wo/CDuo5KRn8d5QXYnEflX0oI2E V1Zh5g2Qq7IITeBslSW8hjBflUWRcq6/teA68ofAxUO9U2pSnPd/LIv7WI6NwCoGNVMruUWt MD5dfIhpfzeCd7qJVF7fVpu4PJgVy/VNqO4h9A71VNipNpr2Ut03hbENIf249eRBRcEZ7sZG qhFhuqdMwgIL5wZ7dGh3gP6bDd4sGtJhZDDvY7VdEsTVmKErcjvaUrMw05Q4b5uncdDWQJic VHQfqq1by8rwzpH76i0ys/7lG2JEe1kjg5bA9VEjAd+hSI3yEF8Nb0JYFJ0YVng3Sbse5gqP duijBYoGSYq8RWA84CEgEeiPepdJSx3yGkXCu7y+Xs6gil+evqsI6v9drt81lKL2jV68EdK2 wifO2Zp4A5DL1buTavBX+xwRTh097w1l0ZyolDeArqkJeb4XzMezfyK2ZIEjdCGBkd+Vlw1U KDnw+7AmYljxWJEDbwvQRULP4f1lNKG9xwMlb+9FFiaYHKJnP1JjQ1w+rhzWPBQqclh+FvbU IWMj2BcMdQUrtkGFM6SbrZSpiSh5EuY9C3ljCSwH8g3Y1v5GIC7KgTxMjUQxgC4bxLWAKAau kdwwgmMEt3dAl5ea7UO5wx3Px+vpaSSZo+zx+SjNS9wFfr1jSUHzg+TH18vt+Ha9PPU/Rx6g kz6sNq2bQP72+v7M+VjlWSyawwa3N2BgGupLTUEwAs5f70/Xo2YU6fqykVY179UZ8yj8In6+ 346voxTWm2+nt19H72gf/Qs6pLvcUsBpry+XZyCLi6dVXLJW18vj16fLK8c7/Sc+cPS7j8cX eMV8R9srk0NYidzl1ljETy9as8Xh9HI6/xgqSDlTwBzjUL2yuEmu0hos1ONoc4GCzhdaVpOI RaaNkXfQVQqKZ8wb4XRpONPhfoH+XfqBQRNA3UrAJsGz0bhsJJchb7tChPvAbETPl71rr9Ib NbPgATWbpoDgx+0JdqDaN7pXjBKWSU6+uB7ZbBqWzD/PWSYV38Ttr8mt+utMltwmVYuh37oz nTIFNPcW/NLRyuAlxmciebFYzh3OxFcLiHg61bOV1eTGlYxjeEzGClgYcs26FepvYvJf5XfF 0SqPWF41Bt7cpgleYbMwsiC4kxAqIE4Lrs3SqPw0P0vKV/9l/VK012mZTU0EzoBWxKYFiyZg hT/qKIn63c9/PPDbca0Wraen48vxenk93sgAXsWutSCHdKDYbHKUVexZ07F5otapFICDcAi6 su/aeiJX33UIJhgcLvzxzCQsDYJ+eJEdXOuy6vdMIKvdQfhLvZmSMOBBongGWMzu4H3ZWWOL xeoH3cYh/ibufDKd9ggGcHRNpMjTQJzNDIcUdzEAqh/jvbBlAo0rqkmgsOMHbzIes/jgB29m 0yVFeK4zhB8kih0o3mzqZeCsXImgrYbg+RE2TvSh/3p6Pt0eX/ByCpZTOiBdzE+wkZmFokKH KPbn9mxGn/XEsfKZuEEAZTLn1k5gzGczQ3S+5JwBJMMhv7LQMwjD89Km/CW9sq2T9vBp49Xm QFO2YyIaSgmSfRClGZpZCzhwpyRueDFxtHG2Pcz1qaT8EGhpmLd2oufMlATj9h5JAxsD5iMZ D+QYVtnB2btuxaLZE4DkDOXrcQ/LmcUjwGBybJvFA0HORIdBTNySZiSWt0l73K/7fiFdZrOQ /1ydwN6l0Q/ClzpAnPqDmO6Yb8L3xguLvNhQHW4GNcyJGNNcpoph2ZbDpwGp+eOFMID4eyUs BO/aUfNnlpjZ2qyTZDFfTse96gjMLjz4WyrThjvg3ozYkZE3mU64Obhfz6xxPYZrBfztBRRz Y9lYOHJOKy312/FVOsSL4/n9QuSKyIUteFvbYbXTnycW+tQJ3Tu6qu7/UBkYmC2nsen2cgH2 ZXpHj+3pa13LEYjXFg8t2havWkSXgdbu0C9E1rzIvQRsrV441AWtfCew1W/FJaswfpDnkX3L 4NVdUVtxPs437cTj18s/7ASPak/gN4LpmADg+1Mj6zlSFtxaAwyS1hafJ8aCDxQuCTAwpksb nT1EQApAqlHCdOlwEx05Y1rxmT3JzUQkuMbO2GmPLyzIVjed68oEPs8s43liVM7Yz/StzmGj T2AGLWjSHz9LEWSIRU8Vk4mttTGe2Y6jO2m6h6mRXgYoi4HcybBsT+b2QI4s4C3tgSUKKjde 2KbvmVowjIqroHaYYV8/Xl9/1ufjZkSuMejveH76ORI/z7dvx/fT/6E3lO+L/2ZR1EgpU5M0 kzzeLtf/+qf32/X054eJyO76yyl1jVQREd8e34+/RVDG8esoulzeRr9A4b+O/mp//F37cVrg esKl620m0vPP6+X96fJ2BJa53vmhsGZjXd1WJMthSDOTZM+I1CEXk6lxWthA8fyXy0pnrJKl DJxVYL3YPORp5biH0FydahaiDXzChjnVYxcbR0Glq/X1+Phy+6ZtBA31ehvlj7fjKL6cTzfa Z+tgMtFhsRVhQoa3M7ZI/hlFsduf/Xg9fT3dfmpfpPucse3wAPTbQt+CtriF60kgt4Ww9XVN PdM1uqYZi822KFlnVxHO4RTQvY3Pdtt3IYz0G7oIvh4f3z+ux9fj+Tb6gO7qDbDJ2FiZJZFd nFdxaBH0L/lsnrZq6sD5LD7o61+Y7HGwzeRgI4YDnUE2Mo3B7WKRiGe+OAzR2V2x4fXKw86g nmM6tTMxKHfI0/O3Gzto8JLUjTibg+t/gUOTQ7FU3QgW5DFnuHEzXyyNmAdJW87Y77W15noa JHzWlxMvdmxrYVGCvhfAs2OTwydQZgMpEZE1m3JDVVemapA6AjW6yWw3g8HrjsdMKvRQRPZy rCcgoxwd0FpSLD2h4RfhgrKttSnPctCbrX5pPcf6Iifu4bBOwFKirxxpVsDH0EQy+C17TGki tKyJPk+LnePoFhAYgOU+FPaUIdHh2pGNNaLwhDOxOBclyZnb/dYW0FPTGfm2krTgD3XAm0wd 7uOWYmotbM2FZO8lEe2nfRBHs7GOALiPZobt6g/oTOg7q7dTxo/P5+NNWb+YTXK3WM6pAoUU foS6u/FyyaYcrg1esbshx0qNPLAX6hLUGORuHMsIZHKm9sQwfSGYB77Lb5TND3/GZvbR1lEl 9qaLCfnGBmugVaaUatm/2kTRby/HH4aiI087Zd9JPDw/vZzOvc8neY3z+Oi30fvt8fwVDhTn Iz0Lyfi/vMwK3jQrHsRaaCyiW71dbrDrnXqGU1/A2KMmNdBwJws2F7XkaGYjVGoth2bYBBI/ N4os0jULs2LQaH0/juJsaY07/Se7Ht9x72b3lFU2no1jPoxvFWf2gDOpvhSv3Jx3zNlm7DEj ziLL0i2j8tkwjCoanQpZ5NAXxXRGtzxFGcQ8rtmGSkHYDm/WqmeKxFHgPtB0QkfCNrPHM25K /JG5sDVqWnZNoM1viNqEkWrBGeFp+ouXcJbSBFh/7suP0ysqnjAVRl9POCWemHNBFPro5RUW QbXX97W1P59PaGCOyNdjblcQh+WUahEouehN3uL4+oYnpoFBCJMjjJWfVOqlJZ8DKI4Oy/HM 0lTwIs7G+iWBfNamWAGzWt9B5bO+wyTFijxUoU9cXJCkktcVrO8M8rMw2WRpsqEFFWkamSXh tSc7tuQLGHhhJh7sjrNxMBBsnN1r3knwoFYyStLS0dfynZcjsOtpzBcuPfzXhfEjZmpcRaMO zw1twA25Y3cOWhpLRrMt2jEd5ncyCx2DRZffIXqNdlLDrFuIzeYeqiT/3dLWupqzh+2qYG/u MgTVIa5dMkM0rL9eaBsDXcb5wyupV7BIP7BSBAXe+RV5GkVGJkrJc4vtfMl+75p/ENZAVnAl sAryKORzjymBMD7wy5liI+RlePeZQOZZRsYjQyIOxED2M8XPQlFgiiN+g1Ayn0Sw1wLo/zDY xUXYxaAZL/7xkHzWvCLY5G61ymLOu3eth4nDQ7V2d4Ef7PVfQTIoDfuQx0HHSPcc19cAHV5i 800mlaVawLcPI/Hx57t0RulGeh2EQGFcVl5c7TAzLwLOUBY8oFdWZS+SWILKkNmpM/FdtptQ SqZRRxFuEgO/cSXFQsxfCA4PSSomEvXks9+o5Q6W/U/kpvb0s/LQeWQw87u36nf38YooJXKT fFWWoP4yk7tkcRtwsq4vOb9eLyeCDeYmfp4OwHj6LLRsAku+tiSKgj4oABRKEmmZe4H0MkhJ LFHH0+MbDU+ugkcTXmd8Nhah6WXwUCns1p4ri8biwS5RAOau1jqJHwzrwaFTxLWzAoNYUOKl 0ma+tPVk1uXB8D1BCo1iyWI4eGsbhwh1WwI+4VZgFCOiMCYbBBLUraBX5G1CxPXp+iqz+/Td hXwSsAWPVToAwtumn4KhwCd+llEW+UrPX+b5KzpU/Thk0dQxL5qhLEiS56JXECzZSVAlaVIF 6xCWvihaGc5NIUIxVuFqjYBarM/X+r7y1pv2R7p2afQmfoh5fZOmmyhg0uHWDLxfknm0ZKDI 37CNAEdeRg95rCWg63sTqseSoUamu0lfqvk1vS9qqX3GLw7Y+ehBnYGugKF2gjr91Mr18/Vx 9Fcz4oxrjdMLqNxyJ9FPrh584KC6RxxtFV2rz+YKcZNgUnmaj09wQOVUHywNpVqhU25F03GF 0CYkh7pijK6BeDP+MMBfyyyJ+UNGcdrXok2o1g1qReJ0OMXpRaCv3cFX7sq0oBGpSMDoPgm4 Jk0HGIXAbzcILVS/AcM04WPRFN+I61XEIg/IjfHdOi6qPWcFUBzbKICEAbhlka7FhICcraEr KjoDPR7aD5NTR+6DIdxRQW3yQ0wNV8E/n77fSbrRvSvTtUVRej9QLCwfQd/i4z0+faM+vGsh x21/B38/fny9wBR4OfaGOnoaGw2SpJ0ZU0PZ+3gg5kZyUd/Uu10SMUQRYZlD4p4jWbCaRn6u 52vdBXmifyRjJYajLK2zJHQTk7etSpmDWxQDIOrlBob0aj0AI6+4lRlp2QwZ+Q+iaZF6xbAN KOy9B9jlWYgfmEeYfF6X0g7LTYnasz7E5TOxrCiK2Qk6c2KKi/sBdVCJV/yVdI4bQzLQW/gm ziu16sN6xLa8FsKPjRnUEmHUjNs14UiCYVGg6qeaqQIXS/NRtVT7LRNNHfTyXI9tU8/VRl/u gSACSat2+Yr6/CnxYZgvL8i2PDabFxoLToifYThzOLLvAxcjTRD6nddFpVQJx5GIH/+S3xv+ OrNZgOkrkjoQmNLyUePOMAHJJy3w/0H9RLxyBpzavNR3q4Hx5sp5wo0xHckBHtpU6f8+vV8W i+nyN+vf2piLcJT4gVyrJg4HJElE5s6clt5x5mSsEN5iyt0iGiL2J6/z1y6GEG/ZoELsdaYh Yg20cDH7pIozzrBtiEwGC54OcmaDnOVgZZYO5+JKRfTrW+Pl4VYuWf8oWq+50cpQpDjqqsXA 71n2YFWAZZl1kbgUA5Vofsria2DzZIcnDzRjypNnPHluVr9h8GY+0oihAdUKDNTQMqq4S8NF lTO0ktIQFSVPYz2AviF7ARzBPY4OqnCZpwwnT90iZMt6yMMo4krbuAFPB4V41yeHHgJO+wwj KcNioG1slYoy3xlQksgqizXvvOpH/TTSu+P1fHwZfXt8+n46P3fqZiF37zC/W0fuRpjxdW/X 0/n2Xd3LvB7fn/tYMPI4sZNRfV3FvfoAGeFZcS9zsao1ft4erRScSl9iot3moT5Tl+9DX3JH oSaxCYEZ8i6vb6Ba/3Y7vR5HoJM/fX+XTXhS9Gu/FWrHDJO1NlQ6Gh4OSi8gdhCNK7JoIKRS E/LhrLWesFIbf1UpHAt+Kw0SedjHwxqUmMEpxS2CgeO3Eo1LUWBONhp72hxKcjdWpf1uje1J Z3WDGsDyhTcyusKbB66vDBJCM3qVSSmB/B/iVapv6HJdTO8T/b66D2O9hTIxrEhWsd+roN/J XOmgq8duMZA2zBRS/YM5IQbbnKU9VN26bikaG5U+p1DR2BtxvIuBA4EO3aMRW7Qz9RF+H/+w OCl1D2P2jtK4W/uhhC0d+cc/P56fyXSV/RscCkzSpmvOqhTkIkyON8hoRkgz3QiAyEZ2EYKI JLz+3BUGw4K3ASqRHDRDNBUY8PaGVLr6Ah+RxRtT4yByV2ZLkAaHGFdPRYbR+XU3xkFcM43f ajifVAcvfnZw/uHPk0pmH5sV2sfwx5Xn/P6vAjPnk2u1/GwjV17mF9u8UrWswkNjfmQwsa3i q0BFWIZovnvF3IabbcxCXmvdKnsG7R9rZRPpd5vGNHt1i3eh5nYkh/YIHYs/3tTivH08P+uX /XBgLDMmfAiT/Q0y8YLKYMpr7E8lOibuOJmLyZA1sYwChAzLVHs3KgP9AreT1WqdmfiCfytc Fzzu+h0rXm3xFqtwxU7/ImoJallyY07L4nfLHjMtaMWGG0lF2jbWgvd3sO7C6uunG7qW/H9j R9cbN477K0Gf9oDbbiZpeulDH2RbM+PGX5HtzMeLkWZntwG2SZFJcLv//khKtvVBTQ9okYSk JVkSKYqkSaQF6VzXDRsFYOP919PIceDnlsgHHstOXO81Ho/bODq40zvPahEgq2w6mpy9jGO6 kbLRVmAd5YLx9ZOgPvvl+OPxCWPuj/8++/72evj7AL8cXh/ev3//L1/dUB0c1J3cOkkVNc+Y zBE+PEK+2WgMCMd6g5Z3n4AM3uPBYNsN7yarNjMlZLORlsOJmsEJ5Np3KDV4zGFZSNmEgsF0 PIgmh0OxWOJhwStA1C8wKhZBiZ8p8yyYxriwJ0fbtYQKrjshZxjpEzBpmFlcygx2hwJ13vWK m7NFH2RRAQz/79D32jInBNbViz7Y5INflM9sEG69NIq8BrmTmE8jUtBi4T4EyseU9E6lvaNk eFtDsWkX7IWwRwbUJGtjRW0Q7z1rY8zkO83J2zZaWcps/VujvCkvme04DYNUCg6BvPqi9cWZ ol6CEnOK2rlvUbZXno73hZIcnrrl9zXo8VW645O1oT/I2pdhOUosiEMo5/yDZVv2lVaNT2NX SjRrnma8VS09lmCQwybv1jCRNjfpfjS6TOu+6mimnXLJSIJeCWQwoiTl3G8kNQ/qVix3A42a Qqa8IepeU1d6KpQzfjoGyjVA9I5TD36AEOlMHF0wP1ZTJFE3ZKx3+3faG6Ng/IYMYbiuy4AV vAVlnTxSlk0Hgk2/lmPLBihoFMv40/rsC3bCBvZnADXLapauDZakrUSDmaujiPGGxcybHBIs orU2yVj1NM7KlI0jV3/E3UVorKiKteUz85z0PWqaCnbfiGdZ1HQaTt2sVZDKcIKgh84SadYl 5sA7TTBOeidAfDYxAYvRIgw34CYr7aleYylXK1G5vQLEhUMCYmldCsWzkIOe5bVF8JOB6reR oPbhwMZMwrNb0AxaT0gs0TgeUXkmqcTp4vLTB0piHNxxMFN0k0cPEQVSBXQ6GijNk5eYlsqv UenbNhbqSiRRbDLLb9BKokdjgk5171QkWwXOEYPTmtXHD5OuYy0jjmctt+j+8aBo4qnQ+lI0 Xop6Qt8AvmNzbxGaLHFLr8kk7/TecpvqezaEh3AK/WVeCIwetK5qMu75HLRwaJ7bjKYq3hRn 4y0GObtj3fdkSrQfgutvVKkkM0U1kDUDDiL8ICN2mrcCo0LZyuN4lNFt/maVOZl/8O9TN/8+ aUUFLcO2zvckruyniWwjkEk0YVUPVV+wZTwRbz8btswLLyITRb6qSj5Vqem5txOpWpYLDAsc 8laflXbCXdyMGJgh3cBB+myBxUihit1oD+7tEsEYzWQUbLq52qkb7afs93day5IVp4L5PQ7b LEndbpuO3Kxu2oUZEWruG46/sroHdggscubSWSTLonddzPbGmsR+qEpgXnHc7VQ8bDjfXp/P t2wfB2uz4HGGYy54LJ7Dny8tbWPEYnfsnrIoJCclJnzIqhMqcvqP9g9niHbGKnMhI88C2jci zvFGRI+MGiRAiSwDV/S88nQU3TwwimKdFfqCVuaM2DauglLZuKld3FHGVN3wmRV1Wlk8F+K1 eKsNBi6pwBquc3McHt5e8COcwDmCMQSO8qQrzKP2DCg8UiK6k3mWPzZV36J2FiUwkXUMyTys IVvDekglUCg7Y2xl2qu822Fe/ZbC50moxDwJRMtpxga19C8mFAlfweB6ysHf7LR5RXipyAMy Xr0DpsUQQB30zA0DNFmqsYofHGVSH+CO9SJEUwjm53e/Hb8+Pv32djy8YKXoX78d/vpxeHnn 88s8XU4tCg/7+d30IK1NPe6d9OWfH6/PZw9Yo/z55Ux3YmU0JWKYoZWwY1od8EUIlyJjgSFp UtykVMI6jgkfctUNCxiSKueCOMFYQsu14g09OhIRG/1N04TUN3YM+NgCFg9lhtOKAJaFLy1T BliKSqyYMRm4E4RhUH3LXi/dB4csb8kFRfa+oPnVcnFxXfZFgHA1DAsYvjZG7932spcBhn6E u6qMwEXfraVd1WSEJ5ip2ePC8QWKXhociu1wssdSN/rbi7fXb/hJ7MP96+H3M/n0gJwE4vfs v4+v387E8fj88Eio7P71PuCoNC2ZZVilbGpr88hawL+L86YudotLO4+GIWjlrV1fedoiawGn 3d047oTyyqBIOYajSsIZS7twplJm+WWaBLBCbQJYw3WyZRqEU2Kj6Iaic5zcH7/Fhu3U4Rnl gQb6U7yF7nnNQePRIxj6vB7/PBydnMTTrkwv2c/RHbz+7oXZ0uklx4wEh3kqgJlONt0tzrN8 Ge5jVj5Gt02ZfWBgDF0OO4lKEoSTrcpsYSe1sMBuFq0ZcXEVyTk+UVyyiUHHzb4Wi5ADgD+u QsYF8NUiFDYAvmTG1pZcfJRBdiu1+MTIrUZ3oLcIFegOt6lwLVkzdOi4uDMLf3X9MfJklYdJ pj2qqk/ykLvgohcuewI3PVP6lkcweQzH7SgwS3/OfcE1UWBoixc3bOHCHYfQcDUzGb7Nkn6G ImQt9owq0oqiFRfnMbiZbl76MlJXMj1I1Th5nl340LbyIrKqnTwxh92mZtfHwOPLMxJcuUUI pqArzNvwaGf1myZ7ib4OpsViz9n2DPL6AyfYij33Zf+MXM+J2u+ffn/+fla9ff96eBmToHmJ z6b93eZw7VOsI3R8C5VMFkIGEzkqNC4aIm4RpXwc+EwR9Psl7+AGh9dNuFpEFDKyf/6s/4mw Naro/0WsImFCPh0q7fE3w7F5oXcjZsPNJ31dlvmFFUKilYS7UKQBTBKQClFOy9/oYlKnW0y9 khQOZshOvCPS3LpfsboYUMuvP139nf5kBEiZXm632xMtpR8vOBtTpL+75ammsKs7PtCL6fWO q3pn0fnV4ES7K0uJF3O6zJOthkM2fVIYmrZPXLLt1fmnIZV4gc4xLtJ8dDgTNDdp+58p3nTC ahmAueL+IOX7SNVnj49/PumsHxQ26oTe6U+BbMOFchx9Ib7FC/NsZtB4ue2UsEccs0nUVSbU zu+Psw7ohpOCqt60XXRoMwXxHIUWzFd6smvc3Dk3ChNalu+Fb/Y2BEle4SAn34DJ/PL15f7l n7OX57fXxydb1U7yTkmsGugw5mwfn/Gcl4QGYcdOjr7VtlNV2uyGparL8UNKhqSQVQRbyY5K Z7UhivwQy1xpZ0eIx3KLee042EaUB56s4kvUYcxn47l7hUxBlIBQd0AL74BPB62ys8wGvXb9 4DbgZLaja0FofzRw4DOZ7K69DmcMH8FsSITaxPazpkhyzoOQekpk6la8zpMT96PUTZ/eZ2gE xXlGgwiIJbMU7Jh0OI81G0wPoIJQU8r55BihmQzhe0yOCEeZUXZs6KwCje+1r9k2SINh+gQ4 S7/dI9ieBQ1B4wP72gZNaScafmYMSS4+8utt8ELxVZZmdLfuSz7+1dC0IJBPjiFJvzDLYpC+ CX2cnWG1zxsWAbMe8qltujUox/lqH0ptneYgh0hgKbu4LTI2MLztsdIgdMl4Dnj0jNkFedtV EYbnoe/afJPsBVE6JFSLlY+ypBhGLE1QCYy6sibk1haiRe34JPHvUyxRFfjFosWwxR7TEViA WmX27T7L3Gok6hbNCNxls2xyJ+lonWcYWgTnlHLU23Z14qOLFlOq1FzzkwBucW5Ebn95ilEc mWzswBXjLrdk5f8AMNGpI3GdAQA= --Kj7319i9nmIyA2yE-- From mboxrd@z Thu Jan 1 00:00:00 1970 From: lkp@intel.com (kbuild test robot) Date: Wed, 28 Mar 2018 19:50:21 +0800 Subject: [PATCH v5 1/4] ioremap: Update pgtable free interfaces with addr In-Reply-To: <1522157100-16879-2-git-send-email-cpandya@codeaurora.org> References: <1522157100-16879-2-git-send-email-cpandya@codeaurora.org> Message-ID: <201803281954.xld7X6dW%fengguang.wu@intel.com> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org Hi Chintan, Thank you for the patch! Yet something to improve: [auto build test ERROR on v4.16-rc7] [also build test ERROR on next-20180328] [cannot apply to arm64/for-next/core tip/x86/core asm-generic/master] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Chintan-Pandya/Fix-issues-with-huge-mapping-in-ioremap-for-ARM64/20180328-192254 config: i386-randconfig-x014-201812 (attached as .config) compiler: gcc-7 (Debian 7.3.0-1) 7.3.0 reproduce: # save the attached .config to linux build tree make ARCH=i386 All errors (new ones prefixed by >>): arch/x86/mm/pgtable.c: In function 'pud_free_pmd_page': >> arch/x86/mm/pgtable.c:725:8: error: too few arguments to function 'pmd_free_pte_page' if (!pmd_free_pte_page(&pmd[i])) ^~~~~~~~~~~~~~~~~ In file included from arch/x86/include/asm/pgtable.h:1292:0, from include/linux/memremap.h:8, from include/linux/mm.h:27, from arch/x86/mm/pgtable.c:2: include/asm-generic/pgtable.h:987:5: note: declared here int pmd_free_pte_page(pmd_t *pmd, unsigned long addr); ^~~~~~~~~~~~~~~~~ vim +/pmd_free_pte_page +725 arch/x86/mm/pgtable.c b6bdb751 Toshi Kani 2018-03-22 705 b6bdb751 Toshi Kani 2018-03-22 706 /** b6bdb751 Toshi Kani 2018-03-22 707 * pud_free_pmd_page - Clear pud entry and free pmd page. b6bdb751 Toshi Kani 2018-03-22 708 * @pud: Pointer to a PUD. 5b7ee34c Chintan Pandya 2018-03-27 709 * @addr: Virtual address associated with pud. b6bdb751 Toshi Kani 2018-03-22 710 * b6bdb751 Toshi Kani 2018-03-22 711 * Context: The pud range has been unmaped and TLB purged. b6bdb751 Toshi Kani 2018-03-22 712 * Return: 1 if clearing the entry succeeded. 0 otherwise. b6bdb751 Toshi Kani 2018-03-22 713 */ 5b7ee34c Chintan Pandya 2018-03-27 714 int pud_free_pmd_page(pud_t *pud, unsigned long addr) b6bdb751 Toshi Kani 2018-03-22 715 { 28ee90fe Toshi Kani 2018-03-22 716 pmd_t *pmd; 28ee90fe Toshi Kani 2018-03-22 717 int i; 28ee90fe Toshi Kani 2018-03-22 718 28ee90fe Toshi Kani 2018-03-22 719 if (pud_none(*pud)) 28ee90fe Toshi Kani 2018-03-22 720 return 1; 28ee90fe Toshi Kani 2018-03-22 721 28ee90fe Toshi Kani 2018-03-22 722 pmd = (pmd_t *)pud_page_vaddr(*pud); 28ee90fe Toshi Kani 2018-03-22 723 28ee90fe Toshi Kani 2018-03-22 724 for (i = 0; i < PTRS_PER_PMD; i++) 28ee90fe Toshi Kani 2018-03-22 @725 if (!pmd_free_pte_page(&pmd[i])) 28ee90fe Toshi Kani 2018-03-22 726 return 0; 28ee90fe Toshi Kani 2018-03-22 727 28ee90fe Toshi Kani 2018-03-22 728 pud_clear(pud); 28ee90fe Toshi Kani 2018-03-22 729 free_page((unsigned long)pmd); 28ee90fe Toshi Kani 2018-03-22 730 28ee90fe Toshi Kani 2018-03-22 731 return 1; b6bdb751 Toshi Kani 2018-03-22 732 } b6bdb751 Toshi Kani 2018-03-22 733 :::::: The code at line 725 was first introduced by commit :::::: 28ee90fe6048fa7b7ceaeb8831c0e4e454a4cf89 x86/mm: implement free pmd/pte page interfaces :::::: TO: Toshi Kani :::::: CC: Linus Torvalds --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation -------------- next part -------------- A non-text attachment was scrubbed... Name: .config.gz Type: application/gzip Size: 27074 bytes Desc: not available URL: