possible bug in cvs2git ExternalBlobGenerator

Sam Hanes <[email protected]> Fri, 12 Oct 2012 15:42:15 -0700
Newsgroups gmane.comp.version-control.subversion.cvs2svn.devel
Message-ID <CAPk0p6SXO=TRirFG9soi9o_5uO=R=EC9rEPiiF_yracDHbi9ug@mail.gmail.com>
------=_Part_7453_1488647111.1350081738338
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

I'm running into a KeyError in generate_blobs.py when I run cvs2git
with the ExternalBlobGenerator. Using GitRevisionCollector instead
bypasses the issue. The issue started when I added symbol strategy
rules to exclude a bunch of old feature branches. Running
shrink_test_case.py reduced the repository to a single file, which was
added on one of the excluded branches and never merged to an included
branch. Its only included revision is the spurious dead 1.1 that CVS
creates when a file is added on a branch. Including the branch on
which it was added prevents the issue.

I'm using the official tarball of cvs2svn 2.4.0. The host machine is
running 64-bit Ubuntu Desktop 11.10 with Python 2.7.2-7ubuntu2. The
attached tarball contains the shrunken and destroyed repository, a
simplified options file, and the shell script I used with
shrink_test_case.py. I've flagged the three relevant changes from the
defaults in the options file with "TESTCASE:". It's otherwise nearly
identical to the example included in the source distribution.

I can proceed with my conversion using GitRevisionCollector with
RCSRevisionReader, albeit more slowly, so I'm probably not going to
work on fixing this myself. I just thought you should know about it.
I'm happy to help with reproduction, though. On that subject, your
test case reduction tools are a joy to work with. I only wish I had
something as nice to give my customers.

------------------------------------------------------
http://cvs2svn.tigris.org/ds/viewMessage.do?dsForumId=1667&dsMessageId=3020204

To unsubscribe from this discussion, e-mail: [[email protected]].
------=_Part_7453_1488647111.1350081738338
Content-Type: application/x-gzip; name=testcase.tar.gz
Content-Transfer-Encoding: base64
X-Attachment-Id: f_h87vj7r91
Content-Disposition: attachment; filename=testcase.tar.gz

