Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » Modeling (top-level project) » Basic validation
Basic validation [message #383920] Sat, 14 February 2009 12:03 Go to next message
Adrian Rutle is currently offline Adrian RutleFriend
Messages: 20
Registered: July 2009
Junior Member
This is a multi-part message in MIME format.
--------------090903080403050706030604
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit

Hi
I want to learn how to validate Ecore models against basic constraints
such as multiplicity and containment. I have created a simple Ecore
model and generated code for it (attached). I have also written a test
class to populate the model programmatically (attached).

Have I done everything correct? If yes, why the validation of "re"
returns true even though I have a cyclic containment: c1 contains e1 and
e1 contains c1.

I have also generated the edit and editor plugins. When I run the editor
plugin, I still can create cyclic containment without getting any
validation problems. However, I think in that case the names of the
objects are not considered as identifiers.

Best regards

Adrian

--------------090903080403050706030604
Content-Type: application/zip;
name="containmentTest.zip"
Content-Transfer-Encoding: base64
Content-Disposition: inline;
filename="containmentTest.zip"

UEsDBBQACAAIABVoTjoAAAAAAAAAAAAAAAAaAAAAY29udGFpbm1lbnRUZXN0 Ly5jbGFzc3Bh
dGiVkEFrAjEQhc/6K5bcna0X6WFXkbKFCrVFt14lJsM6bZykk0Tqv2+llZaC grd5w/feDK+a
fOxcsUeJ5LlWQ7hRBbLxlrir1Ut7P7hVk3G/Mk7HGHTajvu9X4Gc5FC8Edta RTGqOC6/x/Is
aDyfQC8doHEUIsKrTeB0ZrP9Og2zRbO+e5q304d5syj/c8QJhbUDi5vcQaYf Jwosk2arxa4e
20PAcqb3etkMhjC6/qNgEYwXBMH3TIL22eWOOF5I8jmFnE5hG+IjW5V/2vsE UEsHCEwZQbrN
AAAAcQEAAFBLAwQUAAgACAAVaE46AAAAAAAAAAAAAAAAGAAAAGNvbnRhaW5t ZW50VGVzdC8u
cHJvamVjdL2SzWrDMBCEz81TBN8jtbceFAfa0ltLIckDqKutq2CthCSHPH5W thKaQKBQ6G1m
NOtPP1arg+vne4zJelo2D+K+mSOBN5a6ZbPdvC4em1U7UyH6HUJ+wQTRhszl dnanSDtswVPW
lhxS3mDKSo4pr4J3JWyVPCkO64dS0fKn+Rxsb9YBgU11zzymyZSgsnzsBEJv Q0KxM1mAjyz0
Xo99jGc4D+jYDYWaJisvvJLXhN8gg0Hxpsl+8Tmf/o24hm90+s+8GtQrZlQe Ik7VSd++3Wm9
oMfejZGy149+6Cy9X/dPknHnV7/4l45QSwcI/PuHkegAAACIAgAAUEsDBBQA CAAIABVoTjoA
AAAAAAAAAAAAAAA6AAAAY29udGFpbm1lbnRUZXN0Ly5zZXR0aW5ncy9vcmcu ZWNsaXBzZS5j
b3JlLnJlc291cmNlcy5wcmVmc1N2K8pUcEtNUjA0VjAysAIiUxMFZ9cQIMfA kis1OSezoDhV
r6AoNS21KDUvObVYryy1qDgzP8/WkAvIz0/JzEvX18/NT0nN0fet1EtNzi9K jU/JTEwvSsy1
DQ1x07XgAgBQSwcIBwKrT2EAAABjAAAAUEsDBBQACAAIABVoTjoAAAAAAAAA AAAAAAAkAAAA
Y29udGFpbm1lbnRUZXN0L01FVEEtSU5GL01BTklGRVNULk1GTZA9T8NADIb3 /Ipb2MiJMjBc
1QFQFkRRRBC7e3GDxX2E+4h6/fVckqbNZuux3/e192DoiD6U3+g8WSPYhj8U L9G0Csv9BV7Z
40I+QKNgd72KHZmxWUCT9MEqkvOAtCYAGY0mfGWdrSfTKQxZahdcvC6tvW/u rwq8ryH8CMZv
k6a1bnR2dqAW3dr73UpQdIYwac3ZFvaJf5EcttUJZRwHKjOQs1M0wd5ggKYq N/ypqE69daGs
Qf5Cl0/QqUk+oL4vriUn3at1nwVVcXEoZ0PBrOs4SkW9Ry6tQ+6iCaQxL64R 6mOuM98O5OlA
ikISO4c45VjiP8tAw3RYPX43CabgnIp/UEsHCGirVcwCAQAAvgEAAFBLAwQU AAgACAAVaE46
AAAAAAAAAAAAAAAAKgAAAGNvbnRhaW5tZW50VGVzdC9iaW4vbXlTeXN0ZW0v Q29tcGFueS5j
bGFzc42QzUoDMRSFT1o1ba1aQZcuhXZjwJXQ4kbG1aDCgPs4xJCSnyHJCPNq LnyAPpR4x1/Q
jYtAzr1fzr05m9fnFwDnOOQYMMxcV3UpKyeugmuk7zi2qLqWT1JY6bW4fVir OnPsMJyEqIWq
rWmSEso90j1EJYoPhGGkVS5cYxPD6XxR/qbr4Fzwos3GiqI0KS8ZxpXRXuY2 KoaL/7xZld8L
36mYgl9ekg2nyTfSkckRmfwsX+VovO6B9AUcz//2F/cMkyq0sVbXxhI0/Qzj rEfp5wxDOtuU
25DS4RiRGpMaYEJ6F1P0qe1hn2oMB++d2RtQSwcIAy0biu4AAABqAQAAUEsD BBQACAAIABVo
TjoAAAAAAAAAAAAAAAArAAAAY29udGFpbm1lbnRUZXN0L2Jpbi9teVN5c3Rl bS9FbXBsb3ll
ZS5jbGFzc41Py2rCQBQ9V9tGk4rtRwh204HuiuKm6CrQQr5gDNcwMo+QTAr5 NRd+gB8lvQq6
7uLAOXDveZzOhyOAD0wSDAivri/6NrJTa1fb0DMneCC87PWvVlb7Sn1v91zG BE+E6f34h5s2
eEJWcfwKXuBqwmz+loemUlxaU7es2O1UGZwLXnXRWLXOTRsXhHFhKq9j1zDh 8z8/y/yefEnS
vl+sxCctQteUvDFWjCa3Ae+X7tKWMBQ8yliSRQlGosaiBkiFZVf2/AdQSwcI OiKmP8QAAAAP
AQAAUEsDBBQACAAIABVoTjoAAAAAAAAAAAAAAAAyAAAAY29udGFpbm1lbnRU ZXN0L2Jpbi9t
eVN5c3RlbS9NeVN5c3RlbUZhY3RvcnkuY2xhc3N1UttKw0AQPavVtDFeetNa 7z5ZBAO+KoKU
FAq1ihXft3EsqUm2pKmQzxJfxAc/wI8SJ2kqQWhg98yePWc2s7PfP59fAM5x rGFBoOZFvWgc
kmfepEFL2qEKIg05gY2hfJWmK/2Bedsfkh1qWBbYV8HAJNt1RmMyyXvmWAVk WqlToEDtbu/h
utu0BOqdeSdcCOQvOYvvhFcCiyeNR4FcUz2RjlWsa1gTOPrzOt7I/Z+gzZyB DRTZF2cR2D1p
zD+uAIGyAQ15gfWO41N34vUpeJB9lwRKHWVL91EGTrxOScMOSIZ0R8FY+ezO pp+SXMTqVNRU
3kj6XH0lq0pZlq1NZRb/tIqIk1ezuhnNwuJUeK9UaLnkkc+F1bLazA7LSwMK Z6XeSftFDmjO
RaS77NF7ahLY1HLiIiv/Luosbjq3mXvCY4nHdnxp/GiWeS5AZ2aFV6eM8ad9 wHhH6Y3DBVR4
1hmBOsvLqCZs/JY2sZVgjdPFWMdOgrvYS3AfB6wVOEwcR79QSwcI081PLYAB AACoAgAAUEsD
BBQACAAIABVoTjoAAAAAAAAAAAAAAAA7AAAAY29udGFpbm1lbnRUZXN0L2Jp bi9teVN5c3Rl
bS9NeVN5c3RlbVBhY2thZ2UkTGl0ZXJhbHMuY2xhc3N9lMlTE0EUxr92SUjS LAIi4AaKCi7E
FRdwiXFUNJnEJKK4jZPYUNFkhpoMVqW84s2jZ48erVIv6sHy7NEqLx79Qyzf 65kIakGqkv71
m6+/97pfZ77++vQZwFGUo1gnMFxvFpsNX9WT2RDyduWJPa9GMlVfeXatEcUG ga7H9lM7WbOd
+WSu/FhVfIFI3igUc6bAjozrzSdVpVZdaKikqs8Ru55KGuma3WhMCrQHSstK 57L5osCu1RYU
1JzylFNRtEi2FpmprLHGmpTve9Xyos9ropwgZc4KdIRkWUY2n6Gc7X8CgV8b x3OzBmFPC7lA
s6SrpPyFXK5kGRkja5glgb6VU8vKzrY20//fg6BwetT996Mw8RTtwan65wTW j47NCGxIu49U
DP0YjGKA/FZriMRWbBOIqWmzWEqZafIazKwmnkyQ4Q6JnRiiJfPKzyuv4ToC Q6Nja7crBjps
iY2IsMWIxB7sFej8Y2Gl3fpCQ2BkdaPlNrLZqEQUbWy2X+IADlJzls1Mu67W 9FpuL3uNS8QQ
Z6/DEkd4b3Hy4opsp8mCYxKJoPITEhNcedeywDLqC7UGy05JyKCmMxKTXFPn ChkXxaqzEu1B
tvMSFzhbglRs4jaVVlyU6AjSXZIwOF3vCgUdlaNNWXpFojNIOS1xjc34GAqu 6xs1VVeOz6KM
RFfgZ0rk2K/vb5GVberzZ/ENiU2BY1GixOL+/8TBMWv5jER3IL8tMct77vlH 3tr3XYkexOlM
MlVHmYv1svJKdrlGjerOuBW7NmN7VZ6HwXjRXfQq6nKVJ73/XMRxfnHQv2na cZSnb5iiy9PW
erlEBOVbT+8jiQG+c0QDfF30SK3WYyKMyzDeHsY7wnhnGO8K55vCeXc49mg9 ZUUvNtPYR7Pv
NPLn+Tts+YjtAu8xrHE34z6NY4yHNCYZj2o8znhS42nGKY3nGFMa04yXNV5l vK4xy5jXWGC8
qfEW4523VMg63KPfCdocxBIS4gX6xEsMi1fUqdc4Kd7govhALl9wW3xFRXyD I36gKX5iSTzD
fe3A3wf618JDGuPg4+2HHYn9BlBLBwjMZn21HQMAAPcFAABQSwMEFAAIAAgA FWhOOgAAAAAA
AAAAAAAAADIAAABjb250YWlubWVudFRlc3QvYmluL215U3lzdGVtL015U3lz dGVtUGFja2Fn
ZS5jbGFzc31VbXPSQBDesy0BSmkFirTW2mrV1mqj9b2tVcSgKAkM0I79lAl4 xVRImCQ4w89y
/OL4wR/gj3LcSy4UroMwcPc8u8/e7u0G/vz99RsAdkGV4BKBXHdQH7ge7coq 31SN1lejTSWY
JrBwZnwz5I5hteVK84y2PAkiBFZtpy3TVsfsuVSm3VPc2w6VFa4kMEO1vKoQ SJXP9XXPMa32
PoG5gm25nmF5x0anT6MwSyAaJkFAolpdP6qVopAkkP7ieb09WQ7NOy0bXeLM pVpTiqVPBGK0
pNUbea2Axy2XJxWDx0aqSq1e0QiQ0hTWD5hIwOh6oaJW6wQSIWbJMx9CIMO5 opJvHNUUdD3S
GsyGVycxXV47IZDkO11X1Gq5zmoMieAiFkM8FgcLZ/6VEwVd5sPtMJ/kORNE SY+6aA3fj0B2
yF5IcgqLqlUqDV0pK6rCDsyOQl1XT8LDchcMQeVoSo2bglyWx0ixrAMcDsv0 DglMbW4dE5gu
2J9pHO6DLMEOgfVhn8xuryM2q4RcAh7AQ9SxKARWNrcmtzaGrXyUgAW4jJdY Ni2q9btN6jSM
ZoeyEbRbRufYcEyGORlrU69KHde2CKxh7AnzXOgYroujMz901wt2t+cS2Jgs qtFT6lCrxWYu
eS7UjC79ry7v4QPS7HtMF0cdO8mwBvgMngNdwatxg4RCKgg8iwwz2gOKKDOC MGXLdw7Sqdm2
p3Rol1p4r9lxQlcHvL7cBUNQBprSgik4P4Vs2Jii0fJsZzChbdzKqqzbfadF iyZrSUZo6w77
5cDxLVkWdfxGUFeCj6OzIyg2yqZHHYPdTzTc4o8VjiB+ZiALSyBBFPcx9vhC HHFiBM8hnhfs
OFO4X4IUpId8BvGigLMj+Ari3AhewveyYL8q6FcE+zVBvyrg64J+TdCvC/43 RvBNxBsCviXE
uy3EuyPE2xzTJ/HWtuAuMtvIbOPKXtJPuPcDdr/7To/xO44rwAFEsLwnPsv+ YZ7CM399Di/8
dQ/2/fWA8y85f8j5V5x/zfk8x284LvD1LfdXoOif9c7/fg8lPxMCH/BTjsT+ AVBLBwjUCS2C
GwMAAA4HAABQSwMEFAAIAAgAFWhOOgAAAAAAAAAAAAAAACkAAABjb250YWlu bWVudFRlc3Qv
YmluL215U3lzdGVtL1BlcnNvbi5jbGFzc2WQPW/CMBCGX6eAw3eQ6NgdFix1 7VjBVLVIkdhN
dI2C4hjZaaX8NQZ+QH8U4pIIOjD4zjo/euT3/i6nM4BXzCQCgamp4sqXZNSW nLeFREcgOuhf
rXJdpOprf6CklOgJvFiXKkry7OhJkfnmu3Wk1i0iEKZUvltz9ALzxfLjLq5n uqjemPB34nnx
CCx3ApIln9pQ6/j/R1y6rEjZIf0NYMXDe60YxPbHJbTJcoaGbaxVTXIGgSc+ XV5Ah3NKhKjz
9jFo+hCjpo8xYYKXwzVAdAVQSwcIjCHVttAAAAAzAQAAUEsDBBQACAAIABVo TjoAAAAAAAAA
AAAAAAAuAAAAY29udGFpbm1lbnRUZXN0L2Jpbi9teVN5c3RlbS9Sb290RWxl bWVudC5jbGFz
c5VRTUsDMRCd1OraWnXVevQotBcDnpSKl7I9rR+44D0uY0jJR0mywv61HvwB /ihxdota9KKH
QN7Mm/eGN2/vy1cAOIejBDoMhqYu6hDR8AfnYqbRoI0JdBmkc/EiuBZW8run OZZU3WJw4rzk
WGq1CMjRPNPfeeTZisKgLzHe1FNnFoHB6Wic/+SXzhhneRWV5lmuQpww6BVK WhErjwwu/zJz
lX+t3VgJW0+uSWfQmt+jD86S/cU/pVaDrVJCSrfC0D5DEvlOooheWdkQwifh ePS7P36kJApX
+RJnShMpXUv3rKFTlAw26G3SMboUdwLbhHqEOtAnvLOGB4R3YQ+as+xDSjUG B23n8ANQSwcI
A0v9wwkBAADPAQAAUEsDBBQACAAIABVoTjoAAAAAAAAAAAAAAAAzAAAAY29u dGFpbm1lbnRU
ZXN0L2Jpbi9teVN5c3RlbS9pbXBsL0NvbXBhbnlJbXBsLmNsYXNzvZf7TxzX Fce/wy4Mj8HG
2BgcExf8iPeBvY7rpk5wHAjgdNMFU2NDoHWdYbnA2LszeHcWh76Txkndpkma pg+nrzRNFKmy
VHBqKLVURVUbV+mvVVX156qvv6Gq+j0zw7JdwLFVqUjsXO6c872fc+655y7v //uXvwJwGG/p
qNCwIzs3NJd3VTZhZWcyiR4nO2Pac0mOdYQ13OfkphIqnbFm8iqhspMcOznl 2/adHD+v0q5v
W6WhoSgVqGioVHyZ17AnVa6TdrJZx04UXItCKSvvdmqoGbKmbNMt5JSGBz7Y 41iquOCgyuUd
u/M4ReoHuvv7zvX19p3oPpM6raExdd6cNRMZ055KDLk5y56iUdg2s1yk+hj1 bcs9riEUiQ5z
vseZUDWgl4E6GBo2pyxbDRSy4yp32hzPKNFz0mZm2MxZ8ncwWXXMk6lFCM0G mrBZNHYYqBeN
sDttMQc7UxummkSGGnJN10r3ZMw8jdsi0TUJ8FPf51l01uBDaNfRpqG9KNsf DAbN9AVzSu1N
Wa7KmZm8gd3Yo0HvOdk/2D0wqmHX7bWZmCnl9vlbt28dkvU27+id2K23ZZKq iAEd1TpiGh5e
H83X8Cuux7Fd07KzynZHLHc6ac9SS3kL6OjgppUtUosoDsq2JCgfKakHP9wN kpG0mT3bzASL
diaTUiH13Kb0hX5zJth5nZka8IppGxOwTqnp+RWDpsja99HhWob/gIGP4igt 1IDjWpNWmpXg
2KfUxYKVUxNecY7peEhDx+2OY6mvVFUtHsQxCfthDYORO46yBDKYWzvjYz9i oAvdDNHH5nlP
rF0mqAHbs0iUMnZKPnVbXfLTozuZCRnp6GMvKc+UhjoVbHT3BFPywh0HdBdE PdMsq84N63hD
D0lG0sBe7NPxcVbzbUq4iCfVWofH0W9gACd55MbNvJX2YpuNrLMH/48oQviE gRN4jDSOO61y
fTZp9t9hotm/J5XXvZO9GrQkG182P8UOcv9dk2jYtLLZp1TWmVWSqDEDn5RE 1XmJ8ucF+ayB
JwQ5rB5TrobmSHJsLLo2gbJHpoH7cVic0gY+jXMsupzKO5lZlp82xqglsNNz M0rUhkRte2Sd
8xAdrsN58NK7wO77gT3PQBabeRWmM8rM6XDYKTxFz6LHyWQoychF8qKBHJix KnNiojuT4RUS
VEKZbWd0TMIpGPgwjkg4lwxMYZoB8DQNm5mC+u97r7hDVeqMnZe4wpGknOEQ Pm/gM/isvEnm
h1bejAnM0waekaakW3leBe5cLXrxrIHLeE6sLxZMuR2a1ilVgQvhKwa+gC8S yXX8EyzEXzPw
gmhWc7XBnPPUnFi+aOAKDut4mekuP/aPFiYnVa4WL+EV6WRHqvEqvdsicn8/ 1Cbz3zbwHXxX
cjYzo6ReO9Zrs2umfOFOUXhNFL7HCzrSc1u7F7kIy6WQYZZaNjLUUDvkFHJp dcKS66Gh5JY/
KC686ZO2rXLe1aPyOn5CsY1ucIa6coejnekL8beSn2G5LTmu4Re5CtSiVb6s cByWLxx81vPt
JmymRQP/ivIpP5XaO9iy4Lls5Wctn0AnnSLY5s2KQFPR7ThnxNGILWF77Dq2 3EDLqvcmYgAp
evRy8X5PwfDtcQ92elqtuDfQOsinvAtfx675okaVNzdc4hsOfDXppbTyA7zP 0xhh0GLTGvs5
9t/C1thNREcb47FQaAkHbmC/TIt2qITvHH2eRDPGS9ZoDdY45NlqzZxkUwhA EwFoJdVaykkv
lKhUFkl5BAPnp5l2WXWfOPfH4kxYbBEfucr03cSDo7FwuEPeLKFzEccXiqjb KQa4/CxwU2ax
BZcY/lPeYm2+YLCYjB71ACr5poejCi8M1sK/sFfnVmjSvgOcy0xnmM946089 391Y/dlKsI+9
i8fjB5aRCmE+Fm89sITB8vw9Q4hnsQfPeTAxX64IE8cpDHnZiOM0zngVFOd+ jtD3kLebFds2
8f0Td400WkT6VDnSy0R5hUiv/k9IbP4B0pUAKbbTR2oPcESj2Ss3Ys3z48n5 2M7We5cwvkrU
6Hn+EC14naX+BsN5s4QqVqSKeSyaN5qA8qhimOTIp+KZbgmHacAmHmC9xVcS bleAdbQMKyFY
y7A0yKDjXdjLmKnAyEKM495FuAuxnR1LmF0ts90sE+BnhF1gkNdZ6u9w8RtU XuQXxV/gESyX
lFxXEb6rCN/FopwLSk6Qm6UH8fYIkJ/nK4nsUIAcLUNuLyIvSDvxGZfwuVXE XTyuwK+J+Bsi
/pbIt6jyO+bqfeL+3sPb7q9RxDsU4K1A1UiX4M0TQM0HUGcDqOEyqIPSNt7D Fnks40saXkNl
+FroGgFvoVGO63vQw29jR+htNF337FoW8eWr0DkRDl+TCJ6/VlYRf2AEfyTx n1h3fy6hPluk
PltCXY+alm1aQ5dWwV8hu1JsR5cpK45HmLqvXkU1W/HX52/ipVEZLOEbqXjj NxfxrZG4j8VB
Q3QRV0fii/j+apnew/4F/IXt4q8E+xv/c/w7e/4/CPjPErgjAVwLO+QPWNTa SoeULvMjSCt8
HT+GXBwaJd7Am1U1/wFQSwcIniBEVH8HAABNEAAAUEsDBBQACAAIABVoTjoA AAAAAAAAAAAA
AAA0AAAAY29udGFpbm1lbnRUZXN0L2Jpbi9teVN5c3RlbS9pbXBsL0VtcGxv eWVlSW1wbC5j
bGFzc72WbVMbVRTH/5ckpIQtLRTDc9sUakMCREBtaxBbY1rThgcbGiQ+Lssl bLvZZXYX2ti3
PoyOM75wHGf8CA4vwFEz6IzTVzrjh3I892aTpgFafCMzyV3uPff8f/ece87m 739++wPAFHgQ
LQz9pXKu7Li8lNBLm0YiTV9WmfMMjUH4GXqfXl/ktmOZ1dVWhs76am0jwwnN Mt2UVdpkGM5a
djHBNUPfdHiCl9YTmlUqWWZiy9VJK6s7bpKhLacXTdXdsmnz5efvmMnWRYWK apaTs+SldUY3
dXeWwRcdzTP4U9YaD8GHUwraoTCcyuomn98qrXJ7SV01SKsra2mqkVdtXfzv TfrdDd1hGMwe
HRcSU3jOVV1dSxmqQ9bno6MHuLlm2TyRlhbJNvSgL4hehkjd75z3sKhq99Ui H8nqLrdVw1HQ
jwEKY3puMbuwkk4znH22c4b2IqeI16J+8RCaw+J+9Th2h0a7DXRmBUGcCOIC w9TheFUnC6v3
uCbpVN0scdOVboMYYTjd7DqECF4U+brEMBPN3lO31YShmsVE9aBHhCFjUuBM 1fCkkhmR/5OU
IO3+nLrp5bWDZ8xturz8Di9Z2zTxdfS47o4Kkmm5+no5MS8GXaPrYJmpDTpk 8siwHrkjRAEd
UzCIoSAmGKLPCGgdT4SxHeN4ScEkpugSrKqOrtWOt90YPu8k/8tBfHhZwShi dIMtd4PbaXON
4dIxY03NYJ3LVpB5i4FlqB5LTpEqbPI/k9BWfpO7DD3RTKEwejAaAnVWQRIz DEGbO5Yh4sYK
soPZfKm8KdoBzwkf4WjmoIPRfDvSuBnEDSrr5xaSgrdFGwpoBlftIG4xdEuP 0iJlGQa5JHjh
MqtgDvPU0tS1teuGwdDnJbPJNjlaEIdYVPAmUoRt8gd51diSre0ALbnjd01H nMYfpRIRO/MK
clgSKxknV1spCISCgvfwPgVGd6j1uWXZVqXahwqW8S5DKGdt2Rq/oYvq6mzs jxNCm3pkxjS5
LSuXO0Foje+Spt5H7LXuRx2AtOgToI9ftBga2+iF1YIQPftFM6eZkzQzTSOj MRCroGNPmpym
7xCNwGUyvYJOelKqRujCGRr96MYLnoMJz4H/J4R36/tb5dz1hr1+by8TBUpW VZyz0kfesx+I
/Yxzf6Er9jsiK13DsUAFF3/BOTErXPuk6w4agVt0qtsIU46fSAx4ElFpy8I0 STXkcX5GBH4a
44M/QvxdkPrVz5nYr4g/xnh8fB8JH3Zj8cHxCqabNZfp2CsYpqQKzVjVnacp nl7Bq5IjToG7
Ih3HcRWv0d6oDEBLdwetU614SI88pMhAFam3GWk3NjA4VMHrzSCcQIrog94A EqmDRKQ8k09v
4Jp0F6FcXGsA8dM63XcP5BtaEX6nPZB4M8g+qJOIh7HHyOzjdguW92IDYxUs 7NXR+imJgEto
25TgB+TkIcbwCf1IeiQxz1cl6pjTdcxpvIM7JFaD66FZKikPzqYVATLiwQ0d Ckc4Fdx9QhOm
ywp8SjSf044v6KJ9SZn7SpKEq/7qJCMeSU1fvJmpPD39h57+pKcfe0qfruaf 6BTDPlYYfkDA
v+PbETAf7DRl7VuC+Y7C8n0DxGQdYrIBIgBfdzcjg4+kzsdQZUlSG8Yq1lrb /gVQSwcIkbmS
588EAAB/CgAAUEsDBBQACAAIABVoTjoAAAAAAAAAAAAAAAA7AAAAY29udGFp bm1lbnRUZXN0
L2Jpbi9teVN5c3RlbS9pbXBsL015U3lzdGVtRmFjdG9yeUltcGwuY2xhc3ON VltXE1cU/g6X
TBIGrUEQETUCLQELadW21liVS7SpY6RAqdibw3AMg5OZdDKhYi+W3tuf0pdS H2BZ1mp96kN/
VFf3OTO5QBhssuZyztn7O/vs/e29559///gTwDn8oqCF4UxxfW697PFi2iyW rPStYHRdNzzH
Xc/RnII2hmHHLaS5YZmlMk/z4n16d1zu62R3CUcYemuYe+AY2kzb9Bj6UyNa mFCGpKacZR5D
BzoVqKGbZ2d044Fe4EOzvGCWPXddxSEcZojm8nPzE/mpLMOI9j9VM1EcYeha 8bzSpXS6atq4
4RQ7yIwuFUfRzdBR4F62dpYLKW1VX9PTlm4X0nOea9qFTOiG1cPFcAzHFfQy pPaXLFmVgmmn
s2IwI9/FsfoYRkOgmxUycdqkX8VJnGJotZwCQ3ejrbeXVrnhZUYW4mBIqjiD AYbIZRGaK6SQ
GllQMETeqGtkHxq85JmOzXBYM22erxSXuDuvL1mcIaE5hm4t6K4pxtVJb4U3 Rb/voKDHeH2T
bm2fvUmmc86jwN3SS3KXOFqRJLZ4K2aZYVB7LpUJIWK4XPfIwKupsFBNWXq5 HB7JwHsdlEIX
FJwnMh+Eo+I1vE5eI+bIsXnf5G5uWro5J/x/UcWbuMSg+obNcLcsPNDVmCH+ ZEaIX1bxFihK
nb74lFMs6Ta59mijfDArFa6pmMAkwyFfIUtucNY5F5Ro0KhOS5VpFVlcZzji q8w6jpe1eJHb
lLm9jVoNKxkFbzMM1MOWsyxe0K0Jt1AR67UoKniH4djexJmsmNYyd6PQKMvm V3jSEM5KDseR
Q14w9PYeDlfzbUHE4V0Vs5hjUMjLeb3IfXc0CQuw91Qs4H3igV4qcXuZYWzf LA6xj8rEIsOJ
4aRZTtqOl9STa7plLvvWytCKPT5Q8aEwJ+o5vnYcN5CnPbmkAMOpg6mnQG8s opLNPgUEieO4
J1gfKQVM6dPCJAnoPsPx3csBN3wkLpAUo0qiE1qoLGE9oL12r1dZ44OtCrAo rxGsXwuXJrgS
w8ndAg108hEdgdjhNvLvtHagDmV4gkhQzf2gzIc0nGBVcv4zFQ+xHpT4mtpA 6nkdhA7y+X4d
rwYRJ8D6YJqXXG5QUhHzjs9WbM8s8gWzbFI1m7CJUbpIEWJITwMD6zrUPR5h Q8U3+FbUy3qf
26ewVu2jTeecimvw66aoy737lMVxsRdVoJxtc1dSkJcV/EQ8PfjsFO1q/6QM pZJGVzt9W8To
ryBKoxiNNtBCb8DQE8QTLzxFogXP0H5z9G90jm7efIKe0S2c2AFb3MbpTSnZ Rd12kNBepPc+
ROg+QC1wEAkM0cowupFCP0bxEq30EPohkhmmOdCKghFaAc7SRR848woGFQKl FheYc56eYpP2
0W28/Du9tMh94vQELqCN6rXAVX0hjGGcngxpvBIA/EazQvbu2ad4leFXyK8p /9dK1ym6BukS
9ozR2d7YpFtG3K6K29TmDm4s7iC3mLi5jVsEMsOwhfnEHbpt4e42PvpLItVP f4XOfZXOdY1s
maADTOIipmunJ0sCK8Xbx/iE7PRP3z7URj8aUoMJjJ8kBaES38E9cviSdnZz jwvyFLjbDeDx
ADxKIwPL0nvUgZrxOOEVmvHukOZiCN4KTIlHDaoZb5XwrGa8JdI0QvCKsCUe da9mPIfwPm3G
s0izGILnoizxPFQCvHMBe6IUybVneFRHi8j5tQbyRAOkGL4g/VZ8KUP0VSD7 WK5QWkhZoO0J
vt6LtiHRWuT1nbx/jx+kjVSo8CN+jsT+A1BLBwjssd4TMwUAAM8LAABQSwME FAAIAAgAFWhO
OgAAAAAAAAAAAAAAADsAAABjb250YWlubWVudFRlc3QvYmluL215U3lzdGVt L2ltcGwvTXlT
eXN0ZW1QYWNrYWdlSW1wbC5jbGFzc6VXa1gcVxl+D7uwCxwgDCQlbZo2Fwq7 abKWpm0MJC3Z
QLMGCEJKLGpxWAaYZC90d4hZqtZLvFu1XqpR23pvvIe0AUm1Ta0abevd1rv/ 1L/+7C8fv+/M
zO5mmV3i4z7PzJzzne97z3c/Z1/4z8VnAHThbwFUCWxJ5kZzWctIRszkXCIy 6MyG9fgJfcaI
ES0Av0BHOjMTMeIJcy5rRIzkNI3TGcOW6buCuUagLY9ZAicg54xMNp3qiyb0 bFZg84A3rr3e
LdAQTyfn9FTOFWg0aJN0zjBcQnMmnbb6EkbSSFkuLWhmYynTMqYExLhArZmN ZgxdzRvsJVNP
mAs8D/bQ3kTYL+DrDI0J+KPpKaMWAq0SEg0CTQNmyhiaT04amaP6ZIJs0AbS cT0xpmdMnjvE
mh4FE8RGgZZZy5rbG4m4bthFRtTiOlwfwCYv7/TrcSudyUlsxg2krhEbGj3a OxTtE7h2oBxz
dx182CJxDbYK3NY5cFw/qUcSemomMmplzNRMdznPuvKhMbZyu0QAQR7dJFFr jzol6uxRWKLe
Ht0s0YgGHu2SaGK/+K1Zk3y9bWDNBKIw+tk5Aps6Q6sNcji7a7EbtwdwW9lk c/Ns+4gxY2Yt
dtgd2EMxLPgrVM7qUtHuetptr0Q3egTqZwyrL5+iuz2cuRYuRUNgP0ejmUd3 SfSiWWB9XOWd
wxRNpyzK0ixzRCUOMsdGM5+NHlz9EnczV810xjAWOPWsWWNVTTWMWjQc1OdU KgZwmOqqsrqU
ZGTysCpFgRs7y5rnlmFTnn0iSgVJcd9eXmjEmDYyRipukJNfj9EARijylTaQ OIp7BDZwGMjh
83FrPqMn+sl18xmD9mr32ItKKplOReYtkxrQAMWUNjuGewN4A/W0NZklxvFG KnnakaLUGQsV
hfzI5HEjbnUH8GZyzVomUkcquGZITxoVPdNrUTpNzlsGoevl0fNsAnWEHrVb oMC6wmSijwor
awfGJdnbq2R2miR1saLZBKcWM9tKjxQap+37IsLEYM6Jc9uqBdtYWmopWbL3 14ha0qvKFH6h
kwmkJNKYszHdFhVLZS1d+XhreZcWg2QksiBjpF127nGwheNbMcFZ+KTEW3GK nOwIF4V4a2dl
8VhojBEWJB4oRsiHMYi3U5dy7WfWByXeiXcJBLKGZbttvVfXUbDvkTjNvPXM mx3OGNPmKaa/
T+L9TA8q+j0jMa62D0p8iGupUdXSPJ22R3NzhmomH5EYwCBXyUclPoaPU/rr U1MlOzvJHxoP
4BOUXfmY2UEP4lPUjOwxQz4i8Rl8lrKUu5jr7qk1vFW02yqCY/j4+PhVROxz EkM4wqMvSExi
kEePScRxJIgvClTz1UFZ/mWJr+Cr5BSlZlFgXyyraqGHVdTDnDaNTFmWIpDV x/MqSiy2yjPj
7u8qei0b+nWJ+zDBp/RZiW/gm1QKii/f9reXwyniokb6bXw3gO9Q4q/NLfE9 nLP7VJ9tCN0J
ypfrQd3SOSO7gzhP14IU5T4r/pTEBSy5ESrqf2fLRqjQS68mQv+f/6+qoX+f Kj9fL05PDuIi
FXl+8gPKSr7Aqqx8RmIKEwFcoktsXs7t1UH8iCrbnTH7jyWmObN/SvS408gD +Bm1+LxwUTMO
4gXqGEUEhnhJYpYhfkk6Je0Gz+RfS5hM/i1dC5Jue+eF30scxwSPXpH4A/5I 8bFb24iRTc9n
uIL2/Q+XpYwjFXHF6WJRN6pG/Sbfods8Lo+7GJ7yOJZKGRkVFb4RBN17HLaQ dj56qukeW8V3
WfpvU8U3WfWtc7716lvHN3o1b3S+Teqr0eo6NBOKRrMQfflX7XsSLYuKbb0S rqL3CPy4HhsU
lZ9r8mIppQbQGdbazuPaZdwYFhewjV/t/OrgVyjsu4Ad/NpZQN6qlHsdKb2N FAujBbegDXto
n1fpcr8JHTisdpQ2PiJ4DX1riavL2fsxQuK1ofNoOYPm87hVa1vBa6twCdXn CrPnIM5gXWH+
BOqehrh3GfsuQRz2k7nhJdxJzwF6+sLnCNGnNNxMjgVOoJWs7MEc7qJz9iBO 4hBydKY8kNeu
h7Q5pLSL0ROEr3VTf4AsE3zyOLpG6Mu6VoefwrZzeSfUKOLpIkOrHUMFd3lH eJ9jaAsLr2CY
Yr+CMbbzTaVQDxVBteShqD2WhfI7UG8phXrEE2rS06T2UuHHPU2Ke5rUXtmk s556THma1F7Z
pEVPKMPTpI5S4YueJk17mtRR2aTnPfWY8dQjVCr8kqces556hCrr8bKnHmYF KH85qL97Qh33
jJINVV0uSv/yhDqBhAPV5XgnSPWavITrSuX/XSQfzMv35nvWP5yetUCq7DgD /2LYz+0p7FvC
/dy7uDRoPK8G/iXkwmG/WmpnSru71G4vVaulDqZ0VKulGkUJMSXkMof87oB4 cov5HrOfmjFE
FYLChwZRgw0igBtEEJ2iDreIeuwVElHRiAHRRBfcZtwnNMyIFvrT0IqcWF9k 6YJjaUxhE4Tg
/9q2yeJVehOTyJEGO12Td4a1ty3hHer9burfS3ivnbofECDXfngFD1XhmPKC 9rD2SZ+PbPg0
zZdwhp7P0/Oo9rjw+bWHacnHDzF8STF8jYSeWMG3aPfFAodieFIhtmvL2koR 4qO8ISNrTwtf
lbZMS/4rEH9YgrhcitihPas9V4T4POsotJ8w3LMlcBQG7bL28yLuF23uXzD3 5VWb/4q1E9pv
vFd/V6La5StUY7++fKwQ8RE6TyBuooh3UMTp3BM7sFHcTFG/FV3idhwQdyAu 9uC02Ev/O7px
QfTgFbEf/xR3Cr/oFa3igOgSUTEsDor7xd3ilDhUyAKRK82CKvxJlcef8Rfw cS6wm46mv9bU
/hdQSwcILU+Os1wIAAASFQAAUEsDBBQACAAIABVoTjoAAAAAAAAAAAAAAAAy AAAAY29udGFp
bm1lbnRUZXN0L2Jpbi9teVN5c3RlbS9pbXBsL1BlcnNvbkltcGwuY2xhc3O9 V31wVFcV/93s
Ji/ZvISQhDRAoAshsHm7YZuCtTZIG9JAl+aLJECJbeGxuUkWdvct+xGIWmsF 2qJtVWyxUetH
RdAaNVC6W4pSxnFwxj8cHR3919HR0X8dx3GcjuM577283e4mlDpON5N95917 z+/+zsc95+4v
/vPWdQB344aCMoHm2MzITCotY8FILBENDslkyoiHSFTgFthoJCeDMhyNJFIy KGMTJBtJaS3t
HTx8RIbT1toKgWUOkgUiUDPQ3d97sPfB3p3de/tGBer7jujTejCqxyeDI+lk JD7ZJeCO6zEp
ULmNdolH0tsFXL72fTTeY4zLKgjUqlBQSfh9kbgcyMQOy+SofjgqGc8I69F9 ejLC7/ZgxTYT
xgMXGlQsRzVjrFBRxRju9FQkJbCqbymriZAqR9J6OhLuieopWuv1tfct7oVe c0VXFVZjjYIW
gXUOar8tDOnho/qk3NAXScukHk2pWIs7ieNQ7/DI4IDA2ltDk1smZbrHiCWI SCMRcTbgMT0+
08XGtarYgDaBBtljxNM6eSm5U+rpTFKGHhQQIQ+t2aTCh3YBT34N8V3aNCu2 XQr8AnXFu1Jk
yUXho/16wnZ6zWE9FQmPOFynfaVUS7YKG7GYEQ/GjXRkYiY4wI9ImDxvxHum iGFXKbn30lBw
l0Db4iaF4hSCuB61TWOn3K1iC7ZSHskdDn3HOc/5lvBNEVBX6AMwjBIhLo/b zq0v9S1ldiw1
SXOd/wt0yonbikXi1r6PfbVNxUexnX21YH+Br9qXTKRiZ3nwAHYo6BbYsLhC Jh2h0sLiXpJU
9IBy2BNJdcfDMpU2aLPupQKzsMd7TLePKdgpsD5fi0LRqJzUo93JyUxMxtO9 J8IywQ5S8JDA
HcU1a0cmEh2XyUrspvo4LMOZZCoyLb1hyx0M4CVne/Vo1Dgux70TRtLrwS70 cTHqN11cUgUt
Fw+qGMIeikfasMatM1+ymtFGVIxiL1USPZGQ8XGBjsVgS4Zs7ibEoAe96OON D6gYw8cEVlrn
YFjGjGm5M2nECkI8Xur1/3+aVyOIx1Q8joMC1ZRo01SXZfc4mffK7Z/GvM1W Ef0AeLMTdRUd
2FyNMKQCYhx8nyAqJlBNwR+PpBJ6OjzFmFMqIjhCOSMLlw/LY5lIUo6bnZKS OSoQuFWfLtTl
HufBUcQ5Gw2Bodv2a6FjFw5ayYiVyMdUJEHVRLFoU78Ivp/s6eL2r1DjGzBv BkrKkagG2pIR
HWdJAYHXFWc59/5PcBpRba800lMy2ctHZNNtmipQNZHvn7ULeWgdC8Z+SsWT jO1d8rzY/Zfz
+RQvPshqT6v4DB8zt9wl01RYfKGxsfZSH7IHP6vCi3UsPacijT2s/oKKZ/As 2Z6UKSM6TV4Q
Y2QfmzA6k5CMO8K4Tb5FQmUF5iUVH8F9LH1ZRQb9DDur4iy+ZDWYfXo0I999 T3N8UiH3xlOM
7/aFGM2Fb6j4Gl7hmVBqZGFmzIMT+LaK8/gOzxzL0K2nqOg5dZhBLqr4Jr7F lL6n4jVO9kqC
G0oaJ2Z4elDBD8ik0jo2MSGTHsyhrxLzpOP18TXyPi8PXeba+DoditssiQzV xYpvsGJWYLWv
55brBskyCkImSjY3L7WQutaIkUmG5c4I35CW5e+Ym1mD7pmhOGWKWaNkSsH1 wrt40f2RDFy4
QWIducpF/+UoQwvfjOky7+bbLT3r6NuDappV6a2dnvwpF6+j5hIJZVhG3x56 ghLTjY2kAPPN
zRdlW207jbCiquVQr11GzRtozGvX0uagJu7GvaTRbSKo1no04Q4TqxkrbazN 9OQ592Wsmncw
Ksyx3QW6bltXcNrbug/Zusu1K1g/S1bMa1lsvAGNgVwFpoyQ9aMFYMttsIC5 TvAVucNkwqiD
tBdbUKP5byDoCmTR2R/IU7MQHyPTHjcRvdZiG5GlD+Eec5cafJhcwK6iI2WB i0ryP68/5Seq
XRdQa1E/5L+JRzX/m7h/FmuvoffANew6UB/K4WFaNpDFcBb7ctj/tuhntZuo 0ojWI/2kVc8k
NVe9FriKR8vRr/lp5lB/4CZaaeSwwEWsIp3JWTRo13D0gOZ2+f05xLJIXHK8 dA9xBSbRgCn6
qRKh9yPE/CjuR5RuADGEEMcjMHAQCRqhyk1/J6nq5O0/5dh/yrb/Xmy17Q+Y eac0rH8HtQrC
9XX/RlkTraCqZbs8aAeynLzRWJwFnywIXLmTBVSbbOWnbJe2sTLZT8loGdxk G+wO8EyxzU0E
Bpym76cpps9QTjxLP5LOFNjU5tjUhmnahE+UF8dJsmyikXewQaFqJriT2HTO Ufq46bml5TVT
V0P+07AQvQ6K3gDnF0uH5jV/S0cOH58vIncWjXiRAvISZfw5+PGySU6z4B1y W8hDT5je2YJP
EdUyU2LXu0ya5XA1qpziTzocn7A5ttocV72Loyjg9Ok8J+tcv0qczhOnCwVc Wh0urQ6XVodL
awEXN8oaOarU5WwqKbNMAR18ECw2pJH/cCy7OL/9V3GyHEQrh9PFpOapoFzG JlwxSTVZgA6p
DpOAWCDQXEsy9UmbwBnbF9pqa/d19sZsBOu3EIEzXFg+N6+tblmTw/P53etN zeu0+w2swU+x
Hj8rcIvmMNBMZwhT+jy+YPLT8EWSnBA1u920gPqsTessTbFpnTat9iJaXi1A 2ZPFi5dYOJHF
uUva6kAOL+czfC3VfuCXxO5XlLe/Jst+QzC/pZ1/h7vw+4JM73SYdjpMO/EV fNXOdOZXyQeA
urnN7yRNsRkBm19bEb81mjDJUXewuOXw9WJqfyBqfyTH/Yne/0wIf6F+81fK 878VhDHgUAvY
1BYIlSv0QjcDm9B5m9Aem9DuIkLrOY43Ue6ec80RqZ9T56KqcBOK+yJWui5i BQ3ySBavzkKh
Abd7jllfmCsK99+J9T8oR/+Jh/GvAqZ7HKZ7CpjWoKq5UtQ9IMron9kMOVXv NMGy4lZi9t1Z
VFI3/f78NcwdYCGHH/b563+UxaX9fosWCXXtWVzZ788il8/BVVQmIcqgCmqr ohx3igr4hIIg
9Zo8ua02uWa6EbyJqzY56n0qTb8FrrjX8GNwe6PbDX6Ctyuq/gtQSwcI1Jog +QwJAAAIFAAA
UEsDBBQACAAIABVoTjoAAAAAAAAAAAAAAAA3AAAAY29udGFpbm1lbnRUZXN0 L2Jpbi9teVN5
c3RlbS9pbXBsL1Jvb3RFbGVtZW50SW1wbC5jbGFzc71Wa1BcZxl+DiwcLic3 SoAE0lKby+5C
sm3IrYFiKdnEtQuhQEihaDwsH2ST3XPIXihr1VpttdXeq9bUNtZrtMM4EC1M 7Khx1NapM844
4+jo6Ohfx3Ecf6vV5z3nsKzLpckfk1nOd77zvs/7vNfve/ud7/8QwH58W0eJ hh3J3EAunVHJ
UDw5lQj123YmnFBJZWUifNfh07DbTk2GVCwRn0qrkEpOcG2nlCsfPjl2TsU8 2XINtXm4AiQN
ejLXbSen0hpuixajxexk0rZC2UyccNF4OtOuoXIgPmmZmWxKaTj87hod0bxZ MWNaufZOQUnm
+lQqbVu0e+iGUFw1B2RDb1dP+Ez4WPh416nooIaa6Dlz2gwlTGsyNJBJxa1J CvksM0mqFR3E
t+KZTg2l/sAQ97vtcVUJxsXABmzUsCkat1RvNjmmUoPmWEIJnh0zE0NmKi7v 3mZ5hwNThVJs
M1CPLYLRaGCTYPgyZ+P06JbouqkjK0MNZMxMPNadMNNUaPYHVgTBTWXYkWiv xK24Tcd7NNya
h+7xFn1m7Lw5qXZG4xmVMhNpAzuxiyb6T54cPBOOhnvCvQzOzesb0FA1qTI9 S7WwaxVCq1XD
ndcjt2oNSNiCBnRU6GjVsH91di6IW8ndtpUx45ZE0YHVsU/D5mLoKrTgdknM HRo6/AUV4fq5
RhQiFmNnmQnPVHtESmQDcxQ732NOeak3nAjl6/bIDfqer1xx/ZCBanH9CAuv SII9SUO9TtnW
0sYqRa2nlwS2+ld+DwxV0UKngffibkqoXjsTn4jHWG+21a8uZOMpNe60wYiO ezS0rjdECnWl
dqvQhWMS3rCGPv/1RjNSQNLbW7nj0j5h4H2I0EWXdk5DaKUZL8yWIxEq5Ngu idMt9aAbHt1O
jMtKRw9rpThSGjaqiDXNqKt+lbSnqfDkdft0A6S6z7Ju29esljU1JB73GdiN PToGNPjX6ZE8
PSm6avTjlIEhnNZQPWam47El96b9q2Ti/+PIsIE27JG5+YCBXpzkTLYzZ1Uq bLEY91xn1Hly
TCjn9Ikc06CxTnzJ9CSb8Y4b5kRVdULxBKz3R0ZGAivjIqSVgTtxVEhPGhhD jBWVUmk7IbHU
RuiCsBzMTSlBGxC0Ov8qxR4YqoaFKR02B/i7zgwDF7BFQ1ksocyUDnpX6yA6 Et12IkFIuiGQ
WQPTeJCnkjk+3pVIaNjmJbhItj0wIu7kDLSjQ9x5yMB5UL6CrTJkJrLqf4/P fLjL1SkrLX75
/BFp0FI8YuBjeFi+RNIDS19GhMxjBj4lE0ePp8PJqQxHcRSPG3gCnxHpC1me TUUDayk8IwL8
pIFP4JOklLHd9hTGzxh4VjAraK0vZc/kRPJ5A0/hqI7PMdzFPX1PdmJCparw Ar4gY6qjAl+k
drNfrgFHm2X/JQNfwssSs6kpJcXXutoMXbHlArcLwiVB+DKPfX/3unLP0wjL JZtglBrWEuTJ
O2BnUzF1PC6HTG3RZWGfqPHsiViWSjlnmErruEzAtS4CdHfpKsBbAwc9f2Xw 8T8PW64reccs
QRXfqwveDTTJPYhrn9xl+NzAr5uxhRI1fAvwKf/KtO/ipnlHZSv/VvEJnKBS EHXOrgDU59U6
uSOKRnARDcEruOl1bF/W3khywDA17iOZEQfBcOVJZ4eDdTNu8bD28SnffFfQ PJfHKHf2YgW6
Pk9Xk8lJKddBv4Mx5Mk3Br+HwFuoCb6BluGavcHSRYReR0B2Bbq0gF6CcUsS 3i4w0eiZ2O/I
anXcbCuwdWCFrYN5W4eDPsfWQdkttjVDWznaeWh9W5xJXkxCXkzKiLa9OCiP FqCU5YPCCeAp
P8IMi9VdotwTbGFuggu46yLqSLVrOOgra5Uvi+hewPH5PNU6goEdWIanmf9n mOtneeV8zjHW
7AJ6xmT1fromBdiMe7kqcdxg2f0LO3XOB02OAo/OK06RsmaaXnN0D8L9J/Tr +dtNcn3X0N+y
9yoGSzHH1/sLX1ua9i5iZDmkNQ7aS2jAy8zNJRzCqw7HoGslz7ETo/iAY6UT H8QZp4Y78SGY
xNnvhK60YaM4wQPAo/qiR7Wt0aUa9KiWOPmSMEhUSdchKX/G54KNTTsWMbHM z43ja+Qxy0b9
Dqt1jpfXKwUc2/Ic2xxmmrM6i7hjqA3nuHI5lsPX5PP5KMGx7pH8Jb9JNkY9 koNFJNv4u1dI
XkWSl3EuWq8hdRWZEpyeF95L+/cX7nMdXcDMfLCxdREfXq6Kfexg4Adk/CNm /RrRf8w++Anu
wk+Z+Z8x12+Rwc9xCm/jAfyioFpG816O5r0cxUfwUa9axLf6ehlVPHg83y7x m5Mnz7fDRb7t
kt7I+7bszbzMIJf+Ij6+zH6307m/JpPfUPe3fP8de+v3uB1/IPYfcQR/oid/ dljXeRWyXD8u
6yWulZU633iWeVx/5XGd8bheKOIqehGZPG9iizyu4lGNZVvmmy2dlSHhbh8s 3KYTMlDYnG9C
913GttLL2MpN2VnApy9C54bPNytefna2qOL+QuZ/ZX7+xt78O1L4R4FXM3mv Zgq82oTqplqt
Vtt8t1bCn7TkU/kR9BjBRfUAg/z0RVRw0j839wZeGJbFIj4fbal5cQEXT7e4 5LjYHFjAK6db
FvDqcjNsZ+iAf3Ja/ZsN+w6H/n/gp6WQphXQO+DRa+DzK/iqR49T0eDnrzkx /Tq+ATmXeNPC
N/Gt8sr/AlBLBwj8ohqz7AcAAFcRAABQSwMEFAAIAAgAFWhOOgAAAAAAAAAA AAAAAEAAAABj
b250YWlubWVudFRlc3QvYmluL215U3lzdGVtL3V0aWwvTXlTeXN0ZW1BZGFw dGVyRmFjdG9y
eSQxLmNsYXNzlZRrTxNBFIbfAaRQVrkjCghqgbYoK+CVVhBruZiixBLiB78s y1CW7O40u1tN
/5Umiokf/AH+KOOZ7do0ZQqlTbezZ+Z95p05M+fP31+/ASzjbQwdDHNOtVj1 A+7olcCy9d3o
bePIKAfc2zTMQHjVxFIMXQyT6rHFL1ZgnjB0ByeWn3hEzEI70AwpspZrBWsM qWR7ktQBQ1dO
HPFeMPRpuIbuODpxXUMMNxg6k3JAf8Fy+buKc8i9fePQ5gxDBWEa9oHhWfI9 CnZJuwztzZxY
Irtx0/D5Hvd84TKsNghrsUyqILySzk3bKvtc586xbgrHEa7uisA6ruoRMhPH GMZjuMmQaGdu
Dbdwm2HY9LgRRPNHI+TOtTsrbbc4POVmwDB4zjrtplxcTjhlw60yZBpWFwWv tLwZDXel6ZGa
6QhRdz10ns6gSQd5p2yLKqf8ZBss/I9eycOchnnpYbTm4T+jbmJYwafTI118 ECLI29zhLu3W
eoORho4reXmg4aH0Ml7z0oCp2xlTz0KZOeLHRsUOcmSMYTt5blpuCo/r+fdh dq9ka1nDSkOa
IkTd0vQlUzHMq5N0anw2dNtwS3o0Mk739ZmG+0hQeVCeLaVkVcMU7jCsXL5o pf6lBh1UkdIt
U6iUvdKQQpphVnXHlYqchmGMUIkoiopn8k1LVpgJ9X1elASG3qJVco2g4tHI rRZFqFZas21m
dE0e37xr2sK33NIuD07EEV2rHdflXs42fJ/7mCGznVT/2cCArJ7U6qNfDD0U 76XWc3TQF4in
F37Q4ye0b/TWgX4ZC3sY6XYwQC2N2jI6iKEwTjsQUbL0L8f2pL8jfobRr3VG d6gphPqx2phI
L1sTmKR+JpOuJk03k/Zaku6FJDpxatJsM2m/JSkZkuhEqEkLzaSPLUmLIYmO pJq01Ez61JL0
mDK4Qat7EpHmorx1pxfO8LSZw0IO9ZNminKs0Ly4SKMjo9JkL9KksKbSrF+k GcaGSvO6pQZd
eBO28tgM/7ewHUbH6LkTnk4WKujzD1BLBwiHUi0LAQMAAPoIAABQSwMEFAAI AAgAFWhOOgAA
AAAAAAAAAAAAAD4AAABjb250YWlubWVudFRlc3QvYmluL215U3lzdGVtL3V0 aWwvTXlTeXN0
ZW1BZGFwdGVyRmFjdG9yeS5jbGFzc41VW08TQRg905auLavFC4jcvIH2oqyK eCuCWIuSVLyU
kOjbsoxlcXen2S6a/QX+Ah98NvHJxLtGTYw+mfij1G8vVKALNk12Zr7L+c6c +Wb66/eXbwDO
4IaEGMOw6VbdhsNNZdXRDeVmuJpeUusOt2dUzRG2KyHBMC7smsI1Q683uMLN B4omTFNYiiUc
/YGr6GbdUDamzZKJQTbFEjduq9pDtcYZ+irNimvFQl+RodOPrT7WHW2ZYagS TS7wU3iqqtcs
1Vm1Cff6tsETle3Zh8SLk4SanNAt3ZlkiGdzCwyJEnFKI46MjE7IEnYzHGtH teHTaXRhr5e1
jyGX3YLgxqRibiEFhh4ZEnZ4s14ZHUim0IcBCf203ko+GYNIkiZ8dq46Pz1X KjNkKrrF51bN
RW7Pq4sGqbSnIjTVWFBt3VuHxoSzrDdoU+0RZNhZdajkTbUe5nfpjdA5I+x5 t06m7mxlRX2k
KoZq1ZRbiytcc4q5+xKOMQxuPgmuCZsr5SCqEyPIysghTwfBS4baIGaHsrmW 8wuz/IhiJ05g
VMJJhoHt4mQoOEVdVuNOudmQR7YG/9eYSeGz8wRs2RcJotlcdXgoFMOd7H/a bc4bdOq31tLR
fZnGOVyQcJ42uF2by7iISww7lsTaHRprpbJBb2LQsiEJEwwjbREjZRzVJj0Z 2t4zw95Ar9vc
bgiriZSLOIhoNRj2BQglYdZVy21CdAfmMj08wuX/DqQ3sN8Vwikb3OSW03SF SKEcTXO6KlZt
jc/oXoP3R1+FUU85euBmLYvbfoPxBg7TnY3TAxuDf3FplvCuMllTvjXtz+kh oe9OspjkZzQO
5j9hV/4ruu7RZM8HdL/F/p9IvcWBd9j/hgLiGKJvnw+Zo6QbBD9LD0wePShg ACdxkDxyAIZD
RAQ4Elj+kJtJvofhKIbD0i7RidGYL1CtF+hIvCz8wMgz9Be+Y+QzjjN8RoFh zRmnX5NHD1UH
dZuES7SxCeJxGVlM+Rx6AtSQgzc7Tf83zGfTgXhqgNFiDGdDGqWQRib/Ht1e 6Y8Y/47ia18u
r1bSZ76yDjvTxM5Q3Ul4gFO4EgKe8NeUzTZjuOs0ioUYDNNtZD6JzLzaRubT yMxSG5nPIzOv
tZH5KiIzhrL/ncF1GtPk6/IVxF9QSwcI8I9FvF4DAAASCAAAUEsDBBQACAAI ABVoTjoAAAAA
AAAAAAAAAAA2AAAAY29udGFpbm1lbnRUZXN0L2Jpbi9teVN5c3RlbS91dGls L015U3lzdGVt
U3dpdGNoLmNsYXNzpVbdcxNVFP/dJDQ0XegXtIVCKUIhTVuCgoptrYUQSiQN HwlVvpRtum0X
kmxINmBQX/CJV2cc9YUZX3TGp4ozOPigvDHji/+G/4Izfv3u3c2Stkk7ame6 e/acc3/nnN85
99788tePPwF4BR8G4RPYk6+mq2XbyEcrtpmLzrpf6XumnV0OIiDQcUu/q0dz emEpen7+lpG1
BbS8tWDkLujZ2/qSIbA76YHU1ru2CYGWSbNg2lMC/vDwnEAgxqUh+NGmIYit rRDYpmELWlrR
js4gOgT6mqFp6EKLQKuRSKUzJ1OxuEB70iwYqUp+3ihl9Pkck+lKWlk9N6eX TPntKgP2slkW
GEhuVC2T7Vm9uFqsARzYcOVkJjMxxeXb0jYzndWL7qqtC5bjIHAsnLRKS1Ej mzOLZSNq5Bcp
WyUjGndInRhOruWZgK1pc6mg25USwQ5uisAs2rAP+4MYFNi7obOGl3CAzTFi Ob1MZgbDw83Q
lcdEiI0a0rAbhwQuNs3E8f0vlYbsZSNem699myAInPqfKSiqRjAWxCj3wEZQ Go4gyvyMmFWw
dU5bSWB/c7bcABL8ZY277BhndMmwFZS5aBqlxGm1FRKS0Fcloa8JHA8n/j1n MsQJDW9gXGA7
Q8TTlSJ3AWeW/RxqkGHWyuetgjO/8aRZlhCTmAriTQIoeGWSFg1vYVogaJbj +aJdVRlflRmf
0hBDv0DbgrGoV3J2TC8bEiWu4Qxm6MdEBHaGE43HWTbZnbiBjRvIEEZ9QR3J 1RnS4ega1eTG
iHKDDm1ONCcjiPPsmrfhLxilslWQ1V/UcAlpDkOWZTtqiZlc49qoW0FcZhGe Y8zKF/VCVYK+
o+FdXGG9EtTVCxyqQ3WVjWGvCXR6nuxWzqoahsS9oeE9vM/DWuLWDAKH64Br 2sbIusAOz/WS
ZdnxnJE3CrYEz2pYANHaJXidTSBSh19naLzrteyqfSESPJKKLq+d62ilsWSU OXXylG+AFszW
2OtaTx5PY8MjobsBB+xAqb6QnsZ1cMY5IjQ3aLsytFjuKdbbqIXKpa9hD5Sp vxl9yhpKW5VS
1jhjytule/UldEQyIhCezIyvJ2dqvQr72Uc/fwqwDfICpiRvY17KfLby6zbf gu/OyA8IPYb2
HK2Psf17aN9RGUA3n118A6N8jiHEg7IDR7GDGs1ZiJ3o4bt3laaP712O5m8u EEFl4a8I9MOH
PZR92KsSuMT0fNIzMvIUAwIjT3Bwhd9+FbtFrRtX8XocPzeelA4jTPuLyJob OSCvMC/OsIrz
KxFlHdMMExFgqV+jXcY8KjD6BMdXKL4ukBp7CvbgS7RFqD35DboiY/6nOO3D M4yMurk5vAyQ
RiAOeSr2IcFL+RzzSZKdWZ6sb6ucI05ML+dpnKWnUJLM3ievcvqeY3a9Xo3T bh2OLUmb5HIb
/H1/oDeIyVRQFcNrxStyVhYpfqO0hd+P+r9V4T6H8+dXYJJI4DL/Pxp9hlQq MvYEF8YDuwLP
EVLVSnmFpowyzTUyXVWm6zVTM4Sbym1+nUlJLyhMqecVDOIahnCdQ3YDJ3ii TUAnCfOYQRZp
HkJzWKLHMjUmCriF+5zbjyk9gIWHKOIz3MEXKCvKi2iTDHiUP8IiVwslOZQP 0bJMJD/jtRPt
NrOZpi6HPHUznu4afz8VGMHPuP2u7gH9iozmZ9yan2zccYd3t3EObom2GU9y MKT00NPtUitD
g3/Ktsqu/g6fkjN18lXKbbWPm46B9fCS8rpfViN+llo5Pj6xdgN9UreBfB4z PthkoX4D+dz8
hbytPPTKJuifNkXPN0HnneWh390E/aum6FYTdF5aHvq9TdBXmqLfaYIeW3eE NUf/uSl6uCG6
Dx+oZ9XFv/8PUEsHCHFEto55BQAAyQ0AAFBLAwQUAAgACAAVaE46AAAAAAAA AAAAAAAALQAA
AGNvbnRhaW5tZW50VGVzdC9iaW4vbXlTeXN0ZW1UZXN0L1Rlc3Rlci5jbGFz c41Xi3tcRRX/
TZLN7G5ukjahj4Tapi0teXbpi0cWxDRNMbDZ1iaUtsjjZnOT3HZ373r3JjZi ERULFEQEiwUF
ahWrtQqNmjZUgfoWxbei4vuN/gF+H18/62/uvUl2895vvztz5sycOefM75wz 88r/XngRwAb8
R6JAoDI11DmUdYxUl5F1Iupj2BJFAgv26YN6JKmn+yLbu/cZCUeg+FozbTpv FSisrdslUNRq
9RhhFCKkIYBigfKYmTbiA6luw+7Su5OGQEXMSujJXbptKtofLHL6zazAotg0 W0fJTulmWmBx
7a2xCRU6HdtM90XrdoWwEJUSFQIrx5ZHzFQmGenwqW16wrHsoXaOabgEiwRC Rnu8s6sl3tom
UD2+6eQF0RIsQZXEUoGlM83RUI1LBRYmbEN3jJ2W5bQljZSRpm+W1tZNiM7h uGLfomE5VgiU
egtbrVRGTw8JXJK7yB91F6zUsAqrBTRvwQ7Dzlr0SWXufG/Qnb5Gw1pcLlDm TW+j7daQQVcv
yl0wNswldWiQqKcC06msoRFNAuE+w+kYUlrxsNZQkGX3RYxE0sxkjYiR6o0k rFTKSkcGHDMZ
aYuZWWVrBOslruDhzDlZIwQ3Ekp6T4/SMzYZbtG6vUrPzRquVNporjaezdkS XI1miWuI0snu
0xBV04Ocruzl1OtwvQRBu3CKIzS8Tc0t4dxWK+0oCSFswVaJVoG6yRYYCcs2 fANUd5eeNHt0
wkJDG7ZxywmUNUzx1YyLo2Hu+HYN7biRIga9YZ7c7bUzyGjz3TPrcWw19b60 lXXMRGs/oynq
eddldegZujaEGOISHXlx7rlHw3bs4MFYA44KUpdtWpEdDECHYWjoqWgQOwXW KsjU+JipMbM1
rvI1TU35BobRhV0SNxO904jScAt2C8iMGkqmJyFhPOrDENir4Va8kyAfc9JY Wlo1l6vq9gZx
u8BlMynseYvOMvW0xJ0CG6eXZxtZa8BOGF7C2elTnYajkk0YdyAkkSBUx+zc ZiaNIHiYZSlm
ymTEYYpbdyDFqd3oUzlzt+qZGvZhP7MnYdjSnbWSAwx43en30sMUZ4SRgiVB V62YDQE372zX
kMG7xpOOUoaDApun8/CsaOIyhnYWAxJ0d/0czsnxi4ZBvHs8LY0xBGJTT2zy flM1mmGbqAQz
6ZLJJm0ZMJM9hh3EXSwAyvaaDH0axgH0qc/dGt6He1jS9EzGSDMDNU3rlRmk RpWID2j4oDq3
oGN5zBJ8CPdJHBK4fJ66a7g/NwERltkwDuMhiQcFlk9sHh9IJndYjBDDbjuQ MDKOaaU1fNit
uRkvmPTE/i5bTxhKiY9oeAQfZSXN6oOqCNdODn/G02Nql4/lBGX79nHRQTwu cGmHwqwKk05K
6anJDiQSRjbbS1Xo7yLd7mNZqJymRgsUZHv5sbn14ulrIrmJ9ep2MKX4kZMh Z+GUMqcYG/gx
yK2cpqYpFvmFGTWBX/aln4UExF6lD/VtnC+qCF6KFLSjLJYbzhyUvWORtHJO FFOEzVIybywr
K1gUa2Kzn72Sa+Qm55zDI6/UhQNP2r1wSRyVOEOkTHJpCKM4J/GCQO0s1Wqi kjA5qkr3NWaA
2cpb3gIGyiheVNXtJYH2OfP0PGsak9F5fFPiGyxC81uh4Vv4thdoncagYZvO kHuLbVd18Lsa
vudWPMO2leRXNPxABbZ7ASLk9T5DDb+q4Uf4sR+t/cwDtpFWwVWXE13+Lein +LnEz4idfI6G
X+CXTBgmz1KVRnXJzV3d7o9Twmv4jcSvKX4qV8Nv8TojMG0ccCbXCN+RQfye CAkpMX/U8Cf8
majt17NxdwXNZjjI8fK5Yo5ToSN6xh1JsMz3kKiBSf2ms49gTCgPbs2RG+50 Q0AFGX3svQbW
qbVYyeJfCPUrZI8vDX4lqQhbwTZQfwbB0+wUIMxvsTu4BCX8at4EtqVsQyhD ube48CiKsAAQ
zw9jQaxhFIsFOtgsE4izqRFoLvLbANvL2Bb7rfTboN+GGkdRywIyinUFuIXE JoGqojwqkEcV
51EyjwrmUSGPouirJmT6VCCPCuZR+euK8yh/PzV67bjWanSCGkZLoxAjuOHK 8KLwEygZxk0V
7xhBZ+NZ7PHJ20iewx17zkBvLjmH7j0VPWfQ26xVaSPoP4tkc2lVSVXpKOwC NJdxwTkc2FPx
njN4rzthBAdH8H6KqCobxb1My96+JxBuLq8qH8EDVWViFA8XYHzkUbXpEa44 zUfrQfGgeBiH
xRHxlDjGSlbonvtJ1PO7nOe6gmdfgwo+oaqxmt815Kzlc6MWzXxRbEEDb7iN uA1N2I91GCKQ
7sMVOIL1+DQ24jQ24SVsxqt8eLzOh8YbuAb/RVQE6KFKXC+Wo0WsxhbRgK1i A9pEM24SrYiJ
OG/TuxEXCeaSg+ikhl3iEd57j/CCewx7xHHsFSd4gX2OOytsnuJLlvjDx3GU VJE4hSewiOgs
Ec/iSXyCaK4QT+OTeIr2VYvH8TSeoW2rKPcYewE+3w7hUzhOvG8Qd1Pz48R1 sxjEZ8gNUr80
nmUvRH0fxWeVJ6llCp/D57lDnPfOk/gCNGq8m5p8EaXUuwNfwnMoo9YBPE8/ lFPnAIbxZUbN
V6hjD4ov0uwSia9KLJGok7haYsT9X+f+VZ8RV3YRnSifY5pEVqJbIiV5ZSF1 uPhGiceKGaW8
5ntRKpbS4iLufP8wztaP4OsqUl8m6xmUer3AMaSG8R0S3xcgPNj5oWDN+QnD +QRuILB+JfAy
zseb3OknKWuTmyngyq3y6SrKcCH6O0K0yRfmY5Qy/iDw5MWRwlNFp9wkpNC2 zj3DO+lpnUjr
xjIkiK8eXAUDLeglx8RdpO9FEoeQdmfXe7bgL/gr2yDuwd/wd1q6CTvwD/yT WrUQof/iWKHr
72oELmCZxPkLqJZ47QJq2X8T1W9CvYfecO349/8BUEsHCGijrFqWCAAA0BEA AFBLAwQUAAgA
CAAVaE46AAAAAAAAAAAAAAAAIAAAAGNvbnRhaW5tZW50VGVzdC9idWlsZC5w cm9wZXJ0aWVz
dY6xCgIxEET7/YqAV+rmB1SwULjirCxtNFnOSHK7bBLQvzdaKep0bx4MAzOz dCx3DeOlrKGR
fcdWdL3vAM5hwjC5WD1lszI4P4L5TGJP0X73w/awWfT73Q8lsY5t95biXyfK QloCZbieNKPj
JCESsnrS5xHIXNURYoOszgLXIrW8uJ228ABQSwcIEEGovIYAAADiAAAAUEsD BBQACAAIABVo
TjoAAAAAAAAAAAAAAAAeAAAAY29udGFpbm1lbnRUZXN0L21vZGVsL015LmVj b3Jl3VVNa+Mw
EL3nVwjtOVGSXoqJU7pZFwpdNiQN9Kqqk0Ss9YEkN/G/35EdGxt6SHEPS32w sea9NzNvxnhx
d1Y5eQfnpdEpnU2mlIAW5k3qQ0p3zw/jW3q3HC1AGAdJtubiLz8AOSuZtKQ5 kkYEL5TSPsFY
So8h2ISx0+k0MeowMe7AXn4/0gbi+5DTTYWYT6czhD1txREUH0vtA9cCuuJV HT0uiFxaD5UA
qH0UmbMswijRXCFYldvSB1C1jva7zWOr0MQmwijE+7WDvTx3OEskLWCVc+/l XmLLBItPQmlR
+GJKFWySrRFidEWLxG1whQiF4/kDcHzCB/wN7MFBbPSigbVYFITnCvWDsRUe cF3WDcQL/lhr
vAy9MLZvc0/ZZ3Lfh+DkaxHa3PHepr6AfvHA4wG5ynYsKMPUuEB1KQvWte+z fjatDzK0NoYU
1oL7aQr9ltLxrONma/RlekQYHbjUCnRIKWaMlvQsr4GsntT3cjxDs0wJsaZt gYbFOnzXnYG7
rUOc6TXTaGb/wTi+oM+NMSHLIYoOa0mVq/qDHd7RgBrq4Qzc8v99k/G99yNa jv4BUEsHCHDI
FguwAQAAwQYAAFBLAwQUAAgACAAVaE46AAAAAAAAAAAAAAAAJgAAAGNvbnRh aW5tZW50VGVz
dC9tb2RlbC9NeS5lY29yZV9kaWFncmFttZpvb+I4EMbf91NEuXtxKwH5Aw0U la62LXvXu5ZC
Kb2rTiuUTQxkL4lREqD59jd2NrQ0dlRiR+pqC7WfmXni+SU2nH9+CXxli6LY w+FANVq6qqDQ
wa4XLgfq7PFrs6d+vjg5D3FiJzCkf+3Zy8gOlJfA6++nmWQaCIVxH94fqKsk Wfc1bbfbtXCw
bOFoqf1zd7MfEh8O2bXpCFPXDRh2O3VWKLCbXhgnduigfBZycIQO5iHH99Yx opNRsCACpjYk
w/I5edbcaUuYFm3CxAuQBrW3DC2fotIKPXegzr/r68lsjK+Hrun6d9H9bDvZ 4omqJOkaEvoZ
MEB2vIlQgMJkFnrJQB17L8hXL04U5dxZeb4boZBKZrP2fo6wi97GMsy/7rix iEVU8ljR9jO/
gFMiqlVSnT9zVbuvqYJsnKQ+ilmi15G9Q9GU/P299qKgrX1AcIqjBBYvU3Fb SfGr5yco4mnO
eZrnWm5mFW87gVPmrSniLWhL9hYUpXsLmrV565Z52xbx9nS0LGoLeQuK1a5W ibegyb1eBW9L
cl7Za1RUB4QVM1YWOExGdgDzp3YYK1NIbbGPiXyKzjdBKO/7wyvfjmNVWUVo MVDv0hZ9+xdN
G8O9Byidz/ftFG+SKww3jcj2DoT22V7iTejG7zMt+qC8DNQzS1VSuB/qvSzE oSnHLbf57EY+
0edd/m2iOtFBlXHl5BAdtKsxgtsZoMglRNXOmHdH3P4Vow4ol3krRHTQlu7t qAZv72vz9r7M
WxGim1+8iVyiE0XZRCeaNRIdEFY70a9wsLbDVBTpkCrHiOoMf5wgGx51h1IZ /jhZXDpc0aoM
p6oLnqoYw0EbL4sZC/QCVSxmK9QLVHPL0xThDFWel3grwHCivZLu7aoGb1e1 ebsq81aA4UTb
k+6tV4O33se9PZLhFGEMLshl+DBY+zhFSAziNNeiE+S53NQ7ojA3761LuKP/ LhXmIIpnXNGq
MKeqC56qGMyp9ragLdAUVHFeSZHbFETzqeirBOBQ5TJvBWBOtaV7+1SDt3/X 5G13/MztBjGY
g7bpcLOu5i0oFleCoLegyV0BojCnCGOsXbkwf8A4GWaTxHhO0y2aQXjeNI3s pKXH5nrJ6sg+
iCjsVchhPWd3xbdgbDv/2UtUNCGf6C7ZWQzd5eE+bHy7457LdMjCV2K8iRxU djJkR0uU8D8M
qLBBNsepzk3LOmDdR67wLXYKH5KQEIw9YkrKlrLJJwEYh3X7GjpyaiieetB1 ekZLaRrdCj0M
iYTISTDjcAGWC/cooIw70OhMMYZB1aDwgBYIanMYPZHv1DUET3vxXuo7Ct01 BreZGT8gH37Z
osv9qPepM4zPBg7Uf/WGAj9GQ2la+rdfyUsre61/e3WL9tWX0FnhiJXBjQuF ekmajXgbvd3+
wfj4QiF//E1vnTaMlv5pHybrzqphGEX+DHNmWYZudBt6y+z1OpZx2vmUE5HS 5ygOPU68SOee
LbzjEPd045VDTFBV2eT9mHa4aUnhEA3B2OeQHm5nZ/qmnP0qxGHsUSTiiIZg bIlJKV1aiskv
pQKN6KLhbmqPpBEVY/gjn0b5nlNzQJqgSQaRaPoM798RifxkPMpfiPRsdB+X 9WznuJ4te3ao
tDogPXmrA8Qqr47Y64eeP1CTaIPkXGzIpuxiN9tWQzHhXw+ucbNnwiVvnnUb SpfchM7grXaP
vGXobRhiwnvwf9O0BBbDCD9fDcf4jw8BnHuiIR3gkNb6ZstLSwrAaYh5MYS0 B0kS4E+utVLI
TUMsmDVY/BoqNCVdJsVA1ZqSOs8wRj6y3+wstSAlzJbyGEkLYNheI7RH2EYz iX0qacNH0noq
W+My+hRCMMx+oU9Y9OmEv1c6tpQy5MhoVwjBQA75HkhWiSG3aWHNyGtaEGPY U3fTZt+/kdS2
UALD/mPb9nz/5c38cOji5H9QSwcIsHitIasFAADgKgAAUEsDBBQACAAIABVo TjoAAAAAAAAA
AAAAAAAhAAAAY29udGFpbm1lbnRUZXN0L21vZGVsL015Lmdlbm1vZGVsxVXL btswELz7KwT2
XNH1oSgEyUHh2EWAOjDSFOiVoVYyUT4Ekn7o77ukJEdugtRAkEYnUZydmR0+ lF8dlUz2YJ0w
uiCf0ilJQHNTCl0X5Of96uMXcjWf5DVoZUqQ2TfQ6/CSHJXITnUzrJsk+CCb dhnOFWTrfZNR
ejgcUqPq1Nia/lrfkB4C3Fg4AwGXonEQgaAqOptOZ3QZYGPqwci/SwenJIkF 18IC98a2BaHc
aM+EVqD9PThPneWdRkRu5K4W+ua6IH/heqZbptD5uiWJUI2xHmzAovbJB3pI h7kUHlvgRjVS
MM3hO+xDD59D3tw0rRX11q8EyNIVpGLSAZljSV5hrai7RubrtiPL6dnngMNY Noz/ZjW4pLFQ
iWNw+KN1HhRJSuEa49iDhI01e1GCXbE+C293gEseaHuCUNjpfKDRREe/kMw5 ZI8zcTAG0g1u
BaN7fFexAuZ3NhoyDViPardGo5o2XlTt0GfCLQJhsRWyPH2LtD1BQeIoW95B BRZ3JyRPhGmI
1hH6rP7FAl+9t+Jh558T0LjqA39OHwO5OKEFOmS6vSwiHsxir8MCnbUwWrOL IuqV8Wg08m0y
GhReHdISLZoW4B1SGqTj7RAaelUjd8b4pYRwdbxDLyN1qtrFC2fjP9roDtLb bMCx0kubMI6H
mxL/a/TJj20++QNQSwcIlrRsHf0BAAAUBwAAUEsDBBQACAAIABVoTjoAAAAA AAAAAAAAAAAh
AAAAY29udGFpbm1lbnRUZXN0L3BsdWdpbi5wcm9wZXJ0aWVz41JWsEnOL6gs ykzPKLHjAvL0
kblAARXPFBUuroKc0vTMPL/E3FQFWwXfSgXf/JTUHK6CovyyzJTUIqh4eXm5 XmpFYm5BTqpe
flE6FwBQSwcIz8rLmE0AAABdAAAAUEsDBBQACAAIABVoTjoAAAAAAAAAAAAA AAAaAAAAY29u
dGFpbm1lbnRUZXN0L3BsdWdpbi54bWxVj09PAyEQxe98Cpz0yqLxYgzs3kw8 bGKins2GHSkp
/wLUdL+9ULFaLrw3/Jh5I6aTs/QLUzbBS7gbboGiV2E1Xkt4f3tiDzCNREyo rIkZ/9D7itYX
Im4YI1SoELdk9L6M1fB/jtDd87ojjDU22qM2vhUpFXgq6FszGoPxRUJIeuhz BnSfVYeEg0aP
aSm4fsRFHRaNMLbvrUMvdPtzjslI2JcSHzl32+uWC7pBBQdXlLJLzhIuwNzF Sx9xBdcEc1jR
Vr5dfN5aqLMGfg4j+GWZtib/3fMbUEsHCNwqeg7WAAAAXwEAAFBLAwQUAAgA CAAVaE46AAAA
AAAAAAAAAAAAKQAAAGNvbnRhaW5tZW50VGVzdC9zcmMvbXlTeXN0ZW0vQ29t cGFueS5qYXZh
zVRdT9swFH1ufsVdQSqgNXkfoWKaeEDaBxq8T05yGzwc27IdWIX477v+SFu6 dINpD3uKHd97
fHzOsYuTkwxOoKyVXhne3rpFmBbP5v7X4WVzSN8i06y+Yy1Ct7peWYfdaZbx TivjQJk2x1pw
bTHHbpnXquuUzHvHRX7xkVt3uq8Sa2Uwv/hSfceaqrIisXozn0OFLZfz3qKZ N6qG+TwwfA8G
tUGL0jHHlQS1BHdLrFSDAlQAglmJ3aKsFh9Up5lclUW1KAv6NcvX6CibXeyw psMuN4S4VEKo
By5bWCJzPe0JzCDYXvujYPMu1PciNACUgi8ezwWXd2uF8rT/QYvuotPCgucV RoHOU1lQ04va
P7MOQ7cf7DSXRSJRFno4x7nFjVP5pzS4ihZ6wIR9dByqg3ph1KJEw+h40fO+ ErwGLh2aJasR
UhvgD0cKWkjWwWM28d5NCOIrkljSBlfumehxsGhwJQkweAK1Ii+57MhSMneJ BiXtJCg3eQD0
ZvhZKKSi6IMHXWmEXdGu0Fgln2LrpQNuoeINN8SS4sIEMNkAJxBFPlru0FfM xlEGoaJxYRS1
n0X4fTmdpCQFCimfyKTP0rYWmyTsE4FbOaNzC2TmbUCjXjq7QSbECuyt6kVD BCj9UREGDdra
cB2uhq/N80S1SHzG0+9Xzk1wbo9xfya7ceyl6fsWQCmDvzbtGBAr0iVPxp1N a7803aZzNnWm
x2ks32R54sM8CW9RGZEXMFzKo2N6eF6e3ngB1+Flzhle9Q7/SSLWt3sL+H8K wRi/LcsPbHyp
jq5pTbZjvv4mDKHzeMvpcRcjNqRH8bl71+jGrHvdw/o6U/crqZlhXWLiaUh8 +AtJ1+ccV+Ne
8Qaeyx438bo8QVEMT3b2E1BLBwgMYNfFmAIAAPIHAABQSwMEFAAIAAgAFWhO OgAAAAAAAAAA
AAAAACoAAABjb250YWlubWVudFRlc3Qvc3JjL215U3lzdGVtL0VtcGxveWVl LmphdmGNU8Fu
1DAQPSdfMZRK266IfYcQLUI9VAKpAu7ISSZZU8e2bAeIqv13xk6yu61YqYfI GXvmzfObZ77d
5rCFsjF2crLfhyqF/Fkct67v22taeW5F8yh6hGH6PvmAw4c8l4M1LoBxPcNG SeuR4dCxxgyD
0WwMUrG7L9IHSs350vBNUUCNvdTF6NEVrWmgKFLzT+DQOvSogwjSaDAdhD01 NC0qMPUvbAJs
Shyqsq7uBqvMhFjyuio57W3YER51+xI8ndnU5gdBdkYp80fqHjoUYaSmIByC H228ELbvU/6o
UgFAqWT1tFNSPx5vz1YCb3sMn42mb7AQycUAYpRoHUpOxbO2C17J7Upp5/Ek KPu6/DzMSkfk
tcvNbUpPUqS/HjU6QVTn2Yy1kg1IHdB1okFY6wD/BpLDwwM6T5I+5VkcREYQ 35Aurn2S+LdQ
I656rxKfXWTVGBraE1IPNCOaVocONXVTNGOWQKO4MUqJlDTrGoEni/BSwwgu 9HSYay9ZI1tm
F9f7xRIodJzeOePnul+iKr3eEDuFwr1LiFRPDB0KpSbwezOqlkiQ6WbeAlr0 jZM2OTLmMrbQ
5Qun/3sunuxc0viCxK8jfNL21Wb5ufqRXJMdbXOO//EquBGv5tOTlbLopSw9 2XKZTQVn/r65
pZd8AM6P/sr/AVBLBwi8D91d9AEAAEgEAABQSwMEFAAIAAgAFWhOOgAAAAAA AAAAAAAAADEA
AABjb250YWlubWVudFRlc3Qvc3JjL215U3lzdGVtL015U3lzdGVtRmFjdG9y eS5qYXZhvZTB
bpwwEIbP8BRTKVKalYAHKF01ijbSHhJFSV7AmIF1Ch5kz7ZFVd+9NpgmWXYP qNGe8Ix/+59v
jCZbrWJYQS6p642qd7wewuxd7FMX2/LCfbO4E/K7qBHa/qm3jO2XOFZtR4aB TJ2ibFRnMcW2
cmsymG5uhWQyvdNlwexTkkCBtdLJ3qJJSpKQJIPx8w4hL9bhSJ4Va6jIALt0 SyU2qRdtGTpD
P1SJFgRIg4LdNvKOykGNQu5Ak05EYdm4q0A2wlqg6uCioRDU5ayMbxZfAdO7 sHgYyQdBjRqN
8y3HnuyLRklQmtFUQiJMRwII4C92PhamZsDvOPLdiAKzVbpukEm7OywL7a4I 1VbjgXSQnupc
dBImel9s5KuNZtVt75+er+9vNvD1ldo9apMeKLc+p7Tiz1fuOf8RPCLvjfaP ofEnUPGCrueu
/rHtlzm26wc0lnSeueXlf7GYwWuZ1awBoyT8OmOwmOiG2k7o/ixIR7xmTEET oEK0mGrjXph6
xLNgHTObcU2iADaFi8keiRg2Dbao+Sx0pwxnhF4YdAHyTeY4p58M0yC2+86P Xyyh6N2Gsh8y
MwLfAqOTYybMTaiRD1ID3B/IsoM5E/8FUEsHCNVYu7bLAQAAlwYAAFBLAwQU AAgACAAVaE46
AAAAAAAAAAAAAAAAMQAAAGNvbnRhaW5tZW50VGVzdC9zcmMvbXlTeXN0ZW0v TXlTeXN0ZW1Q
YWNrYWdlLmphdmHVWl1v4jgUfYZf4e2O1JnuluzuvG2ZqlU3lZAKRUCl7VMU gqHZhgTFRhpU
9b+vndiJ7ThfEFL6VJo49rnn3nPj61zj4qILLkDfCTa70F294OvoX0P6n176 Mlh8IX+N7sZ2
Xu0VBOvddIcwXF91u+56E4QYBOGqBx3P3SDYg+sl+R2EsGfeYhy68y2GVyUD 7zwbobJB43j5
smETuIQh9B0ysGswG3+5vARzuHL9yy2C4eUicMDlZWTv7AWC/vyazd035tdg GYQAk8vrYAG9
Hh00wMAJfGy7PgK240CEghCl4yC2QTD/DzoYARyAEG5CiKCPo6W3XrQOAH3P vYa28wIcauzv
fYP8r9xZQhtvQwiCJSgZCf3tWr1h+4v4sYVNAOHdBiYD+gaDETEB/UWGhxsE U8f2huzHve3g
INxFAyI6wKvrL36csUg4i26soA9DG8NFHCTbuec6wPUxDJe2AwGfi1EM4E9M ACDA/Qneuh3q
pw7zBo8y317DXnQ1z32dXIM6Mq4OBdaZkmD0VwCObocm+AHOuLVnJFByEaAN teFpMjgOlKlF
pqZgXjDe/G0YiQecoAqu43E0tcYT837wbyFRiIz1IA584m6EbaI5Gro4hdoo tkwgDUbT2e3o
jjoz4Y3kBq+njBzQa67v4q/fVAsE7QJ3kUj6/O3Gc/1XZdoxDFHg09lAH66v 43/7Bvn5fh5r
9SB7JQUqC+aN0Fj66wri+MGv3/REEm2CsTmZPo4Ic3+olPAkJNJBzSVZ8i5Y bxDNkZHR5zwp
wpDkPJZ0m/M4uAnCBZk0i9qy7h6H42lN8COiFQG7zd9N7SBmSedPFTDJ43PC H5ENwuHWIeBt
j1uBuJrOlXBrItqqIr83b2dPE5NQ/jSaEQv+OkhCNIJsf5doiP1/TBEJS9ZU EXuySEY0EG9H
zzrPFoSiSRbQ6GhN9gypkoDnInxcFzP0lmUOxw+fQ08J5MMFJcZeK4ri2JuV FA2mYAdhoil+
4ZiiEhetqSr+aJGsaDw+PpumjpxTfj9x3OkbSnpjnby6UvxMXuLrq5YjaLgT b5xAkhN9MppF
jkgNk6X4WzYBVk8nkuxaySeJZWpCyTGO5soDEs0kCLDpQerAJNfQa4BdPGa+ UdaumXKEp4uy
zuTxcWaZD+bQjFj8XiPghzuQk3xaj3fRCssaPu+1WSb2xPvNk7Qoju9pzV3X x6RUGTxLq5mX
WvU0k1FcK6lGskJNN9+lvDKBBLSP1KOxyB0R0mx6iUMtW1QfZFMY4SiCoVZV PU1aie/rc0Z8
bAmEevuqIg/0mmZzkscML0ZQUjOhIzOUC1AGUEBZgplnXDqm/GwiPb5NebXY PHXYTdRdxCnN
CBGlcWo4OqMCKGnVEhrpuJosJifvAovxNFVJzJEqK5o0xXsLYpUqNh1nbECZ XJPCfg+9at5+
uSzxcgcldVmLutUClXEUcZhgVyOv5FREFjAbbLGZGlKwAPGkJazgrMukJGLO ZCMq5rWK7ryg
BR3LpZKOOT6iTMnpYcKxpMxXiB3mR35g2S+pcT9c0jKWQkZFO9SALDuakbXN R1vpdAeGpVCn
5VWXLURndoet41PAWhakUvl5rDgVFqGuHO7SDWNanH54oEpQyngV7FAjtUJF Lwer8ICVzNma
L1gtzb2RlNan4A8RTDWPsCca9kkya0ObBAX2SW8UNFj3YVfaMIjsFm8alnGX B/ltY+CEkEwZ
3+Bf9ZMTCNYS0wxrey2b2xXAWlVAFKHSJdnwItz/wCWpdxHRByZreHktPhRv 2uQTTUrba+iP
nDYf5VZRn48yVGj0Se/kdfpEUAyOpUZrRdqt88BNf+t2Ys74EZUY5IygJvol Cn1SYEZWRJmW
iZwhpT0TKkUxR/yFnnROJP0nPeUEqAZv1T9c8aA5lDKNXWlSVvsrNCaKhzH1 Dc07gz2idWlS
VHoxdMalifLQ4K/Y6dBw+EvNDvXiX6hGiwWQ9jxIDEqHKvUjo3pPRCtKyLRG 6GwVjzU+mRbU
Pgqtec2poXKTQsN6kPsU6glCrIaLFSG0K0g8yqcT+7wW6nxGb0UX+q/pWquV c4FDQ6ju5+eG
IynzBbpeMCnb9+J4Uj5ES+xmDhPqh1Wtj9WtRFXuN+s80+Uafi8K6nzf/hgS 0s/cBTRIZfMn
ewlpv43n2pq+jd673XdgGIrUuv8DUEsHCEg+/HReBgAA0jIAAFBLAwQUAAgA CAAVaE46AAAA
AAAAAAAAAAAAKAAAAGNvbnRhaW5tZW50VGVzdC9zcmMvbXlTeXN0ZW0vUGVy c29uLmphdmHN
VU1v2zAMPSe/gksL5AOLfd/coMPQQw/binX3QbZpV6ssGZLcLij630d9JE4D p2nQy05RLPKR
fO/RTheLMSwgK1S71ry+syv/N33x3z06vy7P6Tcdt6y4ZzVCs75dG4vN5/GY N63SFpSuEywE
bw0m2FR0VhqTqx/5HywshaWx1oflEnKsuVx2BvWyVAUsl77uF9DYajQoLbNc SVAV2DuqpUoU
oDwQTDNsVlm+ukFtlMzSfJWl9GSabMFRlvvQ/q71RX4RYKWEUI9c1lAhsx2V BKYRTNe6SbD8
5OM74RMAMsFXT5eCy/vt2Ekof1aj/aqa1oDryp98N89ZSjlvyf7OGvTJ7rCX m6WxhSxtN1Nc
GuzJT77Fw01QxQEG6NncB3vm/KlGiZrRbEHFLhe8AC4t6ooVCCEL8K8l9gxE 1eBpPHKyjQjh
JxJR0nhBHpjocKPORpA4/UYPKBTJyKkqqVqhRllg4pGuLXADOS+5phqkMxPA ZAncGlCkgOEW
XcR0nzVXgcm1m/KqaUUg3Z8CcdOAf8hho2gC30N0FjLpbLA7Sq/i4AzUmZxa KAQy/dFjUSaZ
RyMTYg3mTnWipPLkWu05YlCiKTRvvaVdbJLERtPYzbBt3c2l9rQfYP1Iq6GK d8yZiUadRRLn
/d1xN/0OqUM5+5qEkLixUcyLCbqrCVjNpOG03heTigmDkxDde3PkzDmKmLBZ rtmcXh9bI96i
HXLhiQv6CmGv+uewUi3TrIlNuY4kPr5Psn78YZoeFC9hX9dQ8gVhRzc3vHq2 i8us1Tzv7Fvo
OL5O2/faDvD/tEND/e0tjguZ3dKdrE9bG58431mJYSEDNMSvwTvdPvBBOU3S 9zr8GKHbMV93
9Q7pvaefIU3jt2r8D1BLBwgzHsAblgIAALwIAABQSwMEFAAIAAgAFWhOOgAA AAAAAAAAAAAA
AC0AAABjb250YWlubWVudFRlc3Qvc3JjL215U3lzdGVtL1Jvb3RFbGVtZW50 LmphdmHVVVFP
2zAQfm5+xQ2QoGhN3kcWMU08II0Nwd4nN7kGD8eObAcWof73nR03TatWIh2T tqfY8fm7z/d9
Zyfn5xGcQ5qrutW8fLCZnyYbc/fr5Lo4oW8S1Sx/ZCVC1d63xmJ1EUW8qpW2 oHQZYy54bTDG
ahHnqqqUjBvLRXz1hRt7sS8Sc6Uxvvo2/4k5RUVJYPVuNoM5llzOGoN6Vqgc ZjPP8BNorDUa
lJZZriSoBdgHYqUKFKA8EJymWGXpPLtTysKVwIqi02SepQn9P437FCiL7QR+ rfapvhPsQgmh
nrksYYHMNpQYmEYwTe3Og8UHH98IvwEgFTx7uRRcPvZlih2JwOG4RHvTflZV bcBRvGnBTzyv
ZZrQ7hE4t6iNkj1SmB6C9ZVV6GHcYAsgTcLp0qReFejS4NoH8U0Y3HYGcYAD /LOp3+H18aMS
JWpGtetc1cwFz4FLi3rBcoTBVsBfliQyEAwCL9HEOWRCMHdIatDhnfZPTDS4 MsJK+3VtV7pD
rsg0XHpojQvUKCmhIIPGHtMJ7mY+kII6rR1uWyNs19ChM9kuu737LDsJfnLf 62BVZNI5akh4
wwn7mHIjT4mcQKbfe0DaTgQ1MiFaMA+qEQVxoF7oaDMo0OSa175RXGwcB7ZJ oLS7DdzKpfYV
3lPgV/FdV3aMYX6EDiHjTHrnDDN8PLK6waNude2mibPTxN83adAmg3XDnU3p fhlln76h/pKB
Ovw388+w//8PB72G8cEeCuB/4qIOIpioxxtlo+5C7Q3ErNV83lh8E9H723oA /C9JvIvfQMtj
0708Z/e0JsvpeJX97qHAu9Xs8CE8dJsK3qPdJd/4B3OcuPsrWjPNqsDGUZH4 fEBp+7PursiT
4gVslr9L4mqzhCQZPsPRb1BLBwhO4cuSnAIAACwKAABQSwMEFAAIAAgAFWhO OgAAAAAAAAAA
AAAAADIAAABjb250YWlubWVudFRlc3Qvc3JjL215U3lzdGVtL2ltcGwvQ29t cGFueUltcGwu
amF2Yc1Y21LbSBB9tr9iYFOxRGHpHYSBdbRbrgLjwmRT+0SNpbY9iTSj1Ugm rhT/nrnpahxD
Fie8WNJc+nJOd0+P3aOjLjpCXsCSdUoWy2ygPt3Gtxx6NwrfiafbTXDwBS8A xevpmmcQOyRO
otNuVzxYmqHPeIWdPCORM2RRBEFGGD0tJss9QxYnmK43J67Ny0Rr2VwwgZRL icUESxcOBBFJ
ODgQz52AxTGjDmUZma+dsXyQADeseP6W4RKT3bqUt/4V4dlWFRCwFBx/GGHO dywa0QxSiiP/
ZvZZwLddu14u0Xf8utEjxcczNmkFz1iuHdTLh4xmApQYaPaJZMsRXQlC4Dne Kymld3pD1zXx
d9DvoxksCO3nHNJ+yALU76tYvKRImgtSo/IPsTnKliIAWQgRYsoq1PMgHniz gQksz50NPFcM
9ZxSPNBwQ7iXqMedEDcX4coeCF2gOeAsT4EjnEKlG8ITtSOP1BaEvIgMvl1E hH5p5kIR3BLY
PxaQ+eLJkbRPvSmzHj1X7H6ZnDGOQYmRLy0pnmvM8tykyNiLBVBIsTBc520+ i0iAAhmCqCYa
wddMQMNRLR4qr8ul6Fu3I8nqGLgCHCwhRCsc5VAw0jNulF5bdtvvHgqqAEIp zCEFGgCKRDg4
Svi2UOhs5VHOXHCAul49WCGgPlkaCnXqw+12kpRlwl/hhApGT1eWAQIpQYRm w90Q5jiPsu3+
SlKMuxU/PYSzLCWzPINXcU4reZFvXCZNgOZEJB2aCmNEgI8vr/17/4P/1+XH qzt0hmgeiRLw
InrfqrvGQypz5azpaJ3SnzSsYURDby2hBCwiVzo8TyC1bIHr4+srvrgRZTcl ITTCWB0vCKaK
cvVhbElBFDSKWoerc0VEMcYRd4Y315PL8b/7sdUUnmaS1SqENJDMkaXyDp3p cNTDHTOGKDyg
3QdQId3ST0fVumMRu0T8tp03Pt/f+9eTq+nm/MS/nd6M7+/luqmkUWBTImlq xB7hMoFcpVqN
Rxnde1W+YkRUDqO6SCl4kJ/aEDPGonCsM82Y1DGJZxafFtTW+5Nb+C8nInct 21YUq7m1pShu
9zGW5q4+7Ez9ux+wKVP+uDDsWNll7ysJp3mSiD6Bf8IpFXBw6zCnomwGXyA8 tJtJqnHd6C0R
mPi9DEOr1fkhJopu6tPwGBFxVpquZPTh+AkxMV9wU3YeSBYskVUuN5kUYA47 cuBEritizLIa
rZrXMm5gt+bPB3aV07Yzw5wE0qnKCWVjK49UkXTqIFTraw4XW/dcSXeRdAsx W8Hb5ukpHozd
L6FiY8vvYsNgDH9DZrXgnTEWAaaii+QsWkE1IK8bd+sEXhfpCtbT3dtlGWrv 1oX8adilezXX
SpdKV95KCVNHA0w32TBEiTL+j2waXwn7CnRxmgNODfj1cRyGl1FkWdX/Dd55 eakxHYFdmnVa
I+VFPBbHoTkPt0t8LJo/R8FUg6i+5ZckjybrI+VtuvbMzv+At9Gy/whb7VVl +q/CtCgyMOIb
WfC6BUc3vwe6IUbv36MDNeIQLkDP1j9Xh1p3PyP8XN+YCl0n6KCxzhEtm7gn WKqb2nJu8Olv
ocN0ohnTL/X7xIhPUvZV4GSjhq3VWnklNL3sn/l8DqksvPKar28c9RmrvVfh oJc7OEmE/dYh
UgidoMMnJkvsmsM9u2dGlYVmsm6ixPERuW7titn9DlBLBwj4b4QY9QQAALcV AABQSwMEFAAI
AAgAFWhOOgAAAAAAAAAAAAAAADMAAABjb250YWlubWVudFRlc3Qvc3JjL215 U3lzdGVtL2lt
cGwvRW1wbG95ZWVJbXBsLmphdmG9Vl1v2zoMfU5+BbsNq1M09vvqZR2yYAjQ rsVtt4v7NCg2
k2iVJUOy0wVD//ul5G8nwYph6YttfVA8PDykHJydDeEMwkilW81X62zihkFn bKfezOM39A6G
KYse2Aoh2d5tTYaJz5NUXAyH9FI6gx9sw/w848KfKiEwyriSF9VibTNVScrk dndhRoepLeLu
ynX5cVv4bzwqvfIxEjw16GOy9COVJEr6UmV8ufW/2BePWAfH802ma8blb325 eGdX3GQHXWCk
NPqzqWDG/GbTXGaoJROzm8UPIvCw92J74bzYO1UyI8AJyuw5cJxp7e4ZBjbX /qxN0LzIflDq
6GQ8hgWuuBznBvU4VhGMx05THyVYa7TYnCWoJWRrEpKKUYBy+OE0xGQSLiaV DsJgMQkDmjv1
6/NRxjunh6l73dN5S9KdeuRyBUtkWa7RANPYOMf4nbPIhTMBCAWf/LoUXD50 RV2L0cb4eoWO
XatcsCDtAOzIwXsKAzqlqJ3y4DBIq+K5XKFEzch1UUL5QvAIIqsFaDsB/JlR dAZuUZuC2wZ3
sxV+DQeW8EEZccSiNcawYSLHitXTMqI2bm+0D/kpRI1qQOMSNcoIQZAcfOfj UFYHBzNiVy4N
Ie26L+YbMtxQ6Zg8ukEwHKRaZSQECsfpMSw7xcSBtAMSWx38HwLrAOj6bCWD 2CKeByZPUXuj
i+Hg6e97vrzZoNY8xg4I1yQA72ydRG5QYtFIepbQa4X+FacKZsL4s+vbq5v/ ZrPjgC1l28tL
V18WJV+CV2UL3r8HmQtRrAyaaZD4CAe6Vn24V374rlTOSdicnv3wq6i/f5/e fLmnx/WtTRdR
UDPWiOfYWSw42rlCAOeSNhn8BxO1Qa/X40FRzeqZjM+BUxGWjWv+6XzPSYlZ mVKajzyL1uDV
2yuWmcHnsPTObq4o8rzORRB+mIw6qR35C2Z4VOJv8Do4Pbpdzfi9kBuTVniV 9YtkpeQaP2Pm
9WheKCWQSWp/RokNNhP22rvfpngExjv07mfQIm2hrNHVqI5E3V2epuTM/Mu0 pJvUeK9ySXdM
9IDxq9E+ajeKx9SxdoktOadq/2avp79JY4c/ahHIij69s8Ti+KMQntf8kYYf 6qu26jWjGuJF
K0lVWsp83HXz0TZ5EQUXNH+Vpk/0C/G6l5QCTuPzpcioShTnZkd4RyjX+u46 Ka40ePsWTqpJ
nxv6d8i2hwq5gNjn6AmCoP3LMfwfUEsHCAlFcfOXAwAAjw0AAFBLAwQUAAgA CAAVaE46AAAA
AAAAAAAAAAAAOgAAAGNvbnRhaW5tZW50VGVzdC9zcmMvbXlTeXN0ZW0vaW1w bC9NeVN5c3Rl
bUZhY3RvcnlJbXBsLmphdmG1VsFuozAQPcNXTKNKS7IK3Ju2apSyUqQ2idJc elo5ZkK8CxgZ
0zZa9d/X2CYhhLaX5hCBhzee92YeJsFg4MIArinPd4LFW3mrl8HRugpdTqNL dQ3cnNC/JEZI
d0+7QmLqszRPRq6rLlzIQ3hwiHER+0gTlhfoY7pR91ygH04SUhSjL0Dz9R+k 8ivUwpD6qmRF
1Q9/ESq52E2PeHcn5EkZs8wPq8VC36uMwPbsYjiENarYsCxQDCNOYTjU/Rtn UJXCFDNJJOMZ
8A3IrWoajzCB6/Wt5XAdrG/9/WaYRSdb3cWYoSASI9P9cp0wCrRqHTzaXjcE Ab5JtU0BTZUH
Mic58M91Kj2OKjURqOoUmmiEG1ImEjYWdizH1/iPGuB8qMc5FuRUihwrqai2 pif8WMak169o
OtLQdZw2RhFuh27Aa4X6tUn8paJcqM386expNZ5NQj9GWffL622lzK+CYG9k ytNefwRVYbYB
r6PYxQ1kZZIYlo4jUJYi62A1qh6/u+ZHiaRb8MI3irm2CNZ3dp+G6Q5MEx57 B+DI7mUrZvja
5Qmvwr27p4MmyqaZ6ntGsTaonfc5BtzJTEstyhzFCctvqn43f0EhWIR7IvZM Aarb4JlzCFBf
LKFXpodjYpU99A3bMBTTe69vJ0RJgXtZtbsW4fJpPrsCOxNTZIGi4JmW+EHa ZP64GM+eW3kT
nuYk232WGD4uHubPYdjKDFV7+Q7xs9TlfL76HT6Ej+Fs1Upfci5D88bbHeyJ cKUtLreCv2q/
TZMEY5KMRVxW4L2dvd5K2cmcUz968BMOvZyRVNFSod4PYAVkXAKBF5KwyOB1 m3u1uc9gCesD
M5TWhPRkzUIfnbkB3Wixh7hpim2ZwZzHvparNULbFpqtXWm61OIM38aTI8IW dVbGtQFP/Kg5
10vzzaqhhnXz2RHtGndW3g3nd70Lmn0jogWIRo7R0EIcyWigz6qk9bqDevVa ISvH8vJaT/vV
Z3GP/B6qEeYCac2147S+bwC6/xk05HTKaJ9yWH88jYJ3CIKOT5H7H1BLBwgB oQYMCwMAAAoL
AABQSwMEFAAIAAgAFWhOOgAAAAAAAAAAAAAAADoAAABjb250YWlubWVudFRl c3Qvc3JjL215
U3lzdGVtL2ltcGwvTXlTeXN0ZW1QYWNrYWdlSW1wbC5qYXZh1Vldc9o4FH0m v0Jtd6bQcaDd
x6bNlhKn65kAWUw67RNj7AtoayzGEklpJ/99rz78bUgzCTT7kljylXR0de6x 7qXz6tUReUXe
+Wy1iel8IU5Vs1Noy64/nOAP/N85Wnn+N28OZLlxN1zAsk2Xq/Dk6Aj/sVhk 3T22XHnR5qTy
wkZ7tgGovumbh3PPFyyuGZoYXGoMVYNLiDmLatCMGBN2CEuIRDqKxfM2+CFd cWjDcobPLIa2
3RUiptO1gLsMe6HH+V1GZahbzEYwgxgiHzLs9ZbS2+msjnZ9xxzis+NjMoU5 jY7XHOLjgPnk
+FgdaDcicqDavycoiwibEbHAU2QBhOTd9NTM+K4zPW2nk0EUVKb6MIcIYk9A oOmwnobUJ770
BSmdj4RH4LvAaTjJY87AVMaQn0cNuZ/Gjg01tuJrFAE2JMLGKqbX2CT6wMhK ccQ03pNoHUof
7nlRX0fDgVcFE2oHXjbOgm3ryr0YcAQnHjIz4sJD6u/ipEViRIk8iSEgN1Qs 1CQ/P4Q0+nZH
6LVHamS8IZWeWzLdqCWNqKlJE4G7Gjnk2gvX0NbuWJ0OmIC3yh4XiMEX5MbD 8Yz4ajP5mQjl
5Jp6qovLkPPVJDOtbGQJYsGCBP8LGlFB5J9m69YiNwvqL4gXcia5OmPxkqvB 0oB6If1RiGCz
oIVeQB+JdRxx1Z/zV2KiZ5kRFgFOj5iDDYYnWvH2Q9jAAX71CLIB2zT9BQzc Cbo+s3yhHbOb
eTXK02xJLWnwNTqxaWa1SOkb0wZn4I67g57dOjlq3O4vNDQJyJSxECTnuYO7 wrN5j5wIOdSE
RkZ5fPSiIDt/0CdcjBCCRMFuqrmiYkgPk/0oPYThmJiT9Qq5oymGpAtgJdW5 TYirNFkN1p34
NaIyQGMEj9j5jCJcjBffC5G1c7VWQmScEnsLg0VCO45eRAxAAiaHIRQciQ+A 28Z1x7lpAnQW
1JJdboJG6Iua6QMqYzHcWGiBvTEiAY1FCoXGmUYJFRzCWRrSw1nhvfYzfpUK a0k/WHKD2ZrK
gWqShXcNJGKCbEDgTiHKR56WFxpnYqIdOqMxF0Y2FFPUwtlA5RfIlpNjcKIo xwHJByJuGDIL
VvytPnUQ3rGWTzb9F53C9ekj8qJa6BnN+sn54MloKPicW8cinCp1jtLhL3nd UksUw1jeY1AS
1UR4plypuhcp8qVed6Jr5udULGPADUWs0pvebCYFVhI3xSwWnlD+1jCNgimf 5/A+WMtqJEh7
ykRbjyE58OqSaFIqUhrAFquKMOiLk9GF8i1Ia54SMBTsZiIXLSPxpFka0KpI bTsRtvYcRPK2
PKxtttqS+tPodMhwKjzkFZLGfNPyvMw+k426mx4ecXkb7ytApWWr+YtoE3Tp FQHZUrfyX9VP
+x0TviUR3NR/NbQvcgIt4jUk/tHanMqFioLAE14SBGhVdUN7C32SSZ2UO2lI phPXT7iDbcmk
fS/+lsOHtxQaBdSX6FH3fS96KeWK+AsvmktS1i0ziwF+gJnTMK9qtqcPp44P c4HEQ9S5nQkK
AyZ/l98vjDRBy6BMZIrLi4CamWErD06x0EUm+Wjmhed4yusYcLB80Xy9r8uH AZ+mtDnwA28J
Zeyp3T2wv9kz9vT8TUGhiLmQVx2QAQbMRBYzdlCgAO8JcSCBv5sE90B/MBYk 1aMi6mKie0Ae
JHAmUoClV7dzoYjx95IhdWeuLlZEXsnhD+jUHKhJf3OHylaA/l7P7tiIFt7H 28q+Y66gGPmt
7FaNe+7iz/3uopTvy62Uuko7Kb1tSfDm2TG30OaeawVZkaBnroPbqwS6Ylaf 9+USvlKibaoE
87WHSW4gL4cmjU3yLpnQY+pFs0QNz1Zlxip1fVCOteWkrhkNyJabci4RMi5J MqETdVfP/FRz
WVe1aVVqDEw2PjMURLNSNVivr5vNS3vkDgfysBumP43VZn6cRbTlZNIb9i/d /IA0LLYMGHT7
tr5elyvEBSRy3u7gaz2UwkiLGNvJxO5fXmwBs21IBqdSOi7gkVMPv9p2PaDi WIsk1tI/g7Fy
kkkpagrFhXVGw+F4Yl/YfXswrl+rMoVF8oMmk/7X6qncb7g+qy2evHMC49LD 6IWTKw/VaQaT
NT5Tqd5ZTk4LYZm0GAlJCk1aRp6ghOzIjUv1FOOpopQUXZiXk1yanhVCOAj1 OYTknFUPv4xh
Rr+resPlyD53vmSvrkZOs1x2MUolNitQFUz0L8qFeenKwiJbyx/RlKrXGnWD gKhSt3zN1Y8S
WvYqsaw/x9J0LE3xM+wFQVMW4dq5LLu2OJET0kRCTwiOJmwljwPPWL/MoUOX 4gQmnEsaqFpt
X7ee6+Zzizxz3En3ozsedXtj3XIGY3t03u3ZFsHWJ3tgj7pj+2yS1HgmvYuu qwNUrZbFdyVZ
t0iy0zSfrHQlWR2CkkLJEZP8+coiry3ypoxb4kOoA9fBcNfNz8OL7ti50Gh7 f3cHn+zuR9mU
L6UYDV1nbJoj2x1efLaRJcMvju3qzquBa4/HeoxqOv9cGfsze+R8ts9U/3CE Lfss23cmS+U8
3yLqF5mksGNuZDSaq11GaPOom8xvQB3g2S9upMiX8mdKN1PGmPbjU6bCg3J0 lHsydj2XwVZg
zPGbCvL7uPOQlCmWBe7NmQfs8hFJU7l9mHZKm6Tj8XlTUw2o1RvtNBQXbVVm SxnxU6BL0cd1
t56sK/V0ru/xnV1bJdjl7qU2Knu7BvhTcPjdW07rCXX6lO7ZWP2/dl1QpWrp 4d7K9MDdPlSd
shse3pjYOvYhTSVGpiN3JZSpwi3pdGp+nTr6D1BLBwjKyCRKMggAALAnAABQ SwMEFAAIAAgA
FWhOOgAAAAAAAAAAAAAAADEAAABjb250YWlubWVudFRlc3Qvc3JjL215U3lz dGVtL2ltcGwv
UGVyc29uSW1wbC5qYXZh1Vhbc9o4FH6GX3GS7RSTDeY9IdnQlO4wkxAmJDuz TxljH0Bb2/JK
NgnT5r+vJMuWL5BbA+0+2dbl6DvfuVrdg4MmHEDPpdGKkfkiPlWf3dK3HPow 9D6IZ7cZOe5X
Z44QrCYrHmNgkyDyj5tN8aAsNsPnNIiccHVcm7jUL+NUUH3BGBmnoRFJ2dxG 1ycRRxuDme3S
IKChHdKYzFb2SD6I68RE7nn1lvOFQ544C13K0B6c+w7nG6Wni4ZhjCx0/MHV 9B904+dkStrs
QRHKUBH5gk3pAcMS7+vXJzER6+XrrXgTq7va3nudDkxxTsJOwpF1POpCp6Ns 3w9BnoIBhrGC
BXQG8UIYnHroA1VnQ6uHwWlvepraqtednva6YqRl59Ix9Gqye5F63AhpM+r7 9J6Ec5ihEycM
OTgMzdHoHakdia+2APR8cvrtzCfh17LraXeRbPw2x1i6HQeJTr0pVI+9rtj8 KjEjJ0AlRb5U
hPS6GlSvG2XhcTbHEJkjYKdBkkx94oIr3QaMZMCHWPDCoWBCo3K2Er41G9JO DU2VhzMn8WNY
On6CmTVaWokMrNWuwG2BE8eMTJMYbSVqk80bGy0mZ844YuGQdMwoqz4p85Cl H91mI2I0Frqh
B1w6kAszIqICJgKMsPaofzm4G3wefOnfXtzACYSJL/yypK/ruAux+3+nrtYw lK5zUlZURF6u
4huBlUCUzjX+JVgRvtPgSYTMagtaH9//3LOrJTJGPCxCSBMk4ERZXH1oLAxF cIdQSfr2BRHJ
0vG5PR5cT65G24Gqo1BXIsiyg0ZGZmDhORVZjohtX9IsNPwMeyc1tCnIu7vz q8vxpA1aJ+26
mYqWPqdthG7LBlqxWh2DqcOJO8n0zBQP8V4NHK7ZEfA5T/mQb8Jv8VMuI9PC qpS2thH4JFOH
qfQCR/J7q5QsKRF5ZxMBxvDZiLQ2ZuoV7Abfv7/NO+DjRygKl07STs9VB+fF 2Ca8H7rIY8qs
eEEElznKtlzciBeM3stBGPo+zh2/z+aJrBODBxcjaUFr/xrdhHGyFEkzhSrn QbQ54MjyKiJz
Rhnsw+8Q0zQ9WW1lj8Z6TzAJWcfHOmoyrRTKktdcY0CX+IXRwKzPXaDGe03I Zkdr2wKJyDsc
+56n6aqaQdLfH/19dze4HF8I39PGt1URLrhidlo5VoxLlwGrxRlYNWd7hEdO 7C5UdAtfbjTQ
56J1kXwVab3GfxMiCoWVGjSdW8mToNb3aZ2Kw/ZkcPNsgBnYxnu2GmC6yJky XEjysvLtJLrV
0Vm5xXv5mQLRY9T3RmkV1pAauijrxcdZ+t+ZuWQ3cJjhOlSwtmWoYoHeVCeK 0VSJOaCi32KD
0DsEInLJLMt8TxcPfk9ERICVL9cpz3VEZDzpw0cqA7ws2bwm22ROWQ7zvEgb LfMtj8aTVQdV
yjlmfYGRbOtPtmJKxK9hyLWsSwu+hGityC/J9SaX062B9RJS1zQUb6N3XahU WfyxKlm30XME
7NRA2sXxT4ytindPKfXRCUWXzqm/RDMgO6+bVYTv6ujmp+L42d2yCFQ3p1V0 PeNSuYJiuUK5
IrtiW9VdnNS51mYQNfIv+bf+PszyWrLO5Rcz+2v4znoG3TRsFviY/T7bSt2C qsUtOyT9NuRV
2rfGsqyzP8pw6drjKXpTxQz6XdGaZQMc8ppDbykzZE3MGzJE5boslQN/pJdM WiwcwV5pnS06
WccXZVd2mRsKLp/8FPZ1g27+Rs1VzJCPGX1YifYbSljNWnmLplv8T8lshkym RHkzqhp7KM5Y
1b36FkIut50oEvitfVAMHcH+msmcu/Jwq90q3mfoySJEyeMjdLvmVq75H1BL BwiPwp5tYgUA
AGUZAABQSwMEFAAIAAgAFWhOOgAAAAAAAAAAAAAAADYAAABjb250YWlubWVu dFRlc3Qvc3Jj
L215U3lzdGVtL2ltcGwvUm9vdEVsZW1lbnRJbXBsLmphdmHNWNtS4zgQfU6+ omGnJg4FzjuY
AMt4t6giQBFmt/aJUuxO0IwteS0bJjXFv49uviaBcAm7L7GtW3ef0zpqZbCz 04Ud8AKezFM6
u8uG+nPQ+FZNn87CT/I56CYk+E5mCPF8PBcZxi6Nk+ig25UPnmbwjdwTN89o 5J7yKMIgo5wd
FJ3lnFMeJ4TNFztG9uXKWFkccIWpWLbiNeeZH2GMLKuc4enMxSCiiUAX46kb 8DjmzGU8o9O5
e6EeNCANF9efcnpHKHvWlobCP6ciW2kCA56i659GRIhnBp2xDFNGIv9y8k1i u9q6Ga6ocf26
02earDUmGQNrDDcBmuGnnGUSFEXCOiHrqWVIZkJ3YDNya28PJjijbC8XmO6F PIC9PZ2dJwyU
j5prHRTwKWR3MiV5iBFw7Qr0PIyH3mSoEgNsZniDydAbyPaeW9pAFi5Y8BL9 uJFrTmUW8wfK
ZjBFkuUpCiApVg5guK9n5JGeAuBFdPjzOKLse3OL1DNUwfrbDLPRXG0EAcrV 0Rz0h/bv0RvI
ZV6zoNkf5ZL2802LXpAY9XrqpbWSN7CBe4OkkIrjGTJMiYTGCEY+iWgAgUpv aC0P+COTBAio
5VuFbWM4/Ox2VG50LDEBCe4whHsS5VgkQM+GVMPW6S9BtwdBlamQ4hRTZAFC JFPQ1RZWpV9n
ZdqonmOB2DRumitA9CdPQ2lQfwy6nSTlmQxdxqK3gGe1cSiJ0YvIPfHCwC3p VeiNLPiA4EsH
XhG+mauit6u04w9xSvIoWw2ASlMbe5WxPSBZltJJnuG7BGmMvCg+odQqgCmV agdj6YwUlYuT
kX/rf/H/OPl6fgOHwPIoeinh/9d4bYhMycdhM9J6iK90rOFEw25LYyQ0Ujo6 Ik8wdfoH3c7j
+xs/vrzHNKUhNvJZn+iAY827/rC+pChPEgatYsc9p/IoJJFwry8vb279c3/k X9xsxmEryi3F
acimcpROwbEyBIcmO01Hp2wFhg+w4vwvV3bsi6tPgV2ZwlT+tuOvh317O/rn 9vRydDVWlEkI
StRKWdw4LoUUtUS1AqY4bNvQlO1PgmOXd8zzhdBc+dfjy4sl4JSquUF47M6u tKeW1Gq7b9T4
PadSS63pQmPwQX0aR2wbj8ILIz3WpY5VIjv4wNKI9fr4Gv/NqRQzp99XVJq+ uaNpbNfRjqGq
3uyO/ZvnyFNCuFt4t6ud63+ALBnwFi4wgGdMDhJ4jTG/R6d1wwAuT5vUZ+Eu UFkt2Br47Mvu
kpViMRNWax9oFtyBUw63OyMgAtfc9ftqfJFTjtO4JXhHw35dqvruhAga2Agq j7VDB+sbtntq
LdOlHDxrvLY79RnkthCvptTQLWZ/SFJYqvFPzJwWyxPOIyRMlomCR/dYNagL 3M08wc0QXmf3
jQQ22Vp3MbVJ28sYrVtOqYKuBlsJVwnThrgc50kijYm/Scqk6AlnO2eyWgy+ Y7jdX8a1Vk8c
LzJtk0Aq3V+q0HxnXuuEypMOSWq5aPaQMDyJIsep/jvyjso7YlFM9EsfD2oM vTZNmvmxxLeq
70nv7Gn+NueqtCsOOHvCrV72sahtXc1qjdH6lA/REZNbX5loZ9eHJdPmUuGt PDauP0+RaOCr
MPoo8gphxzOxoA6bEfniCrFlqmf4/Bm2bJtLhR8n2fzN6l/V4k0rtvXldhYO htYN3lo5Mtfe
wug+bDXGubLMlBc9Rxd/K4oEMf5P8sBWzxk3L7X7jnTpKuU/JFh9aPhajVX3 elt//55Pp5iq
k1D9WWNuQvUepz1X42CGuyRJpP/ONmiE9mF7SWeJXbO51+/ZVu2h7ay7qHB8 hMGg9T9B9xdQ
SwcI0CX7p1gFAAAMGQAAUEsDBBQACAAIABVoTjoAAAAAAAAAAAAAAAA9AAAA Y29udGFpbm1l
bnRUZXN0L3NyYy9teVN5c3RlbS91dGlsL015U3lzdGVtQWRhcHRlckZhY3Rv cnkuamF2Ye1X
y27bOhBd21/BAgWiBLD8AXGMFIYLZNGkaLLIlpbGNluJFEi6vkKRf79DcmhL 8iPOaxfAAB8a
cmbOmQc9vLjosws2ylRVa7FY2rFfDltrt/X1Jv+K47Bf8ewPXwAr6/vaWCjT lRXFZb8vykpp
u92+2O4pvUghK0RlIIVynmaqLJVMpbJiXqffcl5Z0JenSd+6QTjx0+RRqIgq vvPMKl3f4Nbh
45ApDen0bvYbMotiQ0Loy2DAZrAQcrAyoAe5ythg4NF6WAIbzcakhJGW0XA2 ZnOlmcXPpcqh
SJ3wjWWVVn9FDoZxyTgdQgJyGGcauIXHx0dHAK5ZCXapcn8N8GzJsoIbw9S8 c6k3DmS+Y9q1
gQZTP2jyM1DoBRYgQaPSPJC7mhUiIzVRvI0eg/8sqjJsF1T2r99zcPUIlAxN hjzYyShuUv/1
EJq9g8702sb2nLU9RNIiS6jDWG7R8I6HQTUtkMuNdRMPtGdASDwrM4ioRkbm wa/3tTfAux/Y
5Nzh1xNzljTNZldXTK6KInzttT91HU7h5vb+4dvtZHqJwk99/G2d/gV2paVh 6yVGFbjAFCa6
yXDKqwqt47MCNnFr62oDjPIZ8TweD+5al3ZQgnS0KMk0qQ5hbvUKYoSL5uXO ChBkHLF3ZmLo
YKp6M5uchWPthHiGlGDLe6Cww+/13V/QGnN7Q/VMqQKcxYZY/q70A16X3JHl ftgyTw4h502i
iXuy3MFH9DbPRFDQUKpe7WNJErdJaQoTl+fJeboAOyVVGIUd5VEVXTPnhXF7 zchyyW7WwmKF
sktuGR6GhU8wqzxqR8ub+aCaEHPj3ls2omwbB+fCJrtCxySsD8lSTjaJ7UVq Y73PuIGfoI2S
SRhapG5wC84HCTqanDtsPbjPapiosuKyTmg8poNEXqFkilmraoAkTo6piTKv 0PNLKTsN9SFp
zI9pa4i9UGEOc74q7AT1xgw46lYQ2VXydKCBbBoGVQuqcVxjVlGgvynAK655 ycJ9zVqJqeVV
p62y1mphz1l0QgHb0OYdjqjEVxiZFYAkCxrpleYqTLa1hw6EArIHT+aysekA l40qHx4mZ/+u
CyH/bB82lHcjKMdhOhri9OnsxGZFEXKoabnuy4wKpW3tnjUSX2NGFNgvFhJf iz6mzaW/UFhs
WKhmviocQyTAvYjrOa55YdsRoX+tBV6dcVeJOM7sku5Cr+s1r0/tZe5cAzci t/X2C7gcfZa0
qe5UqibDDpBOB3gbf7GoOQJp/slgl0EC5gUUdhvBh3K4aRmOxLj4ZLHLYkTm BTTuNNoP5bHZ
jx2Vbs1o45POLp0NtF7A6L7HzKtJdVZGqJ2X78fO23A6LbY7r639KDyx4XD/ n+b+/1BLBwgE
PR28/wMAAMESAABQSwMEFAAIAAgAFWhOOgAAAAAAAAAAAAAAADUAAABjb250 YWlubWVudFRl
c3Qvc3JjL215U3lzdGVtL3V0aWwvTXlTeXN0ZW1Td2l0Y2guamF2Ye1Y30/j OBB+Tv+KOd1K
pIim90xLb1e9PCABRdAH9unkJtPGSxJHsbMoWvG/3/hH0pS2FHSA9gEJqY49 M5755vN4zPD4
uAfHMI5EUZd8laiJ+RxufOupL+fxF/od9goW3bMVQlbf1lJhFlSKp6Nej2eF KBX8YD+ZmQou
uFTr+Vb8eD0nylWAUcoLiQFmSxqLEoNwmjIpRweEZosfGGn7QxfBH4MBLHDF 80ElsRzEIoLB
wEQzTxDGi8ntA1dRMh4uJrAUJSiazUSM6ZEEnidYcsXyCCHhWLIySupA654r kFWhHZFGI2Jp
Cr++pjy/hz9jYW36zps+tDPCTjxqG0rQBj/FPRoLBHWMk4hJvLu700DTF2So EhEbv5BFCUQa
AhDLtZcn2pJUrFQ8XwFtkpg1FqmKpZvydm8tz/IYilJEiLHWqgqzvjNaLV7l lDdgkIt8kFcU
aImyShVwSSNVlTnGxo2HhJOP3CLiZNze0oQftBnBPN7Kx1eJHfpcusG15ZUR WGFObimMLeOq
RcojF2Mj7rI5n8Cvnqc54LlMR4QfxhY0cGQ1i/sY4u311dv0xdPOeISnInhp C8qGIr+eBGB3
dh/Ez9a5aYlkRlJSKAPSwv8Etbd004K2CZff12h5fAl+10s4OwOdb7vqbS49 jS/A86vb+ber
aTgi4cce/XVipOMhd1P8GW474okcHc+kJSF0SDgCrqDmmMaadky56f+Fmd3M +LHkpVRbxG9Y
D4uaPNoZli4IwbMpmMPTOqF3bEuGhtw50sqt1wM01dDvn3SVRp+o70e9PZ9d 4A2KBkIzOoF9
qdBnoxUj9EWuGKcd6OjQKekeDXdaduXOKq9QmQFfUpE9/2c7h/r0eJhKtJb0 hTm2uhPA26rA
cl4XVDHOYMNouF7yjRnngx55Hb2AyzArVE2u/23WvBiXjBCeEph+N/BTt9zE 0DVCG/p/7XT9
k4KvoSDPlUXA0WE/Be1tAH5X2pFN+7BVkK/Dm9vZ1amV8K6xlIRgYX/OwLcT /fUuhjLevIn1
DLRVK+VbNcsqcxYaoeaGaJX2cMlqOoBdBvXU4173p7PL629X3xv/pyIrWF5D 5H4pAjd1KAQn
5jvNDw0ivLy+mH0PwyYKOnipqKnPwWZAcTSThwJp5PxG+SWhdJL4GrU3Q+Bm Npv/G16El+HV
vEHhRggVppghcb/sjAmLztIhODqifsfKe0XndE6hqez7bTwpgjeuhm22xXTw sSzImG7B1/05
sK1W8GiM2cTmcDyk4dHhIjdPqA2nl5KFhPpRkbelVGMxMlJ2Ru+/3dw/cBqT hxnPqYTtbkd3
V9GClSxrotF69Dqh22JXU9utuG+IjHlJrJ9hzz4V+1ttWP9A29Y5Ua6oiu2e zYH85jRwxeyT
By+C5v2J0FwuzfX0gVRoroNPLrwMm/cnQ3tBt9f8B9JBX4fg7sBPSrwcn/en RbdR6bY+H1kr
rLe/AS9OYFHpfOsNbFD0nFEGJ/K8fmD1b8ecHeC9ijSH/g3UaSSbt9+z1HiE 4XDzH3i9/wBQ
SwcI1zzVR3sEAACwFwAAUEsDBBQACAAIABVoTjoAAAAAAAAAAAAAAAAsAAAA Y29udGFpbm1l
bnRUZXN0L3NyYy9teVN5c3RlbVRlc3QvVGVzdGVyLmphdmGVVlFz4jYQfoZf scOTyV3MhHsr
k2kzCenwELiB9O6h7YMQa9DVtjySzIXp5b93ZUlgO4bmZjLE0n7ft9Jqd6WC 8X/YFiE7rA7a
YPaM2kz6fZEVUhn4xvYsFjJ+FClO2pOzxfSFY2GEzJu20og0nhlUzEh1Egsu 4nuZFSw/TN4Y
plmRygPiW8uT/3hknDQ7qJ9R6do6jvNLKc00xQxz89ZI47QtPaO505ql2sbI U1FojDFLYi6z
TOZuhw+CbXOpjeCT98D/WM7O4pBLhfF0sf6G3PwPSqGWpeIYL/3Hz+JX+G4X VYBqPBeci9xW
aATL30OY2s8vLBUbnzNFuU4FB54yrcEmJSr4t9/vja6u+j24gt8KplgGTG21 HY/6Pc/QhpFb
2EuxgYyJPFoZJfLtn39X2CGJ9HqjETwvHhZwVxp5vcXcZioSHM1ObkihXBOo lRegE7iFjmSJ
cTZfPd/N76cTYtXyDRQSQ1MWKCT9miUaWqgvA+A3dZiftRDCuLSGogFxk04k AMbdAEKEogJs
iIRpJ3MCjc+Bas4uKR0xl4To2Ldong52szoaxmyzifhNxQ8mpxOMxUXj+IIR LzHxErO4SC0q
Lpn5jTXbDbYW22EYnzPgWcp5N2c5gYKV5V7mxsa5GWYcn7NZ5lrKFFkOvibp JJsFGoeUj/du
CiOFHyEv09T9Vj7oTyQQed6Qhj3feGVp4oLK0qR5NLCFAaFmhIZKEq6vmy4H dcng1TVM8jD8
aXXXolyHctqjK5glMANV5mB2CDm+GEhFjvojzVK0gIRBJtQnMtsQMNx+tvtQ T+lYGAV0WNk6
l0aFf2FBbre15gtK00Hk+B1aHdkVnr2jIfEIO4gGmdxgOjLUPeOXLHW7pGsI ErLa/7dAv75C
H91clNi8uFtrmZbUSJjZRcOKF3yCIprSoan52chLunV3bbZaXkF6A/gA55wY Cqtt0PYsvu4O
NjyqyqdfqxZPtRiylk4zpDudvuW+AmeG7yCaE/6zJLeojg8UwE+u9ffwk1vT ytDL51kx7vvW
a929ijXbY3TM5KN27c0DGBTPC3YF4skeit3ZilzQbVNyjlon5OpQndBrv32X hWpsJZd/LoAf
u9Wcbl7YnD5voXEjd5RvEJn4CjuRbcRXuEclDN1KcFvXiqfL5WJpg9D78QPe yfl6t5zP5r/7
6PkQoVLHEDV1nig69EL1GdJLpKJj8I9LELS1Jvx+J9KNQrr9YuFRdB4g4h3T c6poGnjP9Vhx
y3qoByw6jYbEzh214unvokqGFqm56eCEM41vIvZLp8kHxhm7AjP4y9jq6fDb ClKVfO5HoSlV
DglLNYa09HNGlegS7rX/H1BLBwiYk7cW7wMAAAgMAABQSwECFAAUAAgACAAV aE46TBlBus0A
AABxAQAAGgAAAAAAAAAAAAAAAAAAAAAAY29udGFpbm1lbnRUZXN0Ly5jbGFz c3BhdGhQSwEC
FAAUAAgACAAVaE46/PuHkegAAACIAgAAGAAAAAAAAAAAAAAAAAAVAQAAY29u dGFpbm1lbnRU
ZXN0Ly5wcm9qZWN0UEsBAhQA
Re: Basic validation [message #383928 is a reply to message #383920] Sat, 14 February 2009 13:17 Go to previous message
Ed Merks is currently offline Ed MerksFriend
Messages: 33113
Registered: July 2009
Senior Member
Adrian,

Please use the EMF newsgroup, which I've included in the "to" list of
the reply, for asking questions about EMF.

Yes, it's possible to create a circular containment. We should ensure
that this doesn't break EcoreUtil.getURI with an out of memory exception
and should ensure that the Diagnostician diagnoses it rather then stack
overflowing. Please open an EMF bugzilla and I'll look into addressing
both issues.


Adrian Rutle wrote:
> Hi
> I want to learn how to validate Ecore models against basic constraints
> such as multiplicity and containment. I have created a simple Ecore
> model and generated code for it (attached). I have also written a test
> class to populate the model programmatically (attached).
>
> Have I done everything correct? If yes, why the validation of "re"
> returns true even though I have a cyclic containment: c1 contains e1 and
> e1 contains c1.
>
> I have also generated the edit and editor plugins. When I run the editor
> plugin, I still can create cyclic containment without getting any
> validation problems. However, I think in that case the names of the
> objects are not considered as identifiers.
>
> Best regards
>
> Adrian
>


Ed Merks
Professional Support: https://www.macromodeling.com/
Re: Basic validation [message #614946 is a reply to message #383920] Sat, 14 February 2009 13:17 Go to previous message
Ed Merks is currently offline Ed MerksFriend
Messages: 33113
Registered: July 2009
Senior Member
Adrian,

Please use the EMF newsgroup, which I've included in the "to" list of
the reply, for asking questions about EMF.

Yes, it's possible to create a circular containment. We should ensure
that this doesn't break EcoreUtil.getURI with an out of memory exception
and should ensure that the Diagnostician diagnoses it rather then stack
overflowing. Please open an EMF bugzilla and I'll look into addressing
both issues.


Adrian Rutle wrote:
> Hi
> I want to learn how to validate Ecore models against basic constraints
> such as multiplicity and containment. I have created a simple Ecore
> model and generated code for it (attached). I have also written a test
> class to populate the model programmatically (attached).
>
> Have I done everything correct? If yes, why the validation of "re"
> returns true even though I have a cyclic containment: c1 contains e1 and
> e1 contains c1.
>
> I have also generated the edit and editor plugins. When I run the editor
> plugin, I still can create cyclic containment without getting any
> validation problems. However, I think in that case the names of the
> objects are not considered as identifiers.
>
> Best regards
>
> Adrian
>


Ed Merks
Professional Support: https://www.macromodeling.com/
Previous Topic:Basic validation
Next Topic:MtATL2009 CfP
Goto Forum:
  


Current Time: Fri Mar 29 09:58:13 GMT 2024

Powered by FUDForum. Page generated in 0.02160 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top