H4sIAOSaeFAAA+xce3PTWJbvf/GnuBN21w5lmziB0AWVLR6dbqhpAksCU1PDlEuWrm1NZMmtKznx
1n74/Z3H1SN2gKShZ7YWzVQnkXTPPfe8X6KwrggDZ+//8O2uPVyPHj2kn6NHD/eaP/31w2h/7+Bw
NHp48GD/h73RaG+0/4N5+A1xqq7SFUFuzA8uWHzyvc89/z96FZ7//pehm3/tPT7H/9Gh5z9eOzwA
/w9Gj0Y/mL2vjci26/85/+/+6f4kTu9PAjfvdMLI7PxbL4rzNFhY+jW3QZTE6bkZTPHn3s4u/tcJ
V25/FhdmMMiWRZylzlSy42/s/+d/jMz/mFlul2bwm+n+2a6P8zzLu51/9nm/X+2r0n9wdQx2Zd/A
EXy5/d97OHpwCP3fPzw4+G7//4hrk/9Q/729g68pBsz/Nt8/w/+Dw/2H3/n/R1zX8p9/7H8VMfhS
/j+E1o8OcB9CsP9d//+Q63P8f1YUcfg7peDm+v/wkOK/7/z/9teX8X8aJxZ/9Ve32oMYfHj44Dr+
j0aHj67w/9E++f/v8f+3v+aI8O+MhqMnnSAMrXNPOm69mGSJ69yRX5hFj/HGcG+4/6STZOG5e2Jc
kcdh8aQTZouFTYs7T++ap0869nIZpNGdpxP83ulgTScKCntnHywejrD8wXB0ONz7cTh6+OROUBbz
LDfyY/TkDthQWBMBnSedSR6k4dwCB9p3n7BL7WVx5wkDpRs3Bnx8uazhKjiBtV9B3b8C9RHgDfcP
hg8ffBm6NZadyLqw8/SpUiHJZp2npENGFclcBM7EaVzEQZKsTRBFNjJZagSSaVB+2HnaKQC18/Rs
HlOmdVnw4iRwhXHWpgBjXh4/+8kgWVvFDumXwZa7Hd2bicX737t3z9jFslgb/GkW4HUwswZ3qx2i
kRl1AvpPey9iclwUQBF7NXdh4PVG+1+60dPvaeC/yrVp/198OH335s3ZV0wAbp7/HTx69L3+94dc
m/U/reF8xT0+7f8PHz14+MDXfx8c7BP/H+wffvf/f8h11/SeW7Lrg3sDs8gi+9gs1/Bx6ROY/ShO
Z49NWUwHP1bPh7udu5275ugrXADzIluu83g2L0wv3DX7kIYB3O8e7idJMDmxxdCYZ0li+B0H5+Ns
vrLRkHFgL+WyaXER5DgDnGIc2tTBT8FpkQfO44k4rWIurte8ePP2r69Ofumbi3kczgFjnZXGzbMy
icw8WFnsENp4JSCWQV6YbIrVgB3FFPNMSlIOIHUGiIXNFw4waPcgcZkJVkEMtLFPUJh5USwf37/v
ysnK5uQxh0U8y2M3zPLZfcV0MBrOi0WC45hXU5PaC5sbfdtVO+u7vM0yc+SHcZ7c9hn5RbA2JT0F
jBYAnBvvBlGfkMGbuRHN3ka7EPvhfLznKkvKFDqxprvVkR02iqyZrPEzXQNAnEbxKo5KHBzk+Bmx
kb0MwqK1yGCTIsvXfYpUmAk+egAAfWYQMVKg4PpbyUfFZrdq0W74tcQPcDauu9uu7S+at78ePzs9
Nu8o+np9/Cdz3YtbIXoe4P8BJGmxTCignFKMmRpfR2eZLeYgR4i7E0ucBvczovI0npW5BRglkd4G
9wv6lSr0eUCCQgD46WktisacWlp7cXFxX+v5LInMDX+T6M43CauZTW0eJOA7/loEhF+f3gYQz1xN
BpxoXKzo0+LGIhNMshJxJR3KHzPgczTYDyTm2QUBXfuTO9gCpRrUIM9mebAQ0mCjvGwdf5pnC4M4
xtMBb4QItG2k1KLTGvMOi/DwIi7mjH7dz5CffRgA52AC6a3qPACRxOeWbzzueI5v9ESO9M4AWgHe
Vm61OgKIsCzZvPi1LAmTJJsI3YgIgYnKxXJDDAiHLIjYtukRS0aUjrFDf06RHgzixTLLix3mC6Dh
yG8TCxdvqK2zjfnEqkVGtrTmlxD9NZS+YleUmTQrxF5GdhqUSQHthf2TQ2CLmKSO+LFctyhHZ4IT
iadrEQAyYKnFOZqSGgK9gk4TkEFr6QJAMG9h2oMinLMd9nIWs9y9ZeeFDAom7LJvYId4kyhLu4Vs
VWSAcp5CvPRdIKo4sVg8x5J4yqvuRdm95qt9InBKj4h6MfwSBHMeLOmUmbxY+GMRp9gu55OYranu
Rqa2yMsQasKYgJhTJH3rSqVFSyi/PndCfMJoKZzDfgFbbHYOpFxJkl2Qm+Y375lXKRtovB8gne8b
LCMvTv4OEd4SN4lQLp6l8TQGjkWDaD3mH0s02xl1ICyjZY48FekpgLJW5Vm5NJwEi8oX2cwSC3eH
vP6MHBRkCE5KaSkcYBpVrKeDRBnQ66voTBCEClkMYb4Su9LAndJmenNYHzclSU24IpGSF/FcJSli
jQpASKTLc9Pb+bizSyDAGkQHwdLyRuE8wLngzIfb8L4gGuHEbmlDkpFAd2JOy3p4vCBOW3v1a9G2
sYh2pnvykWqkyPwwmAA6RS+28AXCfQOtZEkyO3lwodvv9JkWcBWpJVSxlKFUAmHsb2W8ChJwx6gN
atgrtlhje2nDsmCTe2S64eOPH7Eyyi7cx49uDd4vDvY/fsSLQ7zYvX5lTkv9ymphvY5Xwt94nx5l
oRtKlMkOvSgRCMRBch/WLM8i6AbZHbJId5WrZJkYynbrdHYB2xPhpJBpODhRTTZPE6qQwEbFKTgx
Yc42XBMZKz6IjfpqnZp+dppbC6knDjU9WsPqF5ew+GDMC/ySTf5hEf/0yBuq9xwn8eQ+iYe9LHDg
XQ074duSyDViBdbYtv433QVd8HBjbwlpSwnvYDgqU/BLXMCjvdF3QkiQY2Qa+zTRgtEfN4BuoAd7
vrBmFYAx4HIT21kGJ5uSiJGPbngvgOtQUPWK/Y4AgGUtE7IZpPOk72pZyJ8X3mUpDo874rFM5jod
tvMNhI0+EzJd/xgeZIYsoRhHAeQTNnPj1SH5Q4qPZQXihDPw5yeLfMfmm29TEUtfxa+zba8wLTWy
HYfQQAgCRT2yihijD1/4Z5swgAKoGiRjigDGEm01gBzr4+d4+ot/uB0TiSyUsVuQeB3k53/JYVJv
uP4N3xcB21y5ddVJmSSfXhatQjduM+TPdn2R5dFLqGMCCXmbZ0sEdetTCMw2lPPQ1cSHJgVgkQf1
7sWpP/U7eLJty6XutX05lcI+s1xKtWPYKbjC2dqvRM76nGu57yD9N1l1FsxutER2eTV9wTVad6O1
x5dhUkb2nZ3Zy+WpPrwRBKR9odWD/k4odPDbg9CjnOXISYNEDNAtGKBgPlj4svwW61/aEllqEYe3
OsT7NFhM4AKy0r2nmvnttn6LAMbmuY3ewtymxY2AnPLtl/DD7md4uk+uxdLUkSOulM1y0IksU722
QDvz790EEgvCbZe/miEmtLdefsIBZfzf9i2Sks8fYqn2aezYQLlKmRHVkO1ynzNg1wF4kaVRTFYz
SG4LgowbhSzj2I0ncYo05Abbfzh9zktIEn6SNO91vLBn66W98VGasI7f/HparJMbA1Ecbrvcr/sZ
C257juMq7L0tR9S53VooCPPXyDhvsub0w0lN/WsQoCgaCfs8y5xkKIld2YRiSwp6KFATB983Zap1
Hk49Mp961IkHnDanGhItUfw0FmBHGkAN//Ls3cmnnv/X+1fHZ53rn5+8eff62a+fgvDh+N3zN6fH
n3rlp+Pn73/heJXKMVGcc2DGmTxlW1QLobJcllPyTkqEMyHgHxaLJV6WtEeIP8CtLgH6qeTMEGQG
ScVwuLeIw/tVlIxNiPhaLkNikErRVYsbPhBxUthBxkfR4I5mKylVegaN0o6RPEjyVqptAb0tcajG
ZFXNUKNxiAt1/LH6hbC95qcpkFH5OjSnRaUrsgVsItJvXx9DEu6LmNM4R+IeJByjFvGKU6tFSa1s
CAUltaXm9yRsPC9MJXYq81E6TqjPfS4D6TznigXV5WA4Ts4M9SVdTEmiJXRfUdFilZ3jIFTkwwkR
50nZgOiLvAgp5AaJ6VWmY0VkyOg1FDvaGrT3JAkSgfEskZQJzLqgkJp3vcolR7WIRV0wAISqZlB1
Jqq+usf5sbzbFDJK2gYkEUMkN92+Tw4VoUoBld9SsQDJfC11c49afRkMkZEl3bdEJlIrHOoLjffa
cTFpjKPbXWd2wmynLtBCjC4LKq8097kOjwYCkaiS0h67sSJVku6JKKU0Kprns5KN0pVTZyoqUhoF
an5xXcG4erqNqF9OJwBW7rrDNXsbFY/lcGVx7QElO6rOFnvl8oU4PWYMNIDr2usTF0o32TCxYUDG
S/D8AhBEEWz8EneQ1HMZjvSPK0uUv3sA0L4ykMrCBZXItuw9DeKEJoO0GfDy7PWvfnWUhcwcLW0I
KXYGA6A6YEz1zGRzI1sQoG/DabEdTrp1sCkupgoWllKlH+Z2Bt1CCl4VXwTAMgC3bSFFvE3paBQH
xRj4Oo0okYcCXaJdpH/DxmnlGqX552tfS1fLlZNDMldQkQpKyVNDcNbOplLjJsqJreSeIHdUfeUy
iCoc2uc7+lt38Fu3b7qDE/7vtPv3q7rwfouzZ+ew6e55wYZY9MKsUSw8gs/Murt9eXuDlL12afGI
PWz1+m7VtiQjH111NytYXFCFDG/V8wKyvhsaTLKVCADAsEJTFVirKr5o3NBs9ST5Na6EIp4rzoTQ
Oz49e/Hs9JjIQYti50prKFwLctYpretYrvJQ0Y37JheW6o5diPR5vIQOMoZE221eyEzWLEeu3qFz
rRvbWjbqXe9Tdjt1iwxqa13VNglqq523jU1twiAkyZq98JTCT1CRjynhxgWZDe16bbfuTAsu+zP5
aluIeJaAnUAGh+2zKipH/Ixwf8H1v3ZvhEWUAJzlpS+Wa6+Qz6POTpGPU64BiKTnZXruxb6KQtam
Fw/tsA8JTIwf/uNopghmpKq198x0cI5j9fa2u1slBjEOom3qs7Lo8PhdwDXTyRriSqhpa6xcTHBy
4FZhoK0EyWtNldvnVIAdylnGdMjWwANt6uhzLzudghdC38a7R0w1QvWlWFnfZKV4Sqci6XMx6jXV
436Oe8OsIvxQorP3aUxFVh2f0KDRm3OxrY1SrDREk9ix97Qp33RMJ60lFwgIuZiMmJreT01XBlO7
PKqCVKWIk4blWhhXhiGk2fmJi+oZxb/+obb5pmAvNWPGujW4PjW+ReadT7RLaPqidgKXsjbdXCoh
ggX32gttaHqYgOCh2tTVMTlxwz8Ikotg7RpYcRAtPWCWCRbWurFOmwv7yIwKa8aR0vLoCnF7HTKp
f+tUUwrdspj+iJiyvpFQF3bUuNUNXBjHjRt/l1/vtimFkx7pqx2x2x4nysL+uQjJc5sl42l8edT9
mOod8i1/3fCcUGDLjGZ/K6JF8U/qlYCYul3GTc8OZzARi2ANKNQurxuIG9jt1mzz0P41GEcGqjma
4qc8IIV+rlfIJP0ynvTgoWbypNQOI28ilWk5oj4e6+OxPBx7YEdGjtc9LWA+gjzycKr8nMI9BYJs
lK2iH1W5PdI0VeXxRAxMEbxEcjwXEIca+XJGvuLasJ/UluGpJZkhoiOHdmQ7hz5W8Tv6cYDuv9Oc
Noz3btSVmLX2NqcfTmonK/YdYCrvow9k5kWWRXI49XmZBjwNBLG+F0TihCDCOmaxzOK0gFPgkCSo
/H3DNwm3iC7XsoiPp3QlN+VDmyZPhB5EGO3L0ZB7wK5DuNVtYfs7WKjcqzLyyg864RFNA9jI51hb
uOKrweul3XVd0eVWKIAHnhfqYXtdQbtLJYgufH9313CfugZHqizgWsD4++oWMCG4rrqG5DtXSY7U
oZwi/YT/uEp1ObC5ci6zI4A2EBzufE3KUxgk44rOllE2WNh81tSQuY1zxHplHlrP+U3GSJh+O1pC
6k+ywvi4ySdWZcpCTykSjCynfrEdA1vyBuVyXEVSnMRfaXkOxY/5FVSugkdY/y4uAZjxgJiYyh9s
sOXgDfpdoV6De6fUdScFC5OY8xUC+zoI35wamrckQ6Jr8eDcUJdcio0czyVZOuPZJp2J4xynSn3A
ZptM6QwXOZIaHY2jKLhcqimRuhYbLolMdPLO7DxbLhN7ijWJpZJDPYxIw0XUqYJ9ooxDnGW5pNIZ
T54R6i2kqThwQvUKYEgM7XOpoogXmhO1Xr4SJMUCP7VU+gx0/FSHPqLYhfA5bCZOra9YbdTVGokE
DwhxLM0zgQ3O6jiKVo7ZoVCIWZGStEMCPQ4cG8RRukkArSgRjQGDAkA6IDON2UfMdVRnlaKSTrjo
Bzs6XrEQY9aa/uzpJCBooZOFTQxaWFaDNVRFmKwZgebLi2AWhz4dCXxFk0L7KQ0dT9aFrep7hGXl
GqFpkGdlCFWP4OuzKSeBkqXYopUFKr1pGIe4Wg1YxYWqpoRM44CQGzvB7sj8HCTOVpVqXwuvhkq9
QnkzElQBHRd1OQwgMrDy8LQrlbGo0aqV8TqPxP5avZcZVwJLWqWOqGXiSSarYM/nr3c/8UJX7g/o
/rC4LLo+UyeB43rGztbEb4eOAT1ZMnqwmVosm9N4Bcl3E0NJzHid6LOGX11nrnSMx/KSTu6C4s1M
TGTXBiAdvSYVN6o6Ro1hy7a9PhO9JSvdC6ZUweHlPvjhzahXwANdul+desl4WDu/ltGw0dA8axxR
A3zvvwIevoax1UG6evCWp/l8CIWLqKEDeizE1TAVY4VTKXWRHfhxP58os34GAkaxqPbN8uZWDahS
oYKAcsSbTWX53Df5lSL1vvN2ch540gpHAS1Xn4qL5rfyWN2n940CkO2JpLZhFUDRPf0olNcvaPaW
jEtuZ2US0OT/Erxz0hMiqu8Pq4P4amsYLNnjUipflTH8DlvKI7JVDwK4islIprAKTFm/JrJLxI6G
I2K7kH0Phszryo1Iuw1+vxqsSETwuCIEVCLqCWZLLkAQErKran1VSQESpUSPV9hT86OomqctTlM/
ZOkHMqiQTGZ1px5kdz7PEQG4D5m4L+RBOtCYIamGrjXW97j5agi30RKqhq1FRbS5JxEHVTqDPKGp
bGKzzGqnWvHxbo5Nds1a1VuuSaW2mrQntRl2OlpI3m4UjjQ9vavV9mah3WfBFBRxVs1fjeAnCbBn
bVU/UzAq1doy5PHhbQysy25eueloAuIqE0gxMiKqy/o+WA7qcAcxjB9OVEILmHnMbpGsmwaQWzpv
Q3lZl0hvjkMhtWYCxE+gbnyo1OqWKBAfig8G6gYEhrYPBkKNZePbJIau1dbJWqEIBG5UDhruxJcz
r/M+uwpaocTOY8p1w2YP2riYB40p8K066UW7q6WoZPLRRrsSW8yhabO5fP5V2EYLXYqbsnbbEfwn
G/rJQZWj8UPmVxRz9QyxkAqVZ3rNDi385QBd0LdfV7ALCl16DXqtk4p8RCoLWwaret0mK9ml7/Y7
Xmiow0IhLAXXXi0q5Qy2WF5JyzYVxlX14T51gtTO6ycsrQ8IeOknJ/p6uWa8w3vfCFfKHL8cz60z
g0ASUL4mhmqQt1bxvwjZawctgWuZ0jcR6aCF8GmVzyxtBoUyvqlr/Dc99A2GpChIpbHeJ4QUAXs9
1azO59ZL6lTHoS+GuI1iFn3FP+JvuhQA7+WHVSJyBNtqTMQ3XjocqQJxRcw1jA4bCs0qfMAtvRWs
9epFEIxO3yXUGEPcpDBa+0nYSSThbJ77LvyhWAbbQ8W6upqm3xgqlDL1aV+crL2drGw3ezxlNUFd
19vx5IbA4MzEXsau8OFjmxZsB+CdJfvQAZAeNbVwpwmDUCRy+7reLvUm25+c5NQKTyV+rJS40hpt
y2qe0W52bc3w2DrRKRVEFSX5gENPco+U8F5f/eeaic05eUafdq1rC+pzXKRfdOPTM7i9ljr6LUkh
rzK316I7QpuoJfquoqIkt5QUV8HheZxGnG1qVWq3Oa/WopNCIWq1tfTq8G8D8ffaea+Z5Enabwbf
jXCzCpwFQM8bn0ZHlAVqJVMmlQ2kmHvjiQKpyAPZgHrv1hrGTpdYxpB9UwrvyAm3zRc3TveKo5Nc
mo68b+DLWFy1FdxVxaUPRWKx3ZBzeuMtD6sWt6ycmOCy+kdO3Of9VkMx6lILq4fLkpVt2gk5X1xQ
zuQjzP5ndEVos2WOvkGaX+lfW9GghxuSWj8AgciLDOhQfMhmmMxZqazfZDtRjj2Qj9DXPjrkT5yq
HIw9iz+djjD0njlXLvw3aNtR139hRh0Xr+zXBjlthEiNb3OQySQUMv1ve9e24zZyRN/nK4gxAkqO
pIF3ESCYzDh2vF7sJut1YHtzQcYQqBFnzB2R1IrkXBDkD/I9ecrb5sNSpy59ITljb4I8BBAfDI9E
Nruru6urTp0qrUF2oRewfaSrnGMG7EPqkPIKRj3cjfFpwxLGUl5Maf4Ur6XGSsRaAHboLuZBN+KR
6VT7qCy+iCWsmJQObDAknN+5Egkh08FGTCaqVEjrpC37SqYOi0bu5hgGS4wBBjhPqF16bIvhhfnY
g7aRbsQeqUMB4s2IqXXjbgFkxOLSzS8rcjSXAGuy1wsSzLAnQcOq3aKMlJ/QjO/QI5+eEipzbAls
D/MYWYW0EZe473yFrAVb28qemNkWmj3opxvtsu+fiaveLGIJjqREmATeM2buQrMASgz7Gwty4P/y
asMZaBUp73S3jhkcSo6YXEhtBDhGMihJcBYmnEE/UweLei82U3cqmXRVcUs+yd2GlqR1MeIDcE44
ZzJsstbywjNmovJjAm8qeqvUAJf4AF25FXTSjf/UEU8FaKTvOJFgwDFnDDSk5AzuUH8aUuINbDUM
BN+lCbxmuAIPFRIhFDC7CN3DlrHXbEcmO+tALjiRKfA9C0BCzwuBFqER12wOPa8ED8VYSF4w2hk6
37LFLxwRTX6P+4Mz7G5bnPPB715zoPnfUOOA04T8G4wCg4Nex9q/LrCneH+Q9mEHF4rhQOh8yDJl
IA9YBKzA+2XdAzgE9Qxeyltnl5dZzz/XrXSRhzj8r0S/eroSrzXeYXBR4/wA7da9kxyRnnxcvdc1
KZTigOBrZtZjNwfUWT7Y5S/t4bB/xonr9ZFRtdcrFjfOfXgAQRe2AA9zZ87SFiFN1QiHo975OPjB
o8i/wy7jVFZ3IgVtMoUK1Nq5gGk60DUCLpmD17hCg4AxWLpf/+nVy+PkC4V55HilGePFJ/RX2Yyj
i4ATRav1xCC2dzXz8bCp6zlubgzKhWAz3R/3GMGsXwMNHHBUFPtRN2lV1+ROVGPkWz3rzILL/ITR
Uig4FWstpBnncYeUGbce8YGBdRmGipoPdVc5XCwYoaRhy6E0nmY10abo2qVHH2j+jky3HS18TZ4j
SYpIZ/526fISAzlFnC/4KnJhWOplUQo1IJI3y1KgL46+sTYgtXKM2+e43Ux5MxhCITArtWI0/b+Y
OMn9ljs07z6vFjfFVbHN10XGiff46wgZRQsdwlipFm2jDG6Dep6q/H1C0oQEnbfnR/7OdBZJkyNx
Xoavy8IdAMd5vdGTyha8CrTSEKrXIBt2vm3wZOhwbpOBmEz8S+dXq3QaOT8PpKANfCCHzWrTkDBO
/2gKfUc1hHmXm6xoumfDOcdCSDl0JYSio/q8zXE+IzskXQx7OZp0F/vRrSQsmcEu5paXpQOs3DoN
VlSAz4x5RI/uT5gL+jBMHeoxw8OTXmNNJqVo2ovI7hf72450CfepKjIV5NHo4RritRIYUtIAV9L4
VgtmVPVoN/xD6LSuKbck/LetEIoCr5ynbTrE/i3AVoi2w3Nsbcuq9utXySlBUp0qw9CAkCCom+61
wB43RQNzUPnYrZaV8k002QUweRLDrs44zOgTPsSzDoplFJviEvom2vyZ5GRpV6XrDHXRRtNthl1y
RAJ2zYmd5zoRzigv2Qvw+FBgA63HTTupBBV3TA0hfisOhQUYUkkCSI19oBKfuWoxljIRrPhSKH90
zFcFn2dK0ZW0v9tWOkKSet0KY05CWOa9acGKJH3x5psvkTzx4g3+pf/LAhjNVZ1g7ZnnNX6HDcVv
MPJdrrmDtEyvNHdT9vUq5xBq3nqT2fm2o2u7q7iIFr76hJTQWCtGr8caFOgnF3L+nSk8EvfgTEtt
i2CRcIlB/vuet8qBvKAOLn/38s9/fP3mi7fLPzz/5ruXATqeB+eGL0RzsUFAvRo7MrDCHBgW7FmW
oG/iWHHM8STfntPr9ZwiW0486juSC9YxvkOvjVe3Q9iRqpFtFaeDUuClJ8+7qrt6ft2XDS6WDq5h
tvfs4WIak9R1Mp16drD+9yOPur67xfp+evCgkxCbru+nmnTMSS/s6cHE7Las/uLM2/tRXNuLmsuJ
tpbWjqUugOvPM29lpqhXMM1J9YSh6TK7yj10r8inJm1mat2XUkAoE7qIkZPNc3RfaDCA/XtpTxw1
3B1z36RuJEbTCCxqdOmoFtUKzqJTa8JAVyYCWXmNhsTr+kqDUOTL7Ghkc99BODX8kXaNGYL8KhaK
OtmiLxk7cA9oG0fR4yF7j1sR58sdK7WSYBhEIuvp7YtX6iy1u7pbceKUYHWtzGK/v3FvvVAmX4Zo
yrtddp428AfpXGUZb7rLgpw2tXhvbm4W4B/PP6Colrd59YHf891cHpC0jrJF4cqGEzGNZuKGZ/3a
2DNeCSApzv0eErt/+OYhGRqmJNvdoAimV/gcLGHCCRuy0bXkxOTd1CaZlLQ2iq3/NnJjG8HOAXmS
AbLhQ/cqZxBXEAK8ixTnTXYHCOJtzVaE211J2TVtQJhjS17S4XlIPT5/E9LuuDiUEEctoUxFY+Nn
LS3O8tg2QvpfU0fB9Y91Rx4c602Y22ZWu3LhHH6G6UQyhvguDo3iWUWFpPBz5tJ4irHYioOHQ8ya
Cal9aoEDB0YjHbV5Sr5hzT8MqFNWn6FPm4zlc5XnpCBd93x212+CMVgxyouszTaCfitEArVxOLvW
igTQE5zbmKxqTj0rOM2YdzxgWPyfgfjkkH9H4pBW8spXWpi0Ad5ZQXFQEyin6LJad/kPnTCD6/Pz
boesaYFma4mc+JQ8bLg1mcQFc5F68dRe2IijquhxVGuXw0iPbFbPx/IIYwLwzELPSYbBuTg2k/Wc
y2BlIoEQAvJnXDYSgyNIi4hkcWDrCXvHj/FYj1f0fwmNRZ4kFuuS37+U9RCsdUwWWyaAj5GdR00L
7IIAXZC6JzndyOHgEhU/dNQ3Lmwc3iNqyjl5uzI5vKjr5GSV7Z4eqm8W+zq0ElUSrF2kMfoc0Vz9
68T9l9sYItMO3DbUuMy2iX9euqa5Voff03PrujycipRbsLQZC5E6tQBGN4B+GfK1h367SN7wY8mJ
Pv/MaraS/nh6aAAqGpDPsWRveIGhNLWVKPS+oVZ8tEwwu0GcSWPXH3aHEieFL1PcInMk+eV8VbTu
ftUSUn7bErRcXvx1tulykY++b5X3H5VZYgmc8OBpNBhMtxUIeyJxBP5q6svDNqjgVLRdm2vd6Jsq
IAIbjCaRHkFs4YW5nIHhJOq+obXTy6mgPtPWWhwMHjn9K9uIqc5Imhwnk9TNFFytkbkyGzYtP2Qo
8YKn0lcFbeV8k3zFH7V3yYl++4wEWC5guuTr7qkigMxvyvl1XYp42VWd/OvvxSr/Hu/kL5/drs4X
VedexhInq4Y7mb6rVwVN6xv58Md/0Kpq+aNn7r4FPHdqwb1zTZIomrrR177cFVfJVz/+c9OUWVXh
vfniQ5fLn88uy9tFlUdcMVb2lVc1nxa10phV4BP3IlfsP+e3203GSINEn6XHFhrCiM0QPWH9G+0d
HeDfHPtewRoOUJgylbLGrKeC/AlVfmqJHiKrX/kfcyVTojKypODfV+VafYK4MuFpfw3+r6q6uEqU
YgF7gm8IsWrdhLpZbGkUi+/ropr4IkM09XgrRirZ+b2SL5Jd3z9hrotMAlU+X/9cafnM+7UWgrz9
G+WhiIVek0bgg+CCNnh17mF6Lk4NX9rqPYxWlZyE3RQZ05qC3nZ1ufsHS3A+8Gfa/FAtDD5xtSHG
cum1xLZMvDM+xWKR4wwlQzbXnnvLWfdqcJJQtB4DH2YsmqKUYgv9NdUvdDmZRsUIImuMk4cg0W4H
MxeqlZYd2xcXbgtMJLi3zledlN/adjuyAxh3j8q2uofdwY+AtpxFJOqvyZNO5k+1K7ANrS6qSxlK
yryEHVJCMutfg63BAgBinDfIiJViFMFtDDxt8xzckk6cd0RBgWBEDH5EQDkV5hc/08rabS8JxyDL
mAZccz6QFTTIKiuho10Qi3RYyAEMwK5llntlZXdwVBa7tsv8yS+lpPX8Z2ea7q+ECkpN3SWbbHcZ
m+cYTJZ8/hkf0EA1xEuQYsfT0FlX4xlsEvB/A99gcRDWUxlC5azs2DOSMGNvooQn9SieLWpzWPEW
UfxlSTcsqUMw9pe0LctlWy/9vVa72cz/b0G/V1zN3EvDoYzcIxt1kYw7p1gz97qnM+fBlTnt4LV4
cPw8XmHF+WvSNvH6Rl+1vclBrKdF+AgWfjAF5X+xQzKvwpIdj8nbe0yniccirdIYOOPTfszADdul
pmbcV2sg9mS0HoiWO55azehMltKu1xk5Rbm6Df/mUurO8ueu3oXy152msxz0kR+D2IWxU6PuWMVq
Q534637Jy+Y0KCSQfEdrbbR25hi1WQiPOOqB4QetqGf5aTRr3n00a40xMr01EotslgQ0Gt4p13Wx
Tm4yrkTdBNEKhXbDoigMzqjnU63vJSdxvDtoQ7JXZN3gDMXGXYvIfZzF1cgPHryX7w1GA/M/GOfI
Ly6Kc0QfZuFLxyeAA59QXheb/LawH8mQovpKph0bvZaRcnRnF79n/16qHml0QGcnaCWkw1uSEXtg
rVKvHt98qDf54zC/DjI89m2MjmaySyuEcTZ381VXbNZzMoqY/34QvHy0Bmzj94NnL+a3rdBy5ZjK
gkaGK2689kwgjYfloMwE5/lrKSp+Xqu+cIN6X7ia3rF+kseLxpE/s0tYjK2QmQIhCnxRhGtaHhHr
kiUf3j/r8zrF89WEGxMH93DtfTVeH80WsQXO5/Mj4Jr14mwOGuAbzrkGvfA6nccYyMh52Lv07Eka
NEL7mD66PEH/nqbTiGDFcA3sWePAY6P5Xz0IBzMxZ1cp91v8dBMPI92R08Qaix11s+3sVxCmQSNG
jtrxanOB/kgQpmvcDzMEz0cDdz8UwMWEpHfBChhd0bQXdjm73fPJ2frn0yX/G5ZzSUYv/9jZk8XZ
Z2H45qe86D983eLsc+eAylNvhan45PiJ/z2NUIyCVHC0A5n2QsqLF1dwtFin7RcJXHjCzYEisphA
OgPW4ZTI1zM7y61c3spDsF5Bfaxm9SQ9O0tn6VFvtGwQeNZrvimELd3Y763MMAa2ywUlJEkwX2DY
T79qnMMS7N/Gd/XBstSTaVTcxwVKXY4v18wRDObB3E2J0jPYa7xozk90CE5gwB+HNkXczulDL3H9
03OSTbjRJOCFeTJciHQjtf5c/klg3bERaKwrXRMmYaWz6Cm55Jed/iWFCTlv67l+jgS82TXQFjLr
jtra0nDT91Yhav+jpftrf+2v/bW/9tf+2l/7a3/tr/21v/bX/tpf+2t/7a/9tb/21/76v7j+DWFk
B8cAoAAA
------=_Part_7453_1488647111.1350081738338--