Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » GMF (Graphical Modeling Framework) » Possible bug: Imposible to add multi-references to a Node with GMF editor while the tree editor work
Possible bug: Imposible to add multi-references to a Node with GMF editor while the tree editor work [message #47006] Wed, 13 September 2006 10:34 Go to next message
Cristina Missing name is currently offline Cristina Missing nameFriend
Messages: 21
Registered: July 2009
Junior Member
This is a multi-part message in MIME format.

------=_NextPart_000_0031_01C6D730.E5D1ECE0
Content-Type: multipart/alternative;
boundary="----=_NextPart_001_0032_01C6D730.E5D1ECE0"


------=_NextPart_001_0032_01C6D730.E5D1ECE0
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Hi everybody!!

I have a runtime problem with the GMF graphical editor obtained from a =
very simple metamodel. This problem does not apear when I use the =
tree-editor (directly generated from the genmodel file), so I am afraid =
it is a GMF bug =BF?.=20

The metamodel is very simple:=20

- Three clases: root, A, and B.

- The root class may "contain" any number of A and B nodes.

- A nodes may "reference" any number of B nodes, i.e.: each A node =
has an atribute with a list of the B nodes it is related to.

Please, find enclosed the example I built to explain this problem =
(Doubt.zip).

Files from my GMF Project: Doubt.ecore ( and complementary =
Doubt.ecore_diagram) =3D> Doubt.genmodel (you can generate the model, =
the edit and the editor code from this one) =3D> Doubt.gmfgraph, =
Doubt.gmftool, Doubt.gmfmap =3D> Doubt.gmfgen (you can generate the =
diagram files from this one).=20

Example built using a runtime workspace (select the diagram code =
generated before and run it as an new Eclipse Application): only the =
following two files have been attached to this mail:=20

- Doubt.doubt (can be opened using the tree-editor if it was =
generated from the genmodel file), and=20

- Doubt.doubt_diagram (can be opened using the GMF generated =
graphical editor).

As you can see in the example, I have been able to create different A =
and B nodes. However, it is not possible to add any of the existing B =
node in the "referenceB" atribute of any A node. Actually, all existing =
B nodes appear as candidates when you fold down the "referenceB" =
attribute in an A node, but it is IMPOSIBLE to select any of them since =
they disapear as soon as you change to another property (see =
example1.jpg) Furthermore, if you open the tree editor, then there is no =
problem to fill the referenceB attribute since a new window appears =
showing all the available B nodes so you can select as many as you want =
(see example2.jpg). Then, if you go back to the GMF editor, the B nodes =
will "magically" appear in the referenceB attribute (see example3.jpg) =
but you will not be able to change them :-(.

So... I am afraid this a GMF bug when dealing with attributes involving =
refences with multiplicity greater than 1. In fact, I have restricted =
the model to say that A nodes keep reference to ONLY ONE B node and then =
everything seems to work correctly.

Thank you in advance for any help,

Cristina Vicente

------=_NextPart_001_0032_01C6D730.E5D1ECE0
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=3DContent-Type content=3D"text/html; =
charset=3Diso-8859-1">
<META content=3D"MSHTML 6.00.2900.2963" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY>
<DIV>
<P><FONT face=3DArial size=3D2>Hi everybody!!</FONT></P>
<P><FONT face=3DArial size=3D2>I have a runtime problem with the GMF =
graphical=20
editor obtained from a very simple metamodel. </FONT><FONT face=3DArial=20
size=3D2>This problem does not apear when I use the tree-editor =
(directly=20
generated from the genmodel file), so I am afraid it is a GMF bug =BF?.=20
</FONT></P>
<P><FONT face=3DArial size=3D2>The metamodel is very =
simple:&nbsp;</FONT></P>
<P><FONT face=3DArial size=3D2>&nbsp;&nbsp;&nbsp; - Three clases: root, =
A, and=20
B.</FONT></P>
<P><FONT face=3DArial size=3D2>&nbsp;&nbsp;&nbsp; - The&nbsp;root class =
may=20
"contain" any number of A and B nodes.</FONT></P>
<P><FONT face=3DArial size=3D2>&nbsp;&nbsp;&nbsp; - A nodes&nbsp;may =
"reference" any=20
number of B nodes, i.e.: each A node has an atribute with a list of the =
B nodes=20
it is related to.</FONT></P>
<P><FONT face=3DArial size=3D2>Please, find enclosed the example I built =
to explain=20
this problem (Doubt.zip).</FONT></P>
<P><FONT face=3DArial size=3D2><STRONG>Files from my GMF=20
Project</STRONG>:&nbsp;Doubt</FONT><FONT face=3DArial size=3D2>.ecore ( =
and=20
complementary Doubt.ecore_diagram)&nbsp;=3D</FONT><FONT face=3DArial =
size=3D2>&gt;=20
Doubt.genmodel (you can generate the model, the edit and the editor code =
from=20
this one)&nbsp;</FONT><FONT face=3DArial size=3D2>=3D&gt; =
Doubt.gmfgraph,=20
Doubt.gmftool, Doubt.gmfmap =3D&gt;</FONT><FONT face=3DArial size=3D2> =
Doubt.gmfgen=20
(you can generate&nbsp;the diagram files from this =
one).&nbsp;</FONT></P>
<P><FONT face=3DArial size=3D2><STRONG>Example built using a runtime =
workspace=20
</STRONG>(select the diagram code generated before and run it as an new =
Eclipse=20
Application): only the following two files have been attached to this =
mail:=20
</FONT></P>
<P><FONT face=3DArial size=3D2>&nbsp;&nbsp;&nbsp; - Doubt.doubt (can be =
opened using=20
the tree-editor if it was generated from the genmodel file), and =
</FONT></P>
<P><FONT face=3DArial size=3D2>&nbsp;&nbsp;&nbsp; - Doubt.doubt_diagram =
(can be=20
opened using the GMF generated graphical editor).</FONT></P>
<P><FONT face=3DArial size=3D2>As you can see in the example, =
</FONT><FONT=20
face=3DArial size=3D2>I have been able to create different A and B =
nodes. However,=20
it is not possible to add any of the existing B node in the=20
"referenceB"&nbsp;atribute of any A node. Actually, all existing B nodes =
appear=20
as candidates when you fold down the "referenceB" attribute in an A =
node, but it=20
is IMPOSIBLE to select any of them since they disapear as soon as you =
change to=20
another property (see example1.jpg) Furthermore, if you open the tree =
editor,=20
then there is no problem to fill the referenceB attribute since a new =
window=20
appears showing all the available B nodes so you can select as many as =
you want=20
(see example2.jpg). Then, if you go back to the GMF editor, the B nodes =
will=20
"magically" appear in the referenceB attribute (see example3.jpg) but =
you will=20
not be able to change them :-(.</FONT></P>
<P><FONT face=3DArial size=3D2>So... I am afraid this a GMF bug when =
dealing with=20
<STRONG><U>attributes involving refences with multiplicity greater than=20
1</U></STRONG>. In fact, I have restricted the model to say that A nodes =
keep=20
reference to ONLY ONE B node and then everything seems to work=20
correctly.</FONT></P>
<P><FONT face=3DArial size=3D2>Thank you in advance for any =
help,</FONT></P>
<P><FONT face=3DArial size=3D2>Cristina =
Vicente</FONT></P></DIV></BODY></HTML>

------=_NextPart_001_0032_01C6D730.E5D1ECE0--

------=_NextPart_000_0031_01C6D730.E5D1ECE0
Content-Type: application/octet-stream;
name="Doubt.zip"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename="Doubt.zip"

UEsDBAoAAAAAAK5gLTUAAAAAAAAAAAAAAAAGAAAARG91YnQvUEsDBAoAAAAA ALVgLTUAAAAAAAAA
AAAAAAASAAAARG91YnQvR01GIFByb2plY3QvUEsDBBQAAAAIAFZWLTVAoaol YgEAAH4EAAAdAAAA
RG91YnQvR01GIFByb2plY3QvRG91YnQuZWNvcmXFVFtrwjAUfh/4H0r2rFH3 MopV2qkgbCBeYK8x
ntawNilJurp/v5PSOsvGUBwsDy09+S7nfG0zmhyz1HsHbYSSARn0+sQDydVe yCQg2828+0gm487d
CLjS4M+WjL+xBLxjJvwTa4iszp2HC8Wk8XEzIAdrc5/Ssix7Kkt6Sif09WVB GohpQ8qHCjHs9wcI
e17zA2SsK6SxTHJoqVedtMjAU5EbqBQgi53KkM4cjHiSZQieqmJnaxVptqtF U8KnpYZYHJvC2IFG
8JQyY0QscEQPe/XtR44ydQjVZiO9UqpmOd7a6oLbQrN0Dgzv8AN9BTFocGPV EgdmQuIVeQ46UoXc
B6Q7wNewqUj3lIZ1525xJS0TMgNpA4JmQOjN5tFv5tEF5iN6HtjVEYY35qeb wvdBvno/n+i6yEJr
tdgV9uTnrqeIatCUWeYK3kXfJXYxQ2v8yf4mwei6BP9lIiy0zhAsfQJQSwME FAAAAAgA/FUtNWwJ
FTrUBAAApCMAACUAAABEb3VidC9HTUYgUHJvamVjdC9Eb3VidC5lY29yZV9k aWFncmFtvVpdbyI3
FH2v1P8wmvahlYD54DsKXUFg27SbbRaaqtIqQpMZB6wMNvWYTfj3tS+BAGOP AmP3JUGDfe6d43vu
uQxcfnhZpM43xDJMSc8Nar7rIBLTBJNZz73762O143745fvvLgnlERdrLoY4 mrFo4bws8MVuXyj3
CSSSXYjrPXfO+fLC856fn2t0MatRNvP+ubneLkExZehgEYpTvMwQLESLRy/0 /dAbyWXbPdv42m0z
sY2tCMcL5InbqPnedosLueKk507DZvrb9ehmOEpWTdpox7fh4I+Hvuvw9VIk 9BpwgaJsxdACEX5H
MO+5t/gFpa5gwXEu4zlOE4YIYG627aj5TBO0F6z+0gy/aIOJWww2mKejjp90 qE2J6p0Dux4SfbLt
vWQFbsbXKcpUqEMWPSM2ke8fg9/lwL33IE4o46IYlZB5Gt4F+RGnHDEdqK8F vfS2hJ5J8LiI4LAk
wWPzBCvqrDzBY4sET4oIrpckeGKe4IkNgienEFwQgxKeg5ctTU9DEa0oixle ytdKUD0RxTSkSrQC
BvRonzBBKjSValOx9oqmlPVc/w0bpeAae+BgdRejqzTKMteZM/TYc4d09cBr 8M4PnjemlL8hpNGa
rvgVJRlnET6A2uU5oCuSZMdJ5k/Feem53ZbrrIXZNFznGSd8LoTQfo12VAun SK3Bh2HHuLNJ1K55
ZwPYfEGone0EXIQ7qD+6Galx6we4RbXR55zhhxVH6vroeyRaoL228M4q+UTj 4+kHMr7LZbzXcY7b
wxmdUtJdzddGmU4JkGc2X22nBNCCrlPGigC7qOTKeL0EnyrEF9M0jcQ0LNZw tkKlGZ/aYHxqkfFp
EeNlzF+A1/vGS7ret0BwvX8KwaeZP3R90+YPoMbMH9CMmT84h1Xz75d0fshQ 7fzS8oXzB/VgZ/0t
MQzMEZ7NxWfaVlh+DGjhq4cn42OARE3NjwEAa2EMmDfZ71/sjwEDc2MAZGx7 DJB0L8z2TIA03TMB
1JIpAbatMUCCE/MEExsEE4sEE1uuL8GpeYKpDYKpPdeHJm/a9QHUmOsDmjHX B6Ow6vqDkq4PGapd
P+gobL/7DtvXc3QbzXIcwXN0XVEUYP26wokaTFcM59UXQOoqQn9mt1H8JO5W eWq7zclMnc4ome2n
MPhz0rjRzgUN2ZucjK5YjIq+KojYDHH9E5czeqbM63Pe/V/zah2a0pkTBsR4 yseQY+nmgVTQPqtB
jUU2ihYIXCvuiW2W99wxijmWAo7Yu5qMog9CjPw9ndlkAM3PZ3xikxmjRySI izVDo3y26M2jbC/N
B0SSJRVHqeYXpeLFNzTYrTo+VUVFbxb23K/VoFtxwlbFaXQqTrXVuv/xa7XV rDidQFwWV4Lg/i2R
TWn3STynTJXKdSLuGPP1ZsVBGvFSJSz55k9+rdmo+LUw/HnX50Cwp2l3ePXv tGFMu5qPSWdoV+bV
tKxdiKHRbhe0Ww3rJsULZFsWL8QwJl5A+9/EOzAiXjjWIvGGwUa7VSEgp9rx hXgD36848CdsSkHf
l9HUaD3u3BVpKtzTlPYLBvOaknn9XaSpoLymIIZaU02QVMukoIBpy4KCGMYE BWjWBdX32HaBGU3B
sRZqSsimDcYnjLEtFSWdUV5tyH95PV16b9Pt5nc24uJ/UEsDBBQAAAAIAAxW LTVL2CuJrAEAACkF
AAAgAAAARG91YnQvR01GIFByb2plY3QvRG91YnQuZ2VubW9kZWzFVEtP4zAQ viPxHyJz3rj0tIqS
oj4o4gCq2EXi6jqT1CKxo7FDy79n4jxQWyoEHMgpmfleM0kcX+3KIngBtMro hF2GIxaAliZVOk/Y
4//ln7/sanJ+FuegS5NCEd2Avmtugl2pooE4JuL5WUAX6WkbUTNhG+eqiPPt dhuaMg8N5vzp7pZ1
EJAGYQ8EslCVBQ+EMuPj0WjMrxvYnnYf5XNun5UFnrBQCNIZfE0YX5h67bhF 2Ul7wKqoc6VvFwnz
7Y52L0oYKqqsDDrABkRegy95hn0v9KOxSaMcZ3Sr8jbHxIu07ZjvdTyWJlsJ +SxysEGFkKnd4Jsq
Wxkr1gWs0LyoFHApulkc1kBvrRHt2B2rNbrgbZJWf14Ia0net/zDAZg/GON6 RstZgnA1+kymAnTk
eW80ecqNKlIE3WeQSEiYN9W9WJ1AwvxTdP0AGRBNQnBszTfCThn/3QCzIUDM 35f2pTVOT+xQG6cy
GiAThT1M3NX6Kf/R1zTfGCXBfmuaKce+Mzu10Y/8PzSZOodqXbtjE03/x8/3 NTuxrx8HnH0S0Bf6
36456vjRWUfVN1BLAwQUAAAACABbVi01wbY7YdYFAADiJwAAHgAAAERvdWJ0 L0dNRiBQcm9qZWN0
L0RvdWJ0LmdtZmdlbu1abW/bNhD+XqD/QVCBIilWMck2bE3stFbeFiDpsjbt 9m1gpIvMjSJdirJj
FPvvO1Gy9WI6sh2naFEHgW2Rx3s/kvdAndd3MXeGoBImRdfd9XZcB0QgQyai rvvh+vTlr+7rw6dP
OlF8G4HYPwNxEjItFf4ARfGHcxez/SmDPWTw9ImDf8hXJPs42XX7Wg/2CRmN Rp6MI0+qiPx1eV6n
S+p0ox8N2d7Ozi7SXrwP+hDTl0wkmooAaktzzWqrIeBskIBhgdMZm58Janwp Q+DuYba6EzIaKRrn
nBxnyJKU8vPjrvvLK3cyCGjqFVX6iNMkeUtj6LrvpNQnxfCUjmmI36OCQrPA TErOgnFj1bmVaMpD
SE01+vAjg9EpDdCzTQaVmVJyIMWVkkMWgrpSTCqmx133Qo6mFAEVUrCA8rmK Hc1S5D4qvfQuFdcs
BrNwwthx+gpuu67nkfx/wNOICYJOnwYAne+pFC2OwZsYSOIsCmTy6GHwzMgz Mh0jx7lYl0z0AA4x
CH09HkApH5NmX+NI1y2y8xI0NbwyOrckzOL4G/ABKEsk84lS1BDdHNPBPWJO WZQq+JjTVcTcmvE/
MI/YLYOwIqvqk1DR0V7onSqAW6niCzquSg9lTJko7D/JrW56/FimN7rqNzNA MoNKRloOLmAI/C3S
VGJW5vku1lbDR41c780k+gKp3mvJ87ZM79nSvC2Ne7YcLhejLwf9bDZzhp3B mZ1kUghtpfCYxZBp
NI3rvFpYohrm1EPPUgy2crBIOheiYDVbFBi6ioy8dGanfRnivvX82d3xAX70 Dspf5MWL8sF54byJ
8pMHwuowKR8G6Q1GLmfrFAIduNMgwsSxFOI7CPBQiTgUpJ9tWuDHq7oqZmSO PsUcaYwUmhU6bW0b
Ua+aUmbH7p8txnSfJV4C2qfBv5GSqQiPJJdqy2KxmTiS5jDVCZ6SaD7YJG5b JQUK0Fxcjy7VydYM
0X9zlF+rKxUbIqEzlCx0mgp9tmk9rxILn6TMy7fvxPsTt4ILegM829D/3nG6 joCRs8L6mmsMryxA
15iLW88/pVIfPOf6wPO8w/xpe5677skE5JdnUy8rsCKxjCh77Gxjv9/8gyXg cDo+ppoae1POWwSb
dKNhmAv7Ybq6JRsWyPb1JcdKIa848sB57K1gFQ0jW8i3G9tW4VgFOlWibtRy 8VlroVqzdcXCtFd5
1VJMZKRbfnd63B3rRkoOVDjx+EMCFxJvHEdSKuy3cDLJVKY8gcdUQ2qsdgin iqSzarSkk1X1Rf28
ThMmSWVRZ+se8+ZYNy8iFg5LFVHxaz5NecnE+xbVWrGbVEPtdmm5dL3XYw69 KbVbJ79ldxCWd4Gu
q1VavUWiJAWfUqYgvDJX1fPj5HD2rtAhs1QLs7BW830cO6S4bZYj5gKL7QDo qtwYr7YzN/CW9qhX
tx4bZ42dVnaTzi7Kp3iFwD1jCX5Zu0X6NGny7TMero9jh1g80OHZLlgzvuzr fqr3dfbOLvuydHeL
9HfZV2uP19rlZV/VTq/qwpZO6wv2Wvb+x1KM6EdMpF6SsEhAaOuCnOzg1qBy +22H+EwFL4ImLHhi
1m0qU6rFrCKHDYvL6aJqsIpitCZ7W0ESgebUNbNmO8nTfYJskBq0sQzesXc/ 3uGvgnf4D8Q7/FXw
Dv+heIe/wTv8L4B3+F8a7/C/QrzDXwfe0UA5TqWC5VAOzqK+PlMAwiZrg3R8 M0iHv0E61oN0+N8M
0uEvjnT4XxnS4T8a0uFvkI4WNTZIx3eDdJT3gQ3SQfxHQjqafB+OdPgPRTr2 2pAOf3Wkw18L0uFv
kI6Zk/B7Qzr8tSIdA8oz/5arso1vUEsczTSHQp1awmHoFGvdcK/xRDlBynEj UAXbXmMYdQsUG2jz
BtiRaVFMI9GkQ9bGkK5LyJsi9cmbmo3eTt1La9HXX1DfJt0i+u7WdrA8EtPw VSPVIQWH/Kmo5PwB
zCt1xUP+BtDkbbUJb3t+GeEdMvflPJz9H1BLAwQUAAAACABWVi01qlTivqMB AABYBQAAIAAAAERv
dWJ0L0dNRiBQcm9qZWN0L0RvdWJ0LmdtZmdyYXBotZRdT8IwGIXvTfgPSy+8 cwOMiZkbhIEaE/XC
j8TbUt51jV1L2g7w3/tufA6GxkR6t+4557w56xr1F7n0ZmCs0ComHb9NPFBM T4TiMXl/u7u4Jv1e
6yziecoNnWbhkKoZtd4iF+FG1kVZ68zDhW7KhvgyJplz0zAI5vO5r3Pua8OD j6eHOmfr3Pyywrrt
dgfZx1eWQU4vhLKOKgY16Xqemh6YFFMLlQkCpdFVcF9iglE5glQo4XBi4ima Q0xGuhg70it9o1Tw
woBdZnhrAFJayBVyCOEwVoTua4ropqAXYDgul+t5y2UgBYO9Yqu3EnJQzsZk sAMs4wZ3lf86DgNZ
JuQElVuyMfORjkGSXag58Rljatgqt9xfZe++dbBwMTmX7sb3/R4JtnONKfvk RhdqMtRSm1/GG+rq
E7qKrSXMqCyQ1AYbg01AFKyKPknvyUHvyYl7T470nvy591Qb+MfepeCZuzcA 6kj3e09KT/Z/ke0p
XpLbUxwc1SQHmqSukWWv+0G1EjdhDRXCsvgHVt5NKZX2R9+k0bfp0xzxjYK9 yxH3vgFQSwMEFAAA
AAgAVlYtNXfFOM/BAQAAeQYAAB4AAABEb3VidC9HTUYgUHJvamVjdC9Eb3Vi dC5nbWZtYXDNlU1L
w0AQhu+C/6GsZ7utIkjYpDVVQbAetILXNZkmC/sRsqvRf++k2TZNbVX8AHPK ZuZ9ZnbmhbDRi5K9
ZyitMDokw/6A9EAnJhU6C8n97PLwlIyi/T2WqbniRTDlRYGh3osSwUp1hKr9 vR4+CNM2wGBIcueK
gNKqqvpGZX1TZvRhetXNs9286niRdjQYDDH3+i7JQfFDoa3jOoGOtGmno4ZE isLCAoHhGnNCVdOv
3RQ7Y+Tn6hlmncNcaOHwoiSqIUybFGzU8FhitONCK9DuErh7KqEJ1E9ewjwk 5+bp0SHelHBA6a0x
jubcnhG6RJhKQzrJhUyjpZalRiF1Co5fSKjhLXU7t+WhWvJHkH5TNmqlLBU8 K7m6ruPrxC4Tr49Z
RX5wdsMVrIGRMG8uaXerVx1R3VUzur0vVu9inYe2CNxrASHxiwomJZbFDdT7 ILtG4ZOx9LjgEpwD
Oq4/2P5g9bLejh/GDa7zA6SfRLsuurEvRltD/I434l/2RvwX3oh/4o34H3pj +F1vxF/0hmcuc/1x
wvUzt9uNsSqxOLZlvAMQLT901DvFNs/scmIr9hPb2ePGZL2Q0fbCjHZ/H+ia N1BLAwQUAAAACABW
Vi01V5cyVjUBAACbAwAAHwAAAERvdWJ0L0dNRiBQcm9qZWN0L0RvdWJ0Lmdt ZnRvb2zNk19LwzAU
xd8H+w4l71u6iSAl7dgcykBfdIKvsbvLAvlTkju7fXuTbrpW+iDog30ITXLO 794cEjY7aJW8g/PS
mpxMxilJwJR2I43Iycv6bnRDZsVwwITeorUqW4fhCYT06I7JQcvsyzsN3uEg CV9AGp+FzZzsEKuM
0rqux1aLsXWCvj6uujrf1dVXjWyappOgfXgud6D5SBqP3JTQsZ6b6tihVLLy 0DDCfuRc09j1ErbS
SAy9kiJCWMUVIEJxIrJI8qf/poKXGR4ryEn76PfO7ityUaFEFSRLu39DUnyu f2f10W4d8NhMpJK2
9IycdxY34EsnK2ySbqyQGKiT+aVoKOs1V2pVWtO29hUPWfC9wpXmAghtIxR3 An6BYLQ5+59GsfhR
FIv/HUV7xujl7jHa97SC6QNQSwMECgAAAAAAwGAtNQAAAAAAAAAAAAAAABYA AABEb3VidC9SdW50
aW1lIEV4YW1wbGUvUEsDBBQAAAAIAINYLTVDbfAFqAAAABgBAAAhAAAARG91 YnQvUnVudGltZSBF
eGFtcGxlL0RvdWJ0LmRvdWJ0bY+xCsIwEIZ3wXc4brdp6iIhsTaI4OAiCq5V Y1swiaTR9vGNpVWH
Tnd8/P93HE9bfYeXcnVljUAaxQjKXOy1MoXA42EzW2C6nE742j7Pnu2t9dDq in0byacRHKZmgQss
vX8wQpqmiawuIusKctpth0hnEdgNDFoAXuZ1Bk7dlAt3lRRIyCowGcUwbBTB 5FoJzCiSv1YPkz8o
eyjpGBxNzjvIye/DkHkDUEsDBBQAAAAIAINYLTVIqCvelgQAACMaAAApAAAA RG91YnQvUnVudGlt
ZSBFeGFtcGxlL0RvdWJ0LmRvdWJ0X2RpYWdyYW3NmGtv2zYUhr8P6H8g1H1Y gci6+op4nd1ch1yK
JG62FUWgiLTERiINiartf78jKlbsWHIam8PyJXYo8j0vj55zKHn/4yyO0A+S pJSzvmY1TA0R5nNM
WdDXRjdHekf7+Pu7X/YZF56AOb0D6gWJF6NZTHvlOjtfB0os7cF4XwuFmPQM YzqdNngcNHgSGH+d
n5ZT0tUpU0fOsE3Tgmln135IYk+nLBUe88li1QHP7kVfkx+LsYWrFTniR3SS EqkZxGMjyZigMTFg
cw3TWCzR5A4o7mt3J3cHD+7h+dEhzhIbpzr9cvu3PtWQmE9IGZB58eKfBs7/ 3uEiExqKiZdmCYkJ
EyNGweNnOiORBmlDaN8PaYQTwmS4QrHM5QXHZMnH9cgkZq0PC9JTaL5Wtcun tapurmosZFMxj0ha
JXrEmbjOrz73O1pT/gm1A5L6CZ3k3ytFH7YRPaJRVKlmbqN2RhmpUrPWU1mq kUhCsCQneekNNBQm
ZLyCz3vD+CP00gFUTrk+8uY8E584kJ94dEWo9DXkGcPpc1PrdwHNABkbynJe fBZB9o0FOa+m8+Zy
fp5uotPehs6by/Yt30SnvS2d0q9qOqWoMjqlmjI6czWxBZ3DejqHO9MpTVXT abdb6ui8HcbXD8p7
Z64ard9uBb1T+lVNpxRVRqdUU0anTKXq3mntSKc09ULv7Cig85/JaHCqvHfm qn9uonPr3in9qqZT
iiqjU6opo1OmUnXv3JVOaeqF3qmCTu92OuoopzNX7f4ndEq/qumUosrolGrK 6JSpVE2nvSOd0tRm
Om1XAZ0nrv4FTvZjiHM2bt99v+0eH7YHC44uuCDb0ClVzTrVx5fcC3jnW4gv pzmlPUajviaSjDxl
cXWLr7cT1W5yCdsd7NQzdx16kzXoZIZG65bwk5m+NrAQwIQAMgKRfJAXHA0t 5DGMhjYClhKOM59g
lKWUBUiEBImEEJ1gKniioTEUzyce8QQajeO0uo7raCiCGngcbLWdttW0Kliv 3vVWKMutPqxvFVB2
CpLdjoamFIsQoDabUFaEBiG86btdBS9Wg4vTVDngUvXtAJ7bEW8LcJmhlwAf ldgenx+hglpEBaIp
AnU04Sm9j0hOvYfxch2MEx6jgS2vsDniYylCZjQVueIQlkOgN1IAMhXVBWC7 ZSuvrICWVVMB9Xfj
sxesd5v8N7i6M32D1nFGcbVY3Vm+3eOBlKw70GsP4CvOReUZXC7EQbWVQ7iw FP5qdmmebuwRAyE8
P8xdaCjlWeKTTb8oeklARP3h+nJFAWCM+FAMzxMlna5X1c/ie08YnnDgtjLq FYngyw8yLGc9j1wB
cTGxr33VnT2ku+Yespp7yO18+/VrB77oXRi2zPxa89vSE5rM4YD5IRR8hZVT DLugYl7MWLGRBIcV
tyq/+JvZaO6ZDdtufiirRiLwOhpm4c1N8Hoaan8jWdBQcxLtQIN0+r/QICO/ RIO7hxwrv/EmwKA7
QIMNQ3o+5JgqYJAuKk7hRxhaOQ2dD0+BiluxRaD5/Ynjb6Cu3WyZ3bYL4Uyr 5cAp49rrCO4bT62w
eECAwX8BUEsBAhQACgAAAAAArmAtNQAAAAAAAAAAAAAAAAYAAAAAAAAAAAAQ AAAAAAAAAERvdWJ0
L1BLAQIUAAoAAAAAALVgLTUAAAAAAAAAAAAAAAASAAAAAAAAAAAAEAAAACQA AABEb3VidC9HTUYg
UHJvamVjdC9QSwECFAAUAAAACABWVi01QKGqJWIBAAB+BAAAHQAAAAAAAAAB ACAAAABUAAAARG91
YnQvR01GIFByb2plY3QvRG91YnQuZWNvcmVQSwECFAAUAAAACAD8VS01bAkV OtQEAACkIwAAJQAA
AAAAAAABACAAAADxAQAARG91YnQvR01GIFByb2plY3QvRG91YnQuZWNvcmVf ZGlhZ3JhbVBLAQIU
ABQAAAAIAAxWLTVL2CuJrAEAACkFAAAgAAAAAAAAAAEAIAAAAAgHAABEb3Vi dC9HTUYgUHJvamVj
dC9Eb3VidC5nZW5tb2RlbFBLAQIUABQAAAAIAFtWLTXBtjth1gUAAOInAAAe AAAAAAAAAAEAIAAA
APIIAABEb3VidC9HTUYgUHJvamVjdC9Eb3VidC5nbWZnZW5QSwECFAAUAAAA CABWVi01qlTivqMB
AABYBQAAIAAAAAAAAAABACAAAAAEDwAARG91YnQvR01GIFByb2plY3QvRG91 YnQuZ21mZ3JhcGhQ
SwECFAAUAAAACABWVi01d8U4z8EBAAB5BgAAHgAAAAAAAAABACAAAADlEAAA RG91YnQvR01GIFBy
b2plY3QvRG91YnQuZ21mbWFwUEsBAhQAFAAAAAgAVlYtNVeXMlY1AQAAmwMA AB8AAAAAAAAAAQAg
AAAA4hIAAERvdWJ0L0dNRiBQcm9qZWN0L0RvdWJ0LmdtZnRvb2xQSwECFAAK AAAAAADAYC01AAAA
AAAAAAAAAAAAFgAAAAAAAAAAABAAAABUFAAARG91YnQvUnVudGltZSBFeGFt cGxlL1BLAQIUABQA
AAAIAINYLTVDbfAFqAAAABgBAAAhAAAAAAAAAAEAIAAAAIgUAABEb3VidC9S dW50aW1lIEV4YW1w
bGUvRG91YnQuZG91YnRQSwECFAAUAAAACACDWC01SKgr3pYEAAAjGgAAKQAA AAAAAAABACAAAABv
FQAARG91YnQvUnVudGltZSBFeGFtcGxlL0RvdWJ0LmRvdWJ0X2RpYWdyYW1Q SwUGAAAAAAwADAB9
AwAATBoAAAAA

------=_NextPart_000_0031_01C6D730.E5D1ECE0
Content-Type: image/jpeg;
name="Example1.JPG"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename="Example1.JPG"

/9j/4AAQSkZJRgABAQEAYABgAAD/4QAWRXhpZgAASUkqAAgAAAAAAAAAAAD/ 2wBDAAgGBgcGBQgH
BwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0 Hyc5PTgyPC4zNDL/
2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIy MjIyMjIyMjIyMjIy
MjIyMjIyMjIyMjL/wAARCAJTAx4DASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEA AAAAAAAAAAECAwQF
BgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJx FDKBkaEII0KxwRVS
0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNk ZWZnaGlqc3R1dnd4
eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJ ytLT1NXW19jZ2uHi
4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQF BgcICQoL/8QAtREA
AgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMz UvAVYnLRChYkNOEl
8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3 eHl6goOEhYaHiImK
kpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna 4uPk5ebn6Onq8vP0
9fb3+Pn6/9oADAMBAAIRAxEAPwDQtJGSMBScnkk9SfU1ox3MgH3jVXS4VeeJ WGVznHrT/EfnXrqb
dGiVVxt+zzY/RDX0FSolPlscaoqS5r2LDXcg/iNMN5Ln75rH0j7YEliumL7C ChMUicH/AH1XPTtm
t7TraK4+2eam7y7Z5E5Iwwxg03yxVzHls7EP2yX++aPtkv8AfNTjSJzZrdb4 xESuSwZducDPI5HP
UZpZNHuIRIZHiGyVYupO4nB4AHPBzS54D5WV/tkv980fbJf75qS902awETSl SJQSpAI6eoIBHWqe
KpcrV0JqxY+2S/3zR9sl/vmtGC0s/s2nCW33Nds6NIGIZTuwCOcd/Sof7DuG ZgskWd7pGrNhpNvX
A/8Ar1mqkOo+VlT7ZL/fNH2yX++amg0qe4+ybGjH2rfsyTxt654qyNKW402y eDYLiQSllZjmTaeg
7dPpTc4L+v67BysofbJf75o+2S/3zUtzYxwadZ3Ky7nm3bl57Htx27/pUdtY vcpNIHSOOIAu7k4G
eg4BNPmja4rCfbJf75o+2S/3zWleaIWv51tzFDArpGnmOfmYqDgdeeapJplw yKx2KTcfZtpJyH/w
pKpBq43Foi+2S/3zR9sl/vmr8ekq9kyFo0uVvDAHZjhsL0HHrVd9OWLSmuHk xOs5iMfPGB06de/X
GPehTgw5WQfbJf75o+2S/wB81XxWuNIWCwvDcvH9oQREYZj5W487sD09M05y jHcSVyh9sl/vmj7Z
L/fNXZdHkm1Oe2hSOIpt+UF3UZGfvbf54psWh3MhCl4UdmdUVmOWK9cYFL2k LD5WVPtkv980fbJf
75p7WDpYR3jSxBJM7UydxwcHjFWRoN2xi2tGRKxVSQy8gE8ggHsabnBbhysp /bJf75o+2S/3zVxd
Dnfy9lxbN5oPl4c/PjrjisvFUpRlsJqxY+2S/wB80fbJf75pLOJZb63jkXKP KqsPUEirlzp5m1GW
2t4reFYt7FxISAgPVjk4Ptx1qXKKdmNK5U+2S/3zR9sl/vmrVpp8Re6WR45g lo8qNGxwG4x6c+xp
02ll5USIwxqtoJ2fexDDu3TIPtil7SN7Bysp/bJf75o+2S/3zVoaJcF5AZYF REV/MLHaVboRx7Gm
w6PcTxh0eHLlhGpfmTb120c8A5WV/tkv980fbJf75qfSbWC6vGjnwf3ZMas2 0M/YE1bNnBFDfSza
f5bwiLbE8jEckg4II4/OiU4xdrAo31Mz7ZL/AHzR9sl/vmtuPQ4LhZxCCDJH DLEXJzGGJ3D34FY+
orCt9KlvEY40OwAkkkjqTmiFSMnZIHGwz7ZL/fNH2yX++ag2mjaa05UIn+2S /wB80fbJf75qDaaN
po5UBP8AbJf75o+2S/3zUG00bTRyoCf7ZL/fNH2yX++ag2mjaaOVAT/bJf75 o+2S/wB81BtNG00c
qAn+2S/3zR9sl/vmoNpo2mjlQE/2yX++aPtkv981BtNG00cqAn+2S/3zR9sl /vmoNpo2mjlQE/2y
X++aPtkv981BtNG00cqAn+2S/wB80fbJf75qDaaNpo5UBP8AbJf75o+2S/3z UG00bTRyoCf7ZL/f
NH2yX++ag2mjaaOVAT/bJf75o+2S/wB81BtNG00cqAn+2S/3zR9sl/vmoNpo 2mjlQE/2yX+8aPtk
3941BtNG00cqAn+2Tf3jR9sm/vGoNpo2mjlQE/2yb+8aPtk3941BtNG00cqA n+2Tf3jR9sm/vGoN
po2mjlQE/wBsm/vGj7ZN/eNQbTRtNHKgJ/tk3940fbJv7xqDaaNpo5UBP9sm /vGj7ZN/eNQbTRtN
HKgJ/tk3940fbJv7xqDaaNpo5UBP9sm/vGj7ZN/eNQbTRtNHKgJ/tk3940fb Jv7xqDaaNpo5UBP9
sm/vGj7ZN/eNQbTRtNHKgJ/tk3940fbJv7xqDaaNpo5UBP8AbJv7xo+2Tf3j UG00bTRyoCzHczSP
tD44JJPYAZNPe7SM4aW4/CJf/iqrxceafSGT/wBANZ00rOMg1UKakxN2NJ9U iQZMtz/36X/4upYb
l51EqSnySu4MRzjO3p654rmZC2ec1tWZ2aGrekJ/9H1dWioJW6sUZXuXXvVj ODLcf9+l/wDi6gk1
aGMZaW5x/wBcl/8Ai61YdcsNN0yySbRLa9kkiZ2kk2g/6x1xypz92s3W9Vst X0N5LfR7axeG5iUm
LaS4ZJOMhRx8orCCblZw0va916epo7Jb6ksUsswLecRHhSGUZJ3DIwDjtzTG nVTg3Fx/36X/AOLq
FG8vTYj/ALFv/wCijWzY6bb+JrNYYV+yXtttWSRUJjkQnqfR+v1+n3eHEV50 58sTvoYeEoc0zElv
YkHzXVwvuYhgfXDVmX7uJisjMkiEqWQkfUcVf8RzWXnfY7G1MUNqrRmSQESy tnkvn36DHHt0FPWF
P22fH/PVv5mtsFWlUb5ugYihCmouK3NSzXCqw6isbWvB0OqzeZDdva7jl1Cb wfpyMV1WhaG+q2Jn
F35W1ym3y92eAc9R61rDwpJ/0ET/AN+f/sqdTE0Izak9V6nJGFW3u7M47RtB tdDsvs1vuYk7nkbq
59a3Y7qGC3dIbYJLJEYmk3kgg9Tj1rU/4RN/+gif+/P/ANlTf+ERf/oIn/vz /wDZVDxeHe8vzJ9j
V3Kk+qLcQTo9v886qHbzDjK9MDHA9qDrMxe0baCYOuT984xn24q3/wAIi/8A 0ET/AN+f/sqP+ERf
/oIn/vz/APZVH1jC9/zK9lWM28u47q2hhWEoIixDGTcTk5OePWqpaRoVhMrm JTkIWOAfp+Nbn/CI
v/0ET/35/wDsqP8AhEX/AOgif+/P/wBlVLF4dKyl+DJdCqyjBfpDBbL5G6S2 3+WxfjLHOSMf1p0O
qtGkZeISTRFzHJuxgt1yO9XP+ERf/oIn/vz/APZUf8Ii/wD0ET/35/8Asql4 jCvr+Y/Y1Snaamlt
HbBrfe9vv2N5mPvdeMUlvqS28Nuog3SW4cRsX4y3cjH9au/8Ii//AEET/wB+ f/sqP+ERf/oIn/vz
/wDZUPEYV/a/P+uoexqmU1xG9rawSRbhAxP38BgTkjp+tLDcxxLdRGHME+Pk D4K4ORg+1an/AAiL
/wDQRP8A35/+yo/4RF/+gif+/P8A9lVfWsNtzfmHsapVbV1kmd5LYMplWZF8 zG1goHXHPSmQakqK
RNAJCbj7QCH24b8jV3/hEX/6CJ/78/8A2VH/AAiL/wDQRP8A35/+yqfrGF2v +Y/ZVSkmoxqW32+7
NyblcSYw3YdOahe5FxayW8qgGSfzvMBwFJ4ORg8Vp/8ACIv/ANBE/wDfn/7K j/hEX/6CJ/78/wD2
VP6xhl1/MXsapjNaRBSRdwsQOgD5P/jtW7jUVuIblTBtluAgkcPxle4GP61e /wCERf8A6CJ/78//
AGVH/CIv/wBBE/8Afn/7Kh4rDveX4P8AyD2NXoiu2sh5pHe3BVpVlVRJjDKA OTjkcCrcN7FPCmJE
g3yOzkTLuTJz/EP5Uz/hEX/6CJ/78/8A2VH/AAiL/wDQRP8A35/+yqHWwz2l +DKVOqZktyqi1ihA
K2kjMjt/HlsjI7dKuprSI+8WuT5plOZf4ipHp6Gpv+ERf/oIn/vz/wDZUf8A CIv/ANBE/wDfn/7K
qeIwr3l+ZPsqqM+21AW/2L91u+y+Z/Fjdu/DiqMe6Jw8cjI46MpwRW9/wiL/ APQRP/fn/wCyo/4R
F/8AoIn/AL8//ZVSxWGW0vwYvYVTFhcx3cdwxLssgc5PLEHPWrS3kSXc06QN icOsqNJnIb0IAx+t
aH/CIv8A9BE/9+f/ALKj/hEX/wCgif8Avz/9lQ8VhnvL8xqjVRmQ3MNvJKYr crHJCYWXzMnnqc46
/hVq2vIpWk80BFSxMGN4BfHpx1P41Z/4RF/+gif+/P8A9lR/wiL/APQRP/fn /wCyqXiMM/tfmCpV
V0KiaqqXKyiAhURY41WUjCr2PHOc+lKmrkRGNomwGZl8uZkA3HODjrzVr/hE X/6CJ/78/wD2VH/C
Iv8A9BE/9+f/ALKj6xhe/wCY/ZVTEhEKOTLF5ikEYDbSD65rQk1NZkljlgLR ukaACTkBSTycc5Jq
3/wiL/8AQRP/AH5/+yo/4RF/+gif+/P/ANlTeKw0tXL8xKjVRRk1WWRLkY2G UIqFGx5aqc49+tV7
2db2RZWjCy7QHYHhz647Vrf8Ii//AEET/wB+f/sqP+ERf/oIn/vz/wDZULE4 ZO6l+DB0arOf8se1
Hlj2roP+ERf/AKCJ/wC/P/2VH/CIv/0ET/35/wDsq0+vUf5vwf8AkL6vU7HP +WPajyx7V0H/AAiL
/wDQRP8A35/+yo/4RF/+gif+/P8A9lR9eofzfg/8g+r1Oxz/AJY9qPLHtXQf 8Ii//QRP/fn/AOyo
/wCERf8A6CJ/78//AGVH16h/N+D/AMg+r1Oxz/lj2o8se1dB/wAIi/8A0ET/ AN+f/sqP+ERf/oIn
/vz/APZUfXqH834P/IPq9Tsc/wCWPajyx7V0H/CIv/0ET/35/wDsqP8AhEX/ AOgif+/P/wBlR9eo
fzfg/wDIPq9Tsc/5Y9qPLHtXQf8ACIv/ANBE/wDfn/7Kj/hEX/6CJ/78/wD2 VH16h/N+D/yD6vU7
HP8Alj2o8se1dB/wiL/9BE/9+f8A7Kj/AIRF/wDoIn/vz/8AZUfXqH834P8A yD6vU7HP+WPajyx7
V0H/AAiL/wDQRP8A35/+yo/4RF/+gif+/P8A9lR9eofzfg/8g+r1Oxz/AJY9 qPLHtXQf8Ii//QRP
/fn/AOyo/wCERf8A6CJ/78//AGVH16h/N+D/AMg+r1Oxz/lj2o8se1dB/wAI i/8A0ET/AN+f/sqP
+ERf/oIn/vz/APZUfXqH834P/IPq9Tsc/wCWPajyx7V0H/CIv/0ET/35/wDs qP8AhEX/AOgif+/P
/wBlR9eofzfg/wDIPq9Tsc/5Y9qPLHtXQf8ACIv/ANBE/wDfn/7Kj/hEX/6C J/78/wD2VH16h/N+
D/yD6vU7HP8Alj2o8se1dB/wiL/9BE/9+f8A7Kj/AIRF/wDoIn/vz/8AZUfX qH834P8AyD6vU7HP
+WPajyx7V0H/AAiL/wDQRP8A35/+yo/4RF/+gif+/P8A9lR9eofzfg/8g+r1 Oxz/AJY9qPKWug/4
RF/+gif+/P8A9lR/wiL/APQRP/fn/wCyo+vUP5vwf+QfV6nY5/ylo8pa6D/h EX/6CJ/78/8A2VH/
AAiL/wDQRP8A35/+yo+vUP5vwf8AkH1eoc/5S0eUtdB/wiL/APQRP/fn/wCy o/4RF/8AoIn/AL8/
/ZUfXqH834P/ACD6vUOf8paPKWug/wCERf8A6CJ/78//AGVH/CIv/wBBE/8A fn/7Kj69Q/m/B/5B
9XqHP+UtHlLXQf8ACIv/ANBE/wDfn/7Kj/hEX/6CJ/78/wD2VH16h/N+D/yD 6vUOf8paPKWug/4R
F/8AoIn/AL8//ZUf8Ii//QRP/fn/AOyo+vUP5vwf+QfV6hz/AJS0eUtdB/wi L/8AQRP/AH5/+yo/
4RF/+gif+/P/ANlR9eofzfg/8g+r1Dn/AClo8pa6D/hEX/6CJ/78/wD2VH/C Iv8A9BE/9+f/ALKj
69Q/m/B/5B9XqHP+UtHlLXQf8Ii//QRP/fn/AOyo/wCERf8A6CJ/78//AGVH 16h/N+D/AMg+r1Dn
/KWjylroP+ERf/oIn/vz/wDZUf8ACIv/ANBE/wDfn/7Kj69Q/m/B/wCQfV6h z/lLR5S10H/CIv8A
9BE/9+f/ALKj/hEX/wCgif8Avz/9lR9eofzfg/8AIPq9Q5/ylo8pa6D/AIRF /wDoIn/vz/8AZUf8
Ii//AEET/wB+f/sqPr1D+b8H/kH1eoc/5S0eUtdB/wAIi/8A0ET/AN+f/sqP +ERf/oIn/vz/APZU
fXqH834P/IPq9QwPK/dzBRljDIAB1JKHAqDRvEenabZtBdaTbXkhkLeZKVyB gDHKn0P5103/AAiL
/wDQRP8A35/+yqX/AIRu7/6DM3/fB/8AiqTxuHlFxk7r5oFQqp3X6Hn2saha 31/NcW9vHaxvjbDG
RtXAA4wB1xnp3rQgRl8MjKnf5BO3HOPO3fy5+ldj/wAI1d/9BeX/AL4P/wAV Uf8Awiku/f8A2m27
Od3lc5/76q3mNBxjFPb1/wAhLDVE2+5xv9qadJaW0dzbzO8MZjDRXCoCC7N0 KH+961WvNRsTp0lr
awSo0siSM0k4f7ocAABF/vn8q7//AIRu7/6DM3/fB/8AiqP+Eau/+gxL/wB8 H/4qksfhk7/5g8NU
f9I5O4UxaPFuBDIsG8f3cRkHP48U+bxEx023sbTbaxR4dzEx3SyA53k9ew47 Y9hjpF8JzI25NUZW
9RFg/wDoVSf8Izef9Bqb/vg//FVw1p0Ks+bn/BnoUakoQUXG9vM4rW9W/tsw sbeP7aE8uWWPrMex
K9M4/wA4wAmsKpupWBBBlbn8TXaN4Xu2BB1mYg9QUP8A8VXK+ItLbSbqO38/ ztyCTds24ySMdT6V
0YGVKEmozu35MjEVJVIpctkvM6zwX/yBpP8Aruf/AEFavfvlgubggsFM2GNw /YsB8vT9ap+CkdtF
lKqxHnnoP9la6L7P8hTyDtbOV2cHPWvNxi/fy9R0/hRkpdTxCRIYgyxtI7k4 xgyPxksMfd68/wCO
rSGzRipa3BKkspMfQk5JH41J5Un9x/8Avk1zWNCjfB2+zomctLggSFMjax6j ntUF2ZRZ3ECFVCW5
d95aQnO7gEkHseTnr0rSltPOULLb+YoOcMmRmmHT4WRUa0QqudqmIYGeuOKL AU7SSWS9l+cCNQcq
cn+OQcHPHQf/AFqv0fZRuVvI+ZSSp2cgnrj60/ypP+eb/wDfJosBnSyPHqLS b28pI0DrngBi2Wx7
YHPpmooLyYQ2xAMibY0lYjkMwHfdn+IHofr6ajW+7duhJ3Da2U6j0P5n86Yb GMsjG0UsgAQ+XyoH
THpRYCk11KyqCgBRkWXqPmLgcc9MZPPYr60i3k22N3Me2aIuihDlWJUKOvP3 vb8K0Tbk5zAeSGPy
dSMYP6D8qrppiJNLKYmZpAQcxgDBPI4Az+OaLAVYZ7ma8RGxGyBw4K8MPkPQ McH5vU/rUlndTzsp
liCJIm9OgOOOPvEnr1wP1q2tjGihVtVCht4Aj4Dev1pyWnlszJb7Wc5YqmCx 96LAFU5leO5EshZo
y6gbZWXbkgAbRweecn19qv8AlSf883/75NR/Y087zvs483+/5fzenWiwGfDf TtHvkjCLIm6LgZyS
ABjdz94c/L+GeHQXdzLcLAyIrAtvLDnA2HgAn+9jr7+1XhZovmYtwPM+/iP7 319etEdksP8AqrYJ
1+7HjrjP8h+VFgM8vcTrZSh4lMjhkGwnaDGxweef0q5bytLDuYDcGZTjoSCR n9KkWzVHLrbBWJ3F
hHgk88/qfzp6wuowsTAZJ4XuetFgK16zJYXDKSGETEEHkHBqsGuIZEWNGRZX CBZ33kHaxJzk+i8Z
7HpnNaTQu6lWiYqRggrwRQYXJBMTEqcjK9DRYCiLiZnUgxhZJHiUbTlSu7kn PP3enHXrUFte3Eix
ERDygI1YkjqyqepbP8XTBz688aRs/neRYSkrDBkVPm/PFIlkqGMrbfNGoVGK ZIHpnrRYCj5tzKlp
Iskaec4ZRsPAKMcHn5u3p0rQpv2GMhwbVcSHL/u/vH39al8qT+4//fJosBTu xve2Tc4VpSG2sVJG
xj1H0FV/tLRTNHksqh1jY5JJygA6gH5mIyfTr1NaMtp5yhZbfzFBzhkyM0fZ QVC/Z/lC7ANnAX0+
nAosBQiurmaTyNqRyqW3My5GAFPQN/tjuenvwlvezS27yuI1ACBQoJJdlUjj Pq3r37YybUulpJCI
lg8tN27CxLjOMdCCKlSzWOHylgOzG0rtzkYxz68DFFgM039yu8MiK0Suzhl5 YKFOBhjj73qf6Vdt
5HcypJtLRvtLKMA8A9OcdfWpFsY0UqlqqqQQQI8Ag9f5D8qkELgkiJgWOThe posA2si2nlitPNHm
hhamQ+c5YSNgYI5PHXPTqK2vKk/55v8A98mmi3wEAgICfdGz7vGOPTiiwFKe 4mF4tvEY13bfmZSc
ZDk9x/cFT28rSw7mA3BmU46EgkZ/Snx2McRzHaqhzn5Y8c/5J/OpFgdRhYmA yTwvc9aLARyBmjZU
fYxBAbGcH1xVESPb74grC4O3aPMaUHOf7xGOFb07delaTQO6lWiYqRggrwRU YsYxCYhaKI2OSgj4
J+lFgM9b64fPEabdqsGXJ3F2TPB4xjOOfTPel+23BEzjytsCFnG05chnBwc8 Z2e/XvWgtkqLtS2C
jjgR46HI/Xmmf2fGbjzjb5fAxlPukEnI44OTRYDOS6niEiQxBljaR3JxjBkf jJYY+715/wAdWkNm
jFS1uCVJZSY+hJySPxqTypP+eb/98miwFW6Zo1jlBIVHBcZwCp4OfYZz+FUG uJzbvuWRGjSSZskj
grkKeh6sR/wD8thoHdSrRMVIwQV4IpGt927dCTuG1sp1HofzP50WAznvZoY2 mcRum+RQgBBG3ceu
T/d9O9JvuI79kLxGSRUUMEICj94emeenr3rSFuRjEB4JYfJ0Jzk/qfzqMafC qMi2aBWxuURDBx0z
xRYCl9umyR5W4jptUndtZg+PwUY92APWrdvK00O8gcs23HQrk4P4jBqZbfbt 2wkbRtXCdB6D8h+V
KsDooVYmCgYAC8AUWArXrMlhcMpIYRMQQeQcGqtxc3UM6Fo0BKEKqSFgSWQA kEDpn/64rTaB3Uq0
TFSMEFeCKRrff9+AtwV5TPB6iiwGS9zcefGWVEmAMfIBHLRckBjj73TP86v2 8juZUk2lo32llGAe
AenOOvrSyafHJCIvs4CAjAVOMZBx06EgZqZLYxIEjgKKOiqmAKLAJRT/AC3/ ALj/APfJo8qT+4//
AHyaVgGUU/y3/uP/AN8mjy5P7j/98miwDKKf5cn9x/8Avk0eW/8Acf8A75NF gGUU/wAuT+4//fJo
8uT+4/8A3yaLAMop/lyf3H/75NHlyf3H/wC+TRYBlFP8t/7j/wDfJo8qT+4/ /fJosAyin+W/9x/+
+TR5Un/PN/8Avk0WAZRT/Lk/uP8A98mjy3/uP/3yaLAMop/lv/cf/vk0eVJ/ cf8A75NFgGUU/wAt
/wC4/wD3yaPKk/55v/3yaLAMop/lyf3H/wC+TR5cn9x/++TRYBlFP8uT+4// AHyaPLk/uP8A98mi
wDKKf5cn9x/++TR5Un9x/wDvk0WAZRT/ACpP+eb/APfJo8qT/nm//fJosAyi n+XJ/cf/AL5NHlyf
3H/75NFgGUU/ypP+eb/98mjypP8Anm//AHyaLAMop/lyf3H/AO+TR5cn9x/+ +TRYBlFP8qT/AJ5v
/wB8mjypP+eb/wDfJosAyin+VJ/zzf8A75NHlSf883/75NFgGUU/ypP+eb/9 8mjypP8Anm//AHya
LAMop/lSf883/wC+TR5Un/PN/wDvk0WAZRT/ACpP+eb/APfJo8qT/nm//fJo sAyin+VJ/wA83/75
NHlSf883/wC+TRYBlcB46/5CsH/XBf8A0Jq9C8t/7j/98mvPvHisurQBgQfI XqP9pq9HK/8AeF6G
VTY2/Bf/ACBpP+u5/wDQVro65rwgM6BONpbMrfKDgn5V4zXRRLsgiXyxFtjU eWG3beBxnnOPWufG
fxpeo6fwofRWTq6arPc20GlXCQuySO+8gAgFQOqN6+1O+w6sLSL7Uy3AWRTM iyKNyZGedgBGM5XA
yO/Y4Shy03O97dOo1O8+WxqUVS0s3BsEFzkSAlSrOHZcHGGYABjkHkD8+pzL TxULvxXc+HxourRT
Wy+ZJdSRRi32HO1w4ckhiCAAM5ByBtbEQfNFSLas7HQUVFc/8es3+438qUPY QzTJNFbr84Khox02
j29c1cY3E2SUVX/cPKJIY4wpnwrKoHHl/wCOamd9i52liSAAO5JxQ42dgTHU VWZEFtg2qmQsxLgN
vB3nuqmpIiyHymDnltrsQdwBx+fSm4NK4JktFFRW6bBL+58vdKzZL7i/A+bq cDtjjp71AyWiquoz
SwWEssL7JFxhvs7z45H8CEMfw6de1cbpl3qtz9suob20uYXv1kuXtjs3GPA2 QncQ25I4yd2BhiM5
JKtLS5EpqO53lFZmiapNqtkJ5rI2/oRIHRjkghTw2RjBDKuDxzjNUte8VDQd S0+xbRdWvXv28uCS
yijdC/JKMWddpABbJwMAnPytgt0KTurnQUUVxupalHqHjaHQ7hmNspVGhDYE hK7iWx1GCBjtgmpk
7LQipPkR2VFcJrEB8F6lFJbyIkLkuqIwXzFHLKyDqcfxY64+ldvPI0VvJIkL zOillijKhnIH3RuI
GT05IHuKUZX3VhU6nM2mrNElFYfhnxMnii0nuYdJ1OwihlMOb+JYy7qSGCgM T8pGDkDnI5IOIfGu
pT6ZoIkgD5kmWNimQQuCeo6dAPxqnoVOSjFyZ0VFcPrrWnh+6sJ9OcJdyqrv bovJ46sR2PTB9eK7
ipi29GTCpzNrsFFc/r3ioaDqWn2LaLq169+3lwSWcUboX5JRizrtIALZOBgE 5+VsdBVGoUUUUAFF
FFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFRBP9NMnk9Iiv ml+B8w+ULnr3zjtS
XdytnayXDo7rGMkIMnHr/WnYCaiua8QTCbU9Eslyb77Ys/kBcmNNjgM2OCAe uCPTPerunm6XUWhl
SSNlQmbzJA4kO5sEYUdivzdMDbjKnaql4cum4ovmv5GxRVPVbtbDSrq6aVIv LjJV3IADdF6+pwPx
rmm12EarCg1wHNs+NzIq7sp1AGM8HBIOOTg8gxKaiaRpuSujsaKyNDllmWRw SsI2qUeQO3mBV3Hg
DHOc9dxO4YB5s6zqI0nSLi9KhvKUYBPGSQBn2yRRCXNHmtYidoXv0L1Fcbc3 dvp0sB1LXrgX80Qn
Ch2WFc8gYHrjH3T1yQe+3ocz3CSSKGSABV2SOHJfYpY8AY5JyedxO4YB5HO0 lGxFOamma9Fc/r3i
oaDqWn2LaLq169+3lwSWcUboX5JRizrtIALZOBgE5+VsdBVlhRUU6bzD+583 EqtjftC4P3jyMgdc
d6loAKK4vxWus6jpVnc6fH5kEh3tCkZchSPlLAH5vfjgnv1rGtvE+oaSfsuL gmCQoYHjGG56YI3A
ntjGMjg937vs1NPfoZ1Zqnuem0UVn3+qLaB0iiaaVRyFIwp7ZyR9cD9Mipbs aJXNCiufhgiu7pZr
aVLiRnjkM5jAKKp5BPXJ+YbeAOOOCT0FRTqc6vYucOUKKiCf6aZPJ6RFfNL8 D5h8oXPXvnHai5cx
Ws0inBVGYH6CtHorkLUloqvJFaRIsis0WzA3ooLMTwATgliSRwc5OO9JFIxn j8uSSWF0cl3XG1lI
GOgweWyDzxWUKqlsU4tFmisnxFrieG9Fm1WawvbyCDmZbNFZ407uQzD5R3xn HXoCRb0y9bUtNt7x
7K6sjMu/7PdKqyoO24AkA45xnIzzg5FakluiiigAoop8ahjk/dHJoAVVCpvY ZJ+6D396QzP2YqPQ
HApHYu2TTadxD/Mf++//AH0aPMf++/8A30a5jWzrralOdNu1itre0WWRC6KS SXyRmJ88KO4qW5i1
S2jhN5vmc7Y45I5lAjkLqMsfL7jd82MYJXGTyVU4U+dO/puJSUpcuxuzXMqG NFLvJK2xF34ycE9f
oDTtms/88rX/AMC3/wDjdQYZb7TA5BfzjuKjAJ8qToO1ct4turq511oIJY2i je3UKbuZEDK+9t2x
doY5UdSRhSOeBTkow5mgVm7N2OvK6x3itf8AwLf/AON0uzWP+eVr/wCBb/8A xuuPudUI+G1zHfyY
nuvtENtukeVpcOQAWIznsAScgD6DrbIX9t4Ys1s7SF7yO2iUQ3MrQrkBQQzB GIwM/wAJ5GOOtaKK
cVK25LbU3G+w/ZrP/PK1/wDAt/8A43Rs1n/nla/+Bb//ABuqem+K7S90/R7i 4Se1k1S1guEzBI0K
GUDahn2+WGJO0AkEkrgZYA24vEOmT29pcQzSSpd2b39uI4ZGaSFQhLBQuc/v E+XG47uAeaLLsPXu
Ls1n/nla/wDgW/8A8bpsVzLJ5iOWSWJtjqHyAcA8HvwQas6dqdtqsDT2byEI 5SSOWJ4njbAOHRwG
U4IIBAyGB6EGqS/8hHUv+u6/+io6UkraAr3LPmyf89H/AO+jR5sn/PR/++jT KKxuWP8ANk/56P8A
99GjzZP+ej/99GmUUXAf5sn/AD0f/vo0ebJ/z0f/AL6NMoouA/zZP+ej/wDf Ro82T/no/wD30aZR
RcB/mP8A33/76NefePGZtWgLEk+QvU/7TV31cB46/wCQrB/1wX/0Jq9HK/8A eF6MyqbG14QGdAnG
0tmVvlBwT8q8Zrool2QRL5Yi2xqPLDbtvA4zznHrXPeDWVNDmdjhVmYknsNq 10UbrLEkiHKOoZT6
gjINYYz+NL1HT+FEDmWHVbWdYJJYhFIj7CuVJKYPJHHB6Vcub7y1AS0nmVvv CMoCP++mFRsxBUBS
zMcKo79+/wBDQrbhnBGCQQexHBFcru1boXpe5XsRKLdmljaNnmlfYxBIDOxG cEjoR3qzRRQMjuAW
tpQASShAA+lVJZnZ3PlzMoQbAFdfm5z0I9utX6qx3yTTtAiMZFQOVLKMKcYP X3H51cG1sJkdu8ri
BZFcsrtklSOMMByfwqxdbxbs0aF3Uhgo74INPEhLhWjZcgkHcpBxjPQn1FPp Nu9wRmG5nYknTwSe
SSp/+Jqa1kmlnG+38pEQgemSR7D0q7SZGcZGTzim53VhWFqK3TYJf3Pl7pWb JfcX4HzdTgdscdPe
pFZWztYHBwcHoaWoKCuMm8M30WpeRp93tiuUknv3liPlea0gYGMAghuZP4iQ FTJ+6T2dMimjnjEk
MiSRnoyMCD+Iov0JlBSWpmaL4ftNFizH890+TcXGNpmYnJLAcHB6ZztGQDyc 61FFA0klZBXMatoE
6+IYde0+GOa4TBeFm2lyBgEE8dMDHHSunpGZUUszBQO5OKTVyZwU1ZnA2/hb VtX1n7drYCqXBk3s
pLL/AHFCkgL26967+iihKxNOlGne3UKgu7SC+tXtrmMSROMMpqeimaNJ6M89 8TaDc6ZLBc6Xb3V/
JK2ZWkHmFdpUgcKeCARznj1GVa94Mn1ptQuo72wktrR1MgBjKqH+RQB8qjoC eAB7ZyW7Sio5Nbpn
RCtGNH2UYL1CiiirMAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA CiiigAooooAiCf6a
ZPJ6RFfNL8D5h8oXPXvnHaotTikn0q8hhXdLJA6oucZJUgCrVFNOzTEcz9ve 5lknnh1dN+NsKJcK
EA9dvGT3xx9eSbunWplu1vQt1CijbiaWQtL1HKseFGTjIyTzwPvbNFbOsuTl jGxHI+bmbK+oW7Xm
m3VsjBWmheMMegJBGawGsNb/ALUgn+x6edsDx7hO2Bkrx9zOTjsOxyRxnp6K 5pQUtzeM3HRFLSbW
az06OC4ZGlDOzbCSBuYtgZ9M4/Cnanp8eqaZcWUpKpMu3cOqnqD+Bwat0U0r aES969+pxgsNfjeF
H0qwubi3j8mG9ZhwmMDIJ7A91P410OhaSujaWlrvEkhYvI4GAWPp7dB+FaVF MyhRjB3Ciiig1Ip0
3mH9z5uJVbG/aFwfvHkZA6471LRRQBydvZX62sNvf6TJdCBFiVVaJovlGNwD OCScdSBgHGBzm7Z6
NDNcRzy6XDZrC4dVEcYdmHIOUJwo+uSeuAPm36K5o4WEZXNpVpNWGvu2Nsxu xxnpmszV9Hjawxpy
A3hcFnPyh8t8xfjngk8cjHHcHVordxu79TJOxU0ywTTbBLZG3kEsz4xuYnJP 6/lirdFFUJu5EE/0
0yeT0iK+aX4HzD5QuevfOO1OmiWeCSFiQsilSR1wRin0UPUDOa2u4vLkLJcG OQPsRNhI2svdiD94
enQ0kULNdxSR6eLTaxaR8IC42kbflJJ5IPPHFaVFYKhFNNaWLdSTWoUUUVuQ FFFFABUh+WAA9XOf
wqMcnFSTcPs7LwKYiOiiikMwtUt7hry+KWN3cLPZLFE0E6oocGTO8F1yPmXs e9Pu1S4jijtvDctt
KLiF/OZbcBFWRWY5Vyfug9BW1RTvpYVtbkL/APIR07/ru3/oqSuM8Q+CtRS9 1C/juvMsHL3DqjMZ
hkliqoBg9Tg5/Cu2kiSVNrjI6+hB9Qe1RfY1/wCe95/4Fy//ABVV7rSUjKpT U9znPAWvarrGrXxu
Ec2QUsCZTIqOW4UMfbPA9BwK7LUI9Sltwum3dpbT7wWe5tmnUrg8BVkQg5xz nseOeKH2Nf8Anvef
+Bcv/wAVR9jX/nvef+Bcv/xVayqxlK6Vi7MwH+G8SXGm/Zrq1aCxezMct7ZC e7jW2MeEimDqI0YR
ZI2H5pJD/Fgacng238nWo4ZyjalKrrlCyKgcymJ1LfvI2lknZxxuWZkyAFxc +xr/AM97z/wLl/8A
iqPsa/8APe8/8C5f/iqnniFmR+FPDZ8NW1/EGsf9Lu/tPl2Nl9lhj/dRx7Vj 3tj/AFe4nPJY1On/
ACEtR/67r/6Kjpn2Nf8Anvef+Bcv/wAVUscSQptQYGcnJySfUk9amU01ZAk7 j6KKKzLCiiigAooo
oAKKKKACuA8df8hWD/rgv/oTV39cB46/5CsH/XBf/Qmr0Mr/AN4XoZ1Nja8I Nt0CdtwTErHcRkD5
V5roon8yCKTzTNujVvMIxvyBzjtnrXPeDgx0OYKcMZmwSM4O1a6Mbgih5DI4 UBnIxuOOTjtWOM/j
S9Qp/CiCeVobiFyyrGG4yOSxBGOvvRp8IkV3lhheJ5C8bmL5mBYk5PORyMHj OPTBJdxTSoViZASp
XLAHGcdiCDxkfjUiSXIVd6Ru4A3NvxuI7/drGLXcpiW3/HrD/uL/ACpV87zi G2eX2IHJpYUMcMaH
GVUA4+lPqBiM21C2CcDOB1NVluhbwRsss0hJ8vyVVuQM/KoAyCMHk9e/bFqq n2RjMrMflVy4KsQc
nPp9T3pxdgLc7E3MeTkhX/mvuaZL5gjJi2lh2bvQsSq+7LkgYBZy38z7U+iT u7ghE3bBvxu746Vm
3FhnVI7xpSE4yu3jsMZzxnnn1ArTpCAwIIBB4INJOwFd5rYSuRO0eSMopQBe AOhHoBUsLF4gx9Tg
nuM8H8qIoliDBSTuOeT+H9KkobuBTnYSXqW1x8tuy5APSZucofYAZx/Fn0DA 02udNhmmQa/5BMrs
0Xmw/KxYkjlSepPWtOeCO5haKVdyN1GcEdwQRyCDyCOQaZZWi2VsIFkeT5mc vJjJLMWPQAdSe1cs
6U3O6en9aGsZRS1QtnLLNY28s6eXK8as6YI2sRyMHpzWNoJ8WNqWoLr50kWU TbLRrOKRXnHB3tud
goxxt5Oc84ALdBRXStFYze42VmWJ2QZYKSB6mozJZkoTeucOpALJyQQQOnrU 1MljEsZQkjkHI9jm
mnYQBk84rD/q8Zx2Q+g/w7fiKSXzgB5OwnPIanqqooVRgClob1ABnAz174oo opDCiiigAooooAKK
KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo oAKKKKACiiigAooo
oAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAkhGZAT91eT mmMcsSe9PX5YWY/x
fKKjpiCiiikMKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA K4Dx1/yFYP8Argv/
AKE1d/XAeOv+QrB/1wX/ANCavQyv/eF6GdTY2/BxK6HMVXcRMxAHf5Vrel3G zYuuxzFllyDtOORk
cHFYHhAZ0CcbS2ZW+UHBPyrxmt512aft8sRbYAPLDbtvy9M85x61jjP40vUK fwoJnsoJCkptYz1A
YKDj8adItvFG0jxRBVBYnyxwB+FJdKxubcgEhZiTgdBsas68+0O8wUS/Osim MI5GNjYOc7eSF6DP
OPWuYs1PJh/54xf9+x/hR5MP/PGL/v2P8KpSpJFMYwZzbfKXIZmb+POD97qE 4H9TUYS4Ykkz4GwJ
8zD5TIwOffZjk8jr1pDNHyYf+eMX/fsf4UeTD/zxi/79j/Csy4a6EHy+arR7 /LIV2LYYgA4PoF5b
Oc/WtagBnkw/88Yv+/Y/wo8mH/njF/37H+FPooAZ5MP/ADxi/wC/Y/wo8mH/ AJ4xf9+x/hT6KAGe
TD/zxi/79j/CjyYf+eMX/fsf4U+igBnkw/8APGL/AL9j/CjyYf8AnjF/37H+ FPooAZ5MP/PGL/v2
P8KPJh/54xf9+x/hT6KAGeTD/wA8Yv8Av2P8KPJh/wCeMX/fsf4U+igB0MEB DloIjgD/AJZj1pWg
gH/LGL/v0v8AhTouI5Pw/nVSaCYSMYJSFkPz5OdvuP8AP/1tFsSwvY4hYzER RggAghACPmHoKWUW
sUgR1t0LHChlUE/T1ptygj02ZFzhUA5P+0tQ6jDI7yrC3zzoYiDGWGBnvkBf vHrn2HrMhoteTD/z
xi/79j/ClWGEsAYYuv8AcFOpU++v1pASvb2+44ghGCR/q1/wqJooR0hh4/6Z L/hRdxNNnY5SRHJU
54znvUEMci7pZmJkccgHhR6VoIkRQpkVQAokcADt8xqI3kCyPGXO9BlhtPA9 enSph96X/rq//oRr
GlDnWL/Yyj/RhnIz6+9QldjNiORJo1kjYMjDII706qelMjaVbFE2LsGFznFX KT0YEck8cbqjFtzd
AFJz+VSVTUGXVXYj5YEAX5j1PfHTpVyhgMDEzuueAqkfmf8ACn1Gv/Hy/wDu L/NqezBELMcADJNI
YwTRmcwhwZAu4r6CpKx5fNQRag8ariTc5DgkRnjuPTHetcEMAQQQeQRTasIW io2hzMJPMcAdVDHB
qSkMjllESgkE5OOMehPf6UQTx3MIliYMpqG4WN2P2l9kKrlNoyWb8Rjj07+9 ZlolysttJG7eUCsJ
4A8wAEZwPQcZ9vbNWo6XFfU3aKR13oVyRnuDgimxR+XGFLsx7ljnNQMfSEhQ SSABySaR5Y48b3Vc
9NxxVHUblFUwFTIWGAg6sx6D+v5U0rsTZcjmSbdsJO04OVIwfxqSq9jA1vZx xuAH6tj1qRoczCTz
HAHVQxwaHa4ElFFU57OeWZnTUrqFT0jjWIgf99IT+tCVwLlFZLaTdnUrO5/t S5dIdxbesYLA4+X5
UHB6nJ/hGBnBFvUrBdT064snuLq3Ey7fOtZmiljPZlYcgg/gehBGRTaS6gmW 6YGJndc8BVI/M/4V
m+HdGfQdGhsZtSvNSnHzTXV5M0jyOepG4navoo6e5yTor/x8v/uL/NqkYu6R pGWNFO1QSST3z2AP
pUUtw8Mbu6KFjI3/ADkYGAe4Hr0OKJmaOX7qFZQEG4gYOG9QfWo441ZpjLt2 lFKhX+XGwjsVH8I/
+t1GiimiblsEMAQQQeQRTUYl5QTwrYH5Cm25BLgEkZUj5s9VU+p9fU0sX+sm /wB//wBlFQ1Z2KKl
zc3ltqKfJFJZSR7ERP8AXGbk9yF27Qe+c0mnXdxeXN47Nb/ZUcRxKhJlRgPn WTnGc4xjsapa9p/n
yCVbqdJ5ozbwKZisUT4ZhLgDO4AEe4471BBcRefDHp0Xk3Ue8SmUv5ciK/zL vK/vOWJBHKknPUq2
6pqUFZamTlaWpt2f239/9t+z/wCubyfJ3f6r+Hdn+LrnHFWao6VEq2huFnuZ Vu3+0gTvu8sMAdi+
ijsKzbTwubXxXc60dZ1aWGVf3enSXkjW8TnO5gpOCCMYU8Kc4/h24y3NFsdB VOXU7SOKdkuIpHhR
naNJAW+UZPFXKxodPvmS0tbtLVrW3G1irsTIPLZPu7RjO71NVCMXdyZMm1sX orqY3SwTxRIzozqY
5S/QgHOVGPvCrdc/piJDNZXKurm7XaFLSM0YKF+rOR/CB0GateItGfXtGmsY dSvNNnPzQ3VnM0bx
uOhO0jcvqp6+xwQ6sVGVkKnJtamtVG+vRazwxvcwWyOrEyzrlcgrhfvDk5J6 9qfptgumadb2SXF1
cCFdvnXUzSyyHuzMeSSfwHQADAqDVklmglhS+kska2lLXC4AjIK/MSVwMDP8 SnGceq4yg5rlTsaJ
21aLlpM1xZQTsu1pI1cr6EjOKmrn7uCZZViGpz3brIA0d1EgiyRwCyRjB5GA T3HHStewgkt7NIpt
m8FiQn3RkkgD6ZxVOLjZMhSvK1izTJWKoCDg7lH5kVhWnhc2viu51o6zq0sM q/u9OkvJGt4nOdzB
ScEEYwp4U5x/Dt3J/wDVj/fX/wBCFIsc7iONnOcKCTiomuVjYrIpRsZwzLyO ff2qSYAwyA4xtOc/
SobMIUd135LspL7s4BOOtNWsImilSaJZEOUbkEdxT6QAKAAAAOABUkajJdvu ryff2pDFl+UKg6AZ
/E1HSsxZix6mkoYgooooGFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABR RRQAUUUUAFcB46/5
CsH/AFwX/wBCau/rgPHX/IVg/wCuC/8AoTV6GV/7wvQzqbG34OUPocyt0MzA 4OP4VroGiUWxhjUK
oj2KMk4GMDk81geC/wDkDSf9dz/6Ctb8fn3T4t9ixg4MzgkE+igYz6ZyPxwa xxd3Wl6hT+BDi8pJ
PlJz/wBND/8AE0m6T/nkn/fw/wDxNTf2fef8/kH/AIDn/wCLo/s+9/5/IP8A wHP/AMXXPysu5Duk
/wCeSf8Afw//ABNG6T/nkn/fw/8AxNTf2fe/8/kH/gOf/i6P7Pvf+fyD/wAB z/8AF0crC5Duk/55
J/38P/xNG6T/AJ5J/wB/D/8AE1N/Z97/AM/kH/gOf/i6P7Pvf+fyD/wHP/xd HKwuQ7pP+eSf9/D/
APE0bpP+eSf9/D/8TU39n3v/AD+Qf+A5/wDi6P7Pvf8An8g/8Bz/APF0crC5 Duk/55J/38P/AMTR
uk/55J/38P8A8TUE0WqwMxKwSR84aKMsQB6qWH5DNJGbqVdyXEBGcHMDAg9w Ru4NJ3QFjdJ/zyT/
AL+H/wCJo3Sf88k/7+H/AOJqLZef894P+/J/+Lo2Xn/PeD/vyf8A4ukMl3Sf 88k/7+H/AOJo3Sf8
8k/7+H/4motl5/z3g/78n/4ujZef894P+/J/+LoAl3Sf88k/7+H/AOJo3Sf8 8k/7+H/4motl5/z3
g/78n/4ujZef894P+/J/+LoAl3Sf88k/7+H/AOJo3Sf88k/7+H/4mq0jXkck K+dAfMfbnyTx8pP9
72qTZef894P+/J/+LoAnWWRVZTChDf8ATU//ABNG9/8AnkP+/wB/9jUGy8/5 7wf9+T/8XRsvP+e8
H/fk/wDxdO7FYdOsktvJEsaqXAG4yZxyD/d9qkLykk+UnP8A00P/AMTUOy8/ 57wf9+T/APF0hlnt
/mn8t4u7oCpX6jnj3z+Hei4E26T/AJ5J/wB/D/8AE0oeUEHyk4/6aH/4mmTT rEgOCzNwir1Y+1MC
3rcmS3T/AGdhfH45GfypAWGldmLeSBk54m/+xppZj1hH/f7/AOxqHZef894P +/J/+Lo2Xn/PeD/v
yf8A4unzMLEybvmLAAszNgHOMkn+tNNvCxJMMZJ5JKio9l5/z3g/78n/AOLo 2Xn/AD3g/wC/J/8A
i6QycAKAAAAOABS1X2Xn/PeD/vyf/i6Nl5/z3g/78n/4ugCVIYozlI0U9MhQ KfVfZef894P+/J/+
Lo2Xn/PeD/vyf/i6AJQpEzP2Kgfln/GnMqupVlDA9iM1BsvP+e8H/fk//F0b Lz/nvB/35P8A8XQB
KYYigQxoUHIXaMCnKqooVVCgdgMVBsvP+e8H/fk//F0bLz/nvB/35P8A8XQB YoqlK16jJFHJBJM/
3UEJH4k7uB71dSxvyoMlzbK+OQsDED8dwpqLewhskayoUdQykYINKAFAAAAH AAp/9nXn/P3B/wCA
5/8Ai6P7OvP+fuD/AMBz/wDF0+VhdDaKd/Z15/z9wf8AgOf/AIuj+zrz/n7g /wDAc/8AxdHIwuRs
iOQWVSV5BI6UghiD7xGgfruCjNTf2def8/cH/gOf/i6P7OvP+fuD/wABz/8A F0csguhlFO/s68/5
+4P/AAHP/wAXR/Z15/z9wf8AgOf/AIujkYXG0U7+zrz/AJ+4P/Ac/wDxdL/Z 97/z+Qf+A5/+Lo5G
FxlFP/s+8/5/IP8AwHP/AMXR9gvf+fyD/wABz/8AF0cjC4ymBSJmfsVA/LP+ NTfYL3/n8g/8Bz/8
XR9gvf8An8g/8Bz/APF0cjC5Gyq6lWUMD2IzUa20UahYwyAKFARyvA+h96s/ 2fe/8/kH/gO3/wAX
R/Z97/z+Qf8AgO3/AMXT5ZBdEKIqZxnk5JLEk/nSIpVpCf4myPyA/pUU0Osx OSogli7GNTu/EFgP
yJpkUt3MDtuYgVOGVoGUqfQgtxUtPqA2fTIbm+NxcPJLGYvKNtIQ0P3s79pH 3u2fSok0OyWadnTz
oZNuy2lCtFDtGP3a4+XOcn1NW8X3/PzD/wB+W/8Ai6MX3/PzD/35b/4unzyX UXKhljYrYrMqzzyr
JK0gEr7hGDj5F9FGOB2q1UH+nf8APzD/AN+W/wDi6P8ATv8An5h/78t/8XSb vqxrQnoqD/Tv+fmH
/vy3/wAXS/6f/wA/UP8A36b/AOLpDGRafZQzmeKzt45jn94kShuevOKs1D/p /wDz9Q/9+m/+Lozf
/wDP1F/36b/4um3fcVrE1Vr3T7TUIHhu7eOZHQxncOdpIJAPUcgHjuAe1Pzf /wDP1F/36b/4ujN/
/wA/UX/fpv8A4uhO2qDcpJoVrDIPs7PbweYsptoQixllIIONuR90dCP51p1D nUP+fqL/AL9N/wDF
0Z1D/n6i/wC/Tf8AxdOUnLdiSS2JqZIpdQB/eU/kQaZu1D/n7i/79N/8XRu1 D/n7i/79N/8AF1JR
KRkEHPPocUhjU55b/vo+/wDj/nFM3ah/z9xf9+m/+Lo3ah/z9xf9+m/+LpiJ 0iYjI+7nqT/jSyMP
uL91eh9feqrC+Y5a5hP1hb/4uk2Xn/PeD/vyf/i6ALFFV9l5/wA94P8Avyf/ AIujZef894P+/J/+
LpDLFFV9l5/z3g/78n/4ujZef894P+/J/wDi6ALFFV9l5/z3g/78n/4ujZef 894P+/J/+LoAsUVX
2Xn/AD3g/wC/J/8Ai6Nl5/z3g/78n/4ugCxRVfZef894P+/J/wDi6Nl5/wA9 4P8Avyf/AIugCxRV
fZef894P+/J/+Lo2Xn/PeD/vyf8A4ugCxRVfZef894P+/J/+Lo2Xn/PeD/vy f/i6ALFFV9l5/wA9
4P8Avyf/AIujZef894P+/J/+LoAsUVX2Xn/PeD/vyf8A4ujZef8APeD/AL8n /wCLoAsUVX2Xn/Pe
D/vyf/i6Nl5/z3g/78n/AOLoAsUVX2Xn/PeD/vyf/i6Nl5/z3g/78n/4ugCx XAeOv+QrB/1wX/0J
q7iKdi/lTIElxkAHIYeoNcP46/5CsH/XBf8A0Jq9DK/94XoZ1Njc8F/8gaT/ AK7n/wBBWun0whdK
tMADMSsfckZJ/E1zHgv/AJA0n/Xc/wDoK10OnPjTLT/rin/oIrLFO1eXqFP4 EcdfyatDouhGPUIY
4Wt48BH8g4zFwSZl3nbuHHr2yCO10hpTo9l5775vIj8xt27c20ZOcnPPfJrm 5vCbT2WnxrfSwy28
aLJ+9mdWZSjfLiRdoynb17EDHRWMP2LT7a137/IiWPeRjdtAGf0rjSaqSl0Z s2uRLqYeieMLm/t7
KbUtNW1S/wBObUrYWk73TGJRGWDL5anf++TCqHz83TAzof8ACW6QIElWS6d2 dk+zx2M7XClQCd0I
QyKAGQ5KgYdP7y5ybPwTp+neEV0SzjtbeZoIIri6itVT7W0WP9coOXRiCGUt yrsMjOaq6V4Lu9Fn
e906+0u2vWllISHSylqkciQKyrCsoIbNsjbt+PmbjkEbXRmdBoXiAap50ExQ XaXF0pSJWwsUVzJC
jMeQpYJxkjcVfAwpxub65K18M3GmQXv9lap9kubyW7lmk+zh1LyvI8b7CceZ GXUbv41Xaw4TZrXd
vqE32/7NqX2fzrURW37hX+zTfPmXn7+dyfKeP3f+0aVwNffWTdyXqarFsutk UqBIISq+XJKNzMrn
BYZUcEHAKnIPAa9vrPuLOabUGmF35cTwiJlCHzFGSTsfPybsqDgZ+UYIIBBz AOtJL19Vl33W+KJC
k8IVfLjlO1lVDgMcKeSTglhgDkLZurRXbzoAsdz/AHscP7N6/Xt+hqW9nNDq CzG78yJITEqlD5jD
II3vn59uGAyM/MckkknQ30NgU4pRKCNpV1OHRuqmqOu6vFoWl/2hcbPJWeCK RpJAioskqRlyx4AU
Pu/DqOtaNzCZGEsRCzqMAnow/un2/l+YOXqVsusW0dk8htpo7m3uSrgMSIpk lwMHkHZjI6Z9sVAz
NTxzo8+staW1/p81pGsbPeJdhkUslw7LlQVBVbfcdzAYYnOQA1tvGGixIrTX M0DPKIVhuLSaKVnZ
WZQI2UOd3luFwPmZSoy3FVNe8Gxa/qcl1cXrxwywLBJFGg3bRFdRkhicAkXe ehxs754ZpngxNPvb
S7B02CSC6E5j03TFtY3AhmjAI3Mxb98TksRhQAoySTQDqqKpSWt+32jZqOzf dRSxfuFPlRL5e+L3
3bZPmPI8zj7oqa3iuI5rpprnzo5JQ0KeWF8lNigrkfe+YM2T/ex2FIYlz/r7 T/rqf/QGpmpWX2+y
a3zGMuj/AL2Pep2uGwy5GQcYPPen3P8Ar7T/AK6n/wBAarFAGDceHvtFtLB5 GiReYhTzItL2suRj
KnzOCO1b1FFNu4jC0bwlY3GiWE7yENLbRuf9EtjyVB6mIk/iSat6LbxwaW9s AGjS4uI8FVAIEzjo
AB+AAHtT49HtYYkiilvkjVQqot9MAoHQAb+BVq2torSAQwhggZm+ZyxJJJJJ JJJJJPNNtMEipane
dPLfMfsxbnnn5Ofryfzplw1hDeX91qMEMkVvaxPmSMOQN0mcD1OBwOvFPs/+ Yf8A9eh/9krH8R6P
PqF+LiK2nkeGJTAyyL5W8F8h0Y9MEfMq7uvXpUpJtXHdpaFrSrmK4isdQs0W 3jvX8uayC4EMioxO
OnIKYzjkHPpUuratqFtq9lpunWFrdTXME07Nc3bQKixtEuBtjckkyjsOlY2g aZdHUbXVZ7G6hnmO
6XLhI0TY+0FAQzPlhncCAc49TtarpOoXOr2Wpadf2trNbQTQMtzaNOrrI0TZ G2RCCDEO560+WMXo
F29yJfF2keTHJLJNEx3echgd/s212R/OZAyxqGRxvYhTsYhiATTNe8UWum+G rzUbWVHmRbuO2WSN
trzwJKzIehwDC/OQDt4PIqrc+C8w3VtZ6h5UGoWptdRM8PmSTKzyuzowZRG7 NPKSdrLkrhQBg19V
8E3epW01gurQxaa0t5PGhsy0yyXEc6tl/MAKhrhyBsBwAM9SXoIv3PjTToWt NkN7J590LeSI2U6z
xgxSyK4hMfmMpMRXIGPvHPykVsahqVrpdus107gO2xEiiaWSRsE4VEBZjgE4 AOACegJrDk8M6hPe
pq0+qWp1iJozDIlky26qizKA0ZlLMcXMvIcc7OODuvaho97eSrcR6ii3Fvef arLzbffHCPJMTIyh
lLg75WzuBBYdQuCtAKOmeM7GfTxcXzvEzT3AIW1lxDCk8kaPN8p8kER8mTaM q/TacT694otdN8NX
mo2sqPMi3cdsskbbXngSVmQ9DgGF+cgHbweRWangm6FleW51WE/2nFLBqTC0 I3xyTTS/uf3n7th9
okGW8wcKccEE1XwTd6lbTWC6tDFprS3k8aGzLTLJcRzq2X8wAqGuHIGwHAAz 1JegF+58aadC1psh
vZPPuhbyRGynWeMGKWRXEJj8xlJiK5Ax945+UiujrmJPDOoT3qatPqlqdYia MwyJZMtuqosygNGZ
SzHFzLyHHOzjg7unpMAooopDI9PAbW7ktyUhTbntknOPyrmfF2pafptrrTSB f7SZj9mZYElcFYEY
ZDKRt4OeOmTxjI6fTv8AkN3f/XFP5muS8WeFdR1bVLma3tZnZnIVw0Wxo2gE bdXBDct2x0Psb5U0
roV7G14UnmMFoDJmO6gkm8vaAI2VlU7ccAHcTjGB275tXut6oviCfTdP0mG7 jtbWG6nc3nlSMJHl
ULGhQqzfuT950GSASBk1T8L6fqdnLbJe2skUcFvMgZmjxlmjIA2sSfuscn1q 3e6JqjeIJ9S0/Vob
SO6tYbWdDZ+bIojeVg0blwqt++P3kcZAJBGRVQioqy2E3fVktv4u0S6ktVgu 5JEukiaOYW8vlDzF
DRq8m3YjsGTCMQx3px8wzT1rxjZ2Ojaff2Uvn/bvs88Ci3kcyWzzwRuyqo3b gs64XqSRwcEUyPwW
towtLG6jh0Y3FtcvaGFnlD26xLGElL4CYt4shlYn5/mG4bc+TwFqLR6fAmt2 qw6Vbx2+nBtPYsqx
z28qmU+cBIcWyqdoTO4njgVYjYXxlp8usadYRRXUgvEmyRazCSCSNoQFki2b owRMG3PtAG09GBrS
1HWbLSPKF007SS5KQ21tJcSMBjLbI1ZtoyoLYwCygnJGcm08LXdtrCa0dShf U5JXN232UiGSN1gR
ljTzNyNttosMXcAlztOQFnudE1N7u2v7fVoBqMH2qJZLmzMkfkTSq4TYjody iOJQ27kKxIJbIAK+
g+MrLUdL0d72Upe3tpbyTGKCQwRSyxqwjaTBRGJddqM247067lya14xs7HRt Pv7KXz/t32eeBRby
OZLZ54I3ZVUbtwWdcL1JI4OCKqaZ4Fm0yytNNXVY3sFeznuVNqRLJNbJCqFH 34RD9niJUqx+/hhk
ba8ngLUWj0+BNbtVh0q3jt9ODaexZVjnt5VMp84CQ4tlU7QmdxPHAoA2F8Za fLrGnWEUV1ILxJsk
WswkgkjaEBZItm6METBtz7QBtPRga2r69g060kurqTy4UwCQpYkkgKqqMlmJ IAUAkkgAEmsG08LX
dtrCa0dShfU5JXN232UiGSN1gRljTzNyNttosMXcAlztOQFS8lvvEEK6dL4f 1XTf3sdxHd3DWrxx
yROsqb1Scsyl0UEDkg9V+8ABmkeM01HVtTgaKRILZ5mhVrWeO4aOOK2dv3TJ uJ3XBHYkbNqtkkXz
4s0gWyS+ZdO7uyfZo7Kd7hSoBO6AIZFADIcsoGHQ/wAa5xW8B3l3d3t7f6xB JdXfmlxDZmOFtwtA
EZDIxaMi0Cuu751kYZWqaeEtT8Lg6losdrPqElxKPs+n6bHFbxxSxwBsRPcp g7rZDuEnV2+U5yAD
prDxdomqrN/Z93JcmG3W5kWG3lZljaNJEO0LnLLIpVerYYAEqwEbeM9BiEIe 6njaTzCVe0mVoQmz
e0wKZhUCSNi0m0bXDZwc1maL4JmsPBs2jXF7GZ7hLUyFYy0QaG3giKMCQZIm MHzD5dyOy8dap2/w
18m11WL7bYwfb7W8t/LsNO8iGL7RFbx7lj8xun2fcRn5i56Y5AOz07VLbVYG ns3kIRyjxyxPE8bY
Bw6OAynBBAIGQwPQg1X1Y3Uc9pJFePbwbjG5WNXBkZlEe4EZKZyp2kH5hyBk iTT9MNhe6tc+dv8A
7Quludu3Hl4hii25zz/qs54+9jtkpf2FzdXdtPBdrD5KupDRbz82BuXJwHAD AEhvvHjBIIBXjl1G
bWIEedY9g8y4to8NGsZDKnzlQzOXGeMABSCM4LXrzT47n96mI7hfuygc/Q+o 9qrLpMsd/ayx3jfZ
4GZgkgaSQ7lIK+YWyUztbBB5Uc4AA16Vu4GHDMzs0UqeXOn30/qPUH1qWrV9 ZLdBWVvLnT/VyAdP
Y+oPpWetwyyiC5TyZyOFJGH91Pf+dZSjYpMmoooqRhRRRQAUUUUAFFFFABRR RQAUUUUAFFFFABRR
RQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQBl3mkfadRa 62afLuiSPbeWfnbd
pY5U7hjO7n6Ciz0j7NqK3WzT4tsTx7bOz8nduKnLHcc428fU1qUU7vYRl6xZ R6hNplrKcJJdHJ2I
/SGQ9HBU9O4qDUfDNnp0EF1G+XjurfA+y26dZkHVIww69jWpc2kV4IxL5gMb 70aOVo2U4IyCpB6E
j8ahOlWzFS8l5IFdXCyXkzrlSCCQWIOCAeaaaSsBLcAfabRu/mEZ9tjHH6D8 q4jx1/yFYP8Argv/
AKE1dvc/6+0/66n/ANAauI8df8hWD/rgv/oTV3ZX/vC9CKmxueC/+QNJ/wBd z/6CtblgT/Z1r/1y
T+QrD8F/8gaT/ruf/QVrbsP+Qda/9ck/kKwxn8aXqFP4EWcmjJpKK5jQXJoy aSigBcmjJppJyFUZ
dug/qfam7Z45HUxvKuRtYFQCMDtn1zTSbESZNGTTFYOuRxyQQexHBoyxcqkb OQASAQMZ6dSPQ0WY
D8mjJpixzhXldSAG4jOCduByMe+eP8lQQwBBBB5BFDTQDsmmSxRzqFljSRQc 4dQRmmEq0rrIwVEQ
NyxA75JII6YqFJzskZZB8ilwjxkFl9QSenbJ59afK2guOFoU4iuZ41/u7g3/ AKECaBbyEAi+nIPQ
gJ/8TVmo7f8A49ov9wfyqRkf2aX/AJ/Z/wDvlP8A4mj7NL/z+z/98p/8TVaW W7e/aCBiWO4gFwoA
UJ/sMScvTm/tK0ZZZ1jaEsqMPOBILMFBGEHTNaezdrmftFexK1m7sjNeTkod y8JwcEf3fQmnfZpf
+f2f/vlP/iancsEYoAXx8oY4BPue1YMs7i8t5LVZZL8xyrOGiUkYMeQQZF2g ZGACQQ2ec7jzVKvJ
bS5vCHMa/wBml/5/Z/8AvlP/AImj7NL/AM/s/wD3yn/xNQ6bdXF0kpnVBsfZ xtByOoIVnAxx3z7D
GTeq4y5ldEtWdiv9ml/5/Z/++U/+Jo+zS/8AP7P/AN8p/wDE1nNpbRb4VF7M ZCTFO1/MBFnqHAkB
OO23r0OMbjp2tuLW1jgEksgQY3yuXdvck1YivYW/2k6enmyRYtCdyYz/AMs/ UGtP+ym/5/rr8o//
AIiqWj/62w/68m/9p1v1pFJolmb/AGUf+f8Auvyj/wDiKP7KP/P/AHX5R/8A xFaVFPlQXM3+yj/z
/wB1+Uf/AMRR/ZR/5/7r8o//AIitKiiyC5m/2Uf+f+6/KP8A+Io/so/8/wDd flH/APEVpUcUWQXM
3+yj/wA/91+Uf/xFH9lH/n/uvyj/APiK0uKOKLILmb/ZR/5/7r8o/wD4ij+y j/z/AN1+Uf8A8RWl
RRZBczf7KP8Az/3X5R//ABFH9lH/AJ/7r8o//iK0qKLILlG109LS4kmE0ssk ihSZNvQfQD1q9SZp
aewgooopgFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAVFLDFPGY 5o0kQ9VdQR+RqWig
DNOjwq37iaeAf3UcFfwDA4/DFH9lN/z/AN1+Uf8A8RWlRS5UFzN/so/8/wDd flH/APEUf2Uf+f8A
uvyj/wDiK0qKOVDuZv8AZR/5/wC6/KP/AOIo/so/8/8AdflH/wDEVpUUcqC5 m/2Uf+f+6/KP/wCI
o/so/wDP/dflH/8AEVpUUcqC5m/2Uf8An/uvyj/+Io/so/8AP/dflH/8RWlR RyoLmb/ZR/5/7r8o
/wD4ij+yj/z/AN1+Uf8A8RWlRRyoLmb/AGUf+f8Auvyj/wDiKP7KP/P/AHX5 R/8AxFaVFHKguZv9
lH/n/uvyj/8AiKP7KP8Az/3X5R//ABFaVFHKguZv9lH/AJ/7r8o//iKP7KP/ AD/3X5R//EVpUUcq
C5m/2Uf+f+6/KP8A+Io/so/8/wDdflH/APEVpUUcqC5mNpZVSTfXWAM9I/8A 4ioJLeGJir6jdgj0
RD/7JWvJ/qn/AN01wviLVL2O6GnaZCz31w77ZGX93CobBYnocZHHuPUA6UqU ZvUic3E6FEtnYqup
XRYAnBRB057pSzQRwPGjX92S7lAAI+Dgn+77VzOi6pNfQXAubd7e8t0kSZCD t3eWTlT3B6/j6YJ6
W+/4/bf/AK7t/wCgPU16cabVgpyctx/2aP8A5/bz/vmP/wCJo+zR/wDP7ef9 8x//ABNRztF5p3zX
QbA4jM20cf7Ix+VR7rf/AJ+L787j/CsDQsfZo/8An9vP++Y//iaPs0f/AD+3 n/fMf/xNVlMDTRYa
7lYMSPM87avB5O/j2/GvJ/DHhq71nxJql/aR2dp9g8X3NxLqAc/anjUc24AX 7jbhnL45PynuAeuT
rb21vJcXGpXEUMSl5JJPKVUUDJJJXAAHeiBbe5t47i31K4lhlUPHJH5TK6kZ BBC4II714pq/jzU9
Sa8tRdf6DqVhq8cunXUsTXFp5UUhTeiRI0TfKQAzSZBPORmpNM8T+I4orPT7 fW9I0i3s9K0x7NdT
nSCK5VoQ0hO6NmkGQyEo6bcDqc07MD2z7NH/AM/t5/3zH/8AE0fZo/8An9vP ++Y//ia8I1e3k/4Q
/wCJNl9sm+1/2xNc/wBlYTd5PnQP9o27fM27f4s7Mc4710niHxPq8WsWenaR 4qso9Ol02W4h1e8u
LeKO4uBLtKmQQtG+wY+RFQ4Jy3SnYD1P7NH/AM/t5/3zH/8AE0fZo/8An9vP ++Y//iaq6dcSXGh2
txc3EEkktvG8stizmN2IBJjI+YqTyD6U7db/APPxffncf4VIFj7NH/z+3n/f Mf8A8TR9mj/5/bz/
AL5j/wDiar7rf/nvffncf4VLbBBD+7WRV3Mf3mdx5OSc889efWi4D/syf8/t 3/3zH/8AE1GiQyPK
iajcs0TbJAvlEo2AcH5eDgg/Qipq5LTfDmowfETWdfe8eGxuFjjjtkIInxGo 3P6BTkDoc56D7zjZ
3voKTatY6Wa28uS0kFxPIPPK7ZAmP9W3PAFcR46/5CsH/XBf/Qmrvbn/AFdp /wBfJ/8ARbVwXjr/
AJCsH/XBf/Qmrty/+MvQipsbngv/AJA0n/Xc/wDoK1t2H/IOtf8Arkn8hWJ4 L/5A0n/Xc/8AoK1t
WMV0+nWpgjhZfKQEvIVOcD0U1ji1etL1HT+BFmij7LqH/PG1/wC/7f8AxFL9 l1D/AJ42v/f9v/iK
5+Vl3EoqOVbuBA0ws41JwC9yQM/ilQ3k11ZaZcag8Ns8EELTHy5ySyqu7j5c HgUlFt2BuyuWHTdg
g7XHRv8APaoY0ncuZJXT5vlVdpGMD29c1Y+y6h/zxtf+/wC3/wARS/ZdQ/54 2v8A3/b/AOIp2kGg
xECLtGT3JPcnrTXi3PuWR0OMErjn8/qal+y6h/zxtf8Av+3/AMRR9l1D/nja /wDf9v8A4ii0g0Kq
xz+Y6tK5jzkMSMkYHAx75/z0sABQAAABwAKX7LqH/PG1/wC/7f8AxFL9l1D/ AJ42v/f9v/iKGpMN
Crc2guQQWwrABgc84ORyCCOazIrW5F3GtyZHCIIw4BPOCC3XHIJ6g1u/ZdQ/ 542v/f8Ab/4ik+za
h/zxtf8Av+3/AMRVLmSsLQKjt/8Aj2i/3B/KpPs2of8APG1/7/t/8RSLZ36K FWG1AAwP37f/ABFR
ysdzKurdDqB+0/aVtpUf95atKHB/d4GY/mX7nY88imG0sIQPskmrSytJENtx LdSJgSKxOJCVHA6/
41tfZdQ/542v/f8Ab/4ik+zah/zxtf8Av+3/AMRWqnJKxnyRvcKyL6zv21D7 Ta+SD5YQPvVGAznB
JickZ56ge3GTsfZdQ/542v8A3/b/AOIpPsuof88bX/v+3/xFYTpOaszaM+V3 Of0cCR828RS5WaRb
yXzNynEjcHAUMxPI4BAxnjAboKPsuof88bX/AL/t/wDEUfZdQ/542v8A3/b/ AOIqaVBwjYJz5ncK
KPs2of8APG1/7/t/8RR5F4nzSxwBB1KSkn8to/nWnKyblfR/9bYf9eTf+063 6wNH/wBbYf8AXk3/
ALTrfrWOwmJ3qC6YraysDghCQR24qfvUF5/x6Tf7jfypT+F+gLdDPs6/3pf+ /rf40fZ1/vS/9/W/
xrn/ABhq0Wm6ZaRTX6WCX17FbNdSTCFEj5klBkyChaKORVYchmXBH3hjXmp3 urfB+51SDWpo722s
Lgy3lkY8XEsCyI7K204jZ0LBk2tjaQV6V56g2rl3O5+zr/el/wC/rf40fZ1/ vS/9/W/xrA8amZfD
0bQRxyTDUbAxpI5RWb7XDgFgCQM98HHoap3Gvalp0t/pt9fWX2+KK3mt7iDT ppA/mtKPLFssjSOw
EDtlW6HJACElKDauFzqvIX+9L/39b/Gj7Ov96X/v63+NcdpvirUtSfTncw2N rLK8D3E9jMy3EiTv
CyD5l+ysdilRLuJaYINxQ7rWteItR0vU9YMcFtJp+laQuoyhiwllY/aP3ano AfKU7jnGCNrbso/Z
y2C51H2df70v/f1v8aPs6/3pf+/rf4151q3iPXpfDuvwpM+9NJublL4aLdWA gaML8o81/mdlZirK
w2FMkNnABr+p+HxfaXYWlsRpD7BZ6d4eujHdMY1mwjxuyQFvNCYbfggueGCi vZMXMeifZ1/vS/8A
f1v8aPs6/wB6X/v63+NcVP4r1eGxFxIttGLnVrjTrUw2k92yLC1xmR4kIZyR CF2qRjlyxB2KWPiL
xHqep2+mW8VtA7pcsb280+4gDrH9mIdLd2DYzO0ZBfkpvDcbDPspDudr5C/3 5f8Av63+NH2df78v
/f1v8a5HTdd1zXrueysptOtJ7JCLiaa1edZ2FxcQZRRKhjGbYtgs/wDrAM/L loYvF+pXGqkQwPJb
jUWsTaJpF0xCrOYGk+1A+VgYMhG3gApnPzUezkFztfs6/wB6X/v63+NH2df7 0v8A39b/ABrn9C1L
VdTgvVup7a21BUG2zaykVrNyG4cs/wC/TcCBImxX2NtP93G8N6n4hm8P+GLH +0bJ72/0v7d9suLW
STEaJANjr5wLyEzZMm4D5fuc5B7Nhc7n7Ov96X/v63+NH2df70v/AH9b/GuN 1nVbu+8Cm4IuPtK6
pFYyCxmMDzbL5YH8tt4KbwrYBfjdgscZp+hxXct5q2mx3GsaSq29tLHFdXKX VzEzPKGkDu0y7HCK
oUscFHO1chmOTS4XOv8As6/3pf8Av63+NH2df70v/f1v8axPC99jwBouoX9z /wAwuCe4uJ5P+mSs
zux/Ekmucg8Y63PqsGjW620t3LcRKbm5025slVJIrluIZGLMVNtnO4B9xX5C CwPZt3C5332df70v
/f1v8aPs6/3pf+/rf41yMGva7daxJ4fik06PULd5jLetau0Uiols+Fh80FSf tSjJkP8AqycfNhcw
vdwfDeYM88ty2vPFIbBzbvLu1Uq6xneCm4FgMvxnlu9P2bC56D9nX+/L/wB/ W/xo+zr/AH5f+/rf
41w1oY1l1S11C41vTNPgitpzZ3F+8t0zO0yZEqSSPtdljCpHIGLRkbQHxJ0P huG5is7kyNdCzkuC
9jHeO7zpDsQfOXJfJcSOAxLBXUHaRtVOFgua/wBnX+9L/wB/W/xqO4iVLeR1 aQFVJB8xvT61ZqK4
UvbyKoyzKQB+FZSvZ2GnqrkkchU+W557N/e/+vU/WqTOzLgwSfmv+NSW0zOz I6MrKAcnHIOcdPpX
Zh6/M+SW5Mo6XLVFFFdhAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFF FFABRRRQAUUUUAFF
FFABRRRQAyT/AFT/AO6a5u5hZLqT5JRuYsQGjwCTnvID+ldJJ/qn/wB01z07 N583zH/WP39zW9C9
3YzqbEEFr50rpiT5o3X5miwAQQT8rk9D6flWjdAHULfIyPOc4/7ZvWZubdKc nIhkxz/sNWpc/wDI
Qg/66v8A+i3qMVfmVwo2s7GfNrS2senyXUdpbrfzLDbebO4DyMpZVztwCQpx nqeByQK0M3v/AD5W
v/f9v/if881gX9vDcnwdBcxRzQS3jpJHIoZXU2NyCCCMEEcY7+/af+2LPw5r Vr4f1HVYT9rx/Z5n
uAZxnIEUgJ3N90hJf4sbWO8K0nPy6XNrmxm9/wCfK1/7/t/8T/nmjN7/AM+V r/3/AG/+J/zzVTxD
YX2oaekdhLtZJQ0kIuXtvPUAjZ50YLx4ba2VHOzacAnbxx8V6vaRtbaLpcks GmW7S3hurkTfMs80
bqZ55o2RA1vJiQh/lIJRNoWlYDvM3v8Az5Wv/f8Ab/4n/PNGb3/nytf+/wC3 /wAT/nmvPLXxLrem
rfWulabHcQWU17e3LyeWq7WvroBS7zRCIAQsd+2TGclRtwdfVNU1u90ea9tr 21s4Bq8NlBGIHMiM
l+kBZ3Eih0YI5KBV4bbu4Jp8oXOsze/8+Vr/AN/2/wDif880Zvf+fK1/7/t/ 8T/nmrFuJkt4luZY
5JwoDvGhRWbHJCkkqMjpk49eOH9D75/z/L9O2PlVgKmb3/nytf8Av+3/AMT/ AJ5oze/8+Vr/AN/2
/wDif881b6H3z/n+X6dsfKdD75/z/L9O2PlLAVM3v/Pla/8Af9v/AIn/ADzR m9/58rX/AL/t/wDE
/wCeat9D75/z/L9O2PlOh98/5/l+nbHylgKmb3/nytf+/wC3/wAT/nmkLXoG TZW3/f8Ab/4n/PNX
Oh98/wCf5fp2x8o+NreuP8/y/T24LAZ8zMZghxtjvSqgdh5BP8ya4fx1/wAh WD/rgv8A6E1dtL/x
8v8A9hA/+iK4nx1/yFYP+uC/+hNXdgP469DOp8JueC/+QNJ/13P/AKCtdTon /IIt/wDrmv8A6CK5
bwX/AMgaT/ruf/QVrqdE/wCQRb/9c1/9BFZYn+PIcPgRi6nfyW99cf8AEu1S /wATbQLO8SIRqI4z
yHljByWbpnoc44rR0C4a4guHKTxqJhtjnk8x48xoSpbc2SCT0JHocVYudFsL u4aaaFmkbGSsrrnj
HQEDoBU9nZW1hEYraMohbccsWJPTOSSewqLisczJqS6bf6j5gu7p/tohjUS5 ZQ8aSbVBYAAFj07A
E8DIp6ldyT2M0SwX9rbvFNHcCR4pFKSAbmGZhtYbTg8gbm4Oa19Q8I21/qsu oLfX1tPKoEghZCpI
AGcOrYJCqDjAO0elLp/hW2t7tLia+vrvy2ykd1sChweGwqLkjHGcjoRyARUI Uo++/iFOU37qWgzx
Tql5B4SS8077XbXM89miqqR+eolniRlAlygfa5HzcA9abDqV/oej291qEOq3 izzFGF41qLmKRmVI
Y9sIWMq7cbt2VLru+XcU2dX06y1PTZLXUd32XckrMszRFSjB1YOpBUhlByCO lZEOneGWEdubpL4Z
kCR3uoPd5MihGGJXbOVyvsGcDG9s5uST1ZaTZBfeMJdM1mxsZ7FJEkeCC7kt nml+zTysFCFvJEeM
vGfndG2sCE5UNU0zx5eXkVhPdaNBBDcxWVxIYrwyNHHeP5cGAY13NvDbxkBV AILk7RtTeE9Hknhn
lju2aBopMC9nCyPEVKPIofErjYnzOGY7VyTgUQ6BoMEEUKWxWOKK0hQeZIcJ bOZIB1/hYk+/fIou
kBzM3jDUr/SNGkuLJNPfVXsLy1NreNKTCbu1WRJMom0lZ1GBuBBcEjAzr+Ff GUvia4GNIu7a0mt/
tNtcPFMFZMrgOXiRA5DggRtIDhvmwAWTRfB2i6RpFjZzNPey2sVugnnnmfDR Mjgxqzt5Sl40YouF
O1QchRWpp2jaPpU7T2kUiuUMaB5pJFhQkEpErEiJOF+VAo+VePlGC6A3KKg+ 0w/3/wBDR9ph/v8A
6Gi6AnoqD7TD/f8A0NH2mH+/+hougJ6Kg+0w/wB/9DUiSLIuVOR0ougH0UUU wCiiigAqC6/493/D
+dT1Bdf8e7/h/Ok9gMfR/wDW2H/Xk3/tOt/tWBo/+tsP+vJv/adb/alDYbE7 1Bef8ek3+438qn71
Bef8ek3+438qVT4H6AtylJFZNrFtPIU+3pBKkIMmG8otGZMLnkbliycccdM8 0dW0HRryzvItQ3xW
9/cK1xtvJIBNIyLAqsVYZDKEXZ0JxwTWF45ur6PWdItrPULqzEyAM8D4IJvr FN2CCpIWRxyCMMwI
IJBz/EGnxxvqGlm61A6daPpN+xkv52aLddyLNIZS+8II4g3LbU2bxgjdXFGG zuUdwujWf9nRWDie
a3hlSZBPcySvvSQSKS7MWOHUHknpjpxUd9oGm6jcSXNxC4uJEjTz455IpFEZ fbsZGBQ/vZBlSCQ5
ByDiuPMri31+9tdYvZbCG/srWJheM8cVm8do00gfOeY2djKWJUbnUqSzNXm1 KzTUfJstcnk8KGW3
F3ejVZJEjcx3RdTdFy0fzpaZUOPvKMfvCGOR9xHU6foOg/aGhtPtUh0ycq8M t5cPGJmIuNzo7FZH
zMH3kMQSOQVGNZ9LsZri7nlt0ke7gW2uBINyyRKXIUqeMfvH7c7uc8V55oGr abpPiu/uRq0kGgPc
XCi5v7yQxSyGCwMeZJW+clRKUJJymSuVpdM1eyvrmd/EeuXVjYFp2sWuNQms C7fbbtXX76MxVFtx
sbOwbRhd3LcHuB2ieFdIFvdwyRXVwt1A9tKbq9muG8pxh1VpHYoG4ztIztXP 3RiPVdH0OfUoGvhO
Jr+XyfJjuJkhuXEbMRLGjBH/AHcZB3g5VQpyMCuPi1DUJfExjfULaHVBqzR+ U+tTmc24uSAPsAQp
gwDhum0iUsOWCaRc2N3qfgyZtSubnXnnLalC17NKtvMbKcyK8RYxwPvyAm1S NrBRhWAOSW9wO8l0
DTZbH7GYHWIXD3KmKaSORJXZndkkVgykl3+6RwxXocVHbaPo+k3dtLGu27bz YYpZ7l5JZS4VnBZ2
LSNtgTqSQseBgDFctP4hWHSxpsupuNY/4SBUa3ErGeOBtSG3eB8yRGIqAWwp V0A+8oPPatrE9v4f
uWsdZmurhftHm6nZanLPBcsLC8YFRnbDIHQSNEnypmIgnjAqcn1A9Gl8KaTK 25Y7q3cvI7PaXs8D
OXkaRtzRupYb3cgHIXe2MZNS/wDCNaX9v+2+TPu83z/I+1S+R5md2/yN3l7t 3z5253fN97muV8Qr
c6Bf21vbanqJgvbcy6hLPdO52LdWiSSAk4gAimnJMYQKDnjYu254bfTr3X9d s9L1O+vNMawtSsh1
CeZd7vcK7RSs5PRVBZG4ZSMhlOFyyte4G1pMWi2FxDFYXEk8+oW5uI5pbiS6 aaFCoyJXZjsBmUhd
2PnJA5Y0N4T0jyEgWO6hSN2aIwXs8TRKwAMaMrgpF8q/u1IT5V+XgVw/hfSr K6/4RPT47+9RodGu
Vv4ob+TzI51+xh4Wbdvh2tgmNCmCMYwWBgm1a6+1mDUtQgjsIPOhtXv/ABBP pm4x3dzEQJI1JnYR
xwBt5JXg9ZCS+R30YHodzo+jnSotGnUx20sq+UguXjkklVvO3BwwcybkMhbO 4kMxJ5NEPhvToLO4
t0N6PtG0SzHUJ2nIU5VRMX8wKCThQwHzNx8xzzWt2wm0fwbe6/ezxfZ5VOoX a3EtkiFrWUF2IMZj
zJsUbgpG/bgbipoXlxf2+hi8fUJpIbjXryC7e71OS0hgto5boRr5yAmFd6xj cOWJWMnbtUJRfcDt
9P0DTtM0ltIt4HfT2Qxm3uZpJ12bQuweYzYTaMbenXjk1BaeFdJstQjvo4rq W6V1dZrm9nnYFVkR
cGR24CzS8dPnJ64rz99UvFjtRPqVi2iSS3JilbxHcwwKyrb7FF95YeZtzXJC 5K/eGcxYXoor/wAU
R+B55rKO1u2FndyW91DdSzShgZfIWNXh/fjaIgJGI38t82QWbhJddwOiu/DW mXdxNO8M8dxNL5rz
W11LBIWKIhG+NgwUrHHlQdpKKSMjNUzpnhpLb/hFFVLaIOlylpDK8BVnlkmQ xspBB3xSMFU/KE6A
Yri4NTnxM2narbHTwsQvjZa/cakY42uYFZ2lkQfZwsJuOQykjLD/AFe5ZLV9 Om8fRQaNqd9Pp119
mhmmXUJ5RKPI1IkJMzklQVX7jYV1PRlODkdtwOxi8K6Fe2cE0bXU6M6XMN4u p3Dyn5GVSs/mb9m2
R8KG2/Oxx8xrV0/TYNMt2ggkunRn3k3N3LcNnAHDSMxA46Zx19TXmfhmXQ7b T7Gx1nX5rG2g0uzX
y5dbmtvLvMOLmLIlUhkCwZi6R7hhV3nPR/C5tTu/BsOpa3d302qXMswuFumx 5RSaRdgTAC4Oe2ei
52qqqpxaW4Hb0UUVgUBpkP8Ax9y/7ifzapDTIf8Aj7l/3E/m1aUf4sf66Cez LNFFFemQFFFFABRR
RQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAMk/1 b/7prnZ/+Pib/ro/
8zXRSf6t/wDdNc5P/wAfE/8A10f+ZrfDbszqbFbvN/1wk/8AQGrWuf8AkIQf 9dX/APRb1ld5v+uE
n/oDVq3P/IQg/wCur/8Aot6nGfEgo7MzL3QX1O00WOS7ltWsJhK5gdQ7gwyR MgcHKZEh+ZfmGOCD
hlzdI0K80TW7W3s4W/s61WSFLiS4DA2jAMkLZbe0sUuRHkbFiZhneau6tqQt IbyZ0mcQEKiRbgud
obLleRnOB2q9aXCSyYiE4hdN6LOpDpyQQc84PBGfeue0lHmtoa3V7FnUdL03 WLdYNSsLO9hVg6x3
MaSqGxjIDcZwSM/5DJNF0iY2Jl0yyf7Bj7HuijP2bGMeX/cxtX7uPuj0GM3x Hd39jZLc2V3awhWW
MpNZtO0zuypGiYljCkswGWOPmGSoBNVofEjW7w2uoWrtNE0FrfXlsF+zQ3Ug TEYDN5hBMkeCFIG8
ZIw2JuM2pNF0iaS3km0yxlktpWmgZ4IyYpGbczqf4WLfMSMEkZ9MK+jaRLeX V1Lpdi1xdxGG5maG
MvNGQAUdurLgAYPHA9sc83jezW2juP7O1ApcrHJYgCLN6jyRxh0/efKMzRcS bDh+nBxf0vxHbane
fZRa3VvIyyNH5wTEhicRzKNrNgxuwQ5wCeVLLzSuwNyCGG2gigt444YYlCRx x7VVFAAAAHAAA6D0
+mJc854/76H+P+cfTFaijmCxZzznj/vof4/5x9MGec8f99D/AB/zj6YrUUcw WLOec8f99D/H/OPp
gzznj/vof4/5x9MVqKOYLFnPOeP++h/j/nH0wjcg/d5H95f8/wD6vpivRRcL FZ8NO5HQ35I/78Vx
Pjr/AJCsH/XBf/Qmrtf4/wDt/wD/AGhXFeOv+QrB/wBcF/8AQmrvy/8AjL0M 6mxueC/+QNJ/13P/
AKCtdTon/IIt/wDrmv8A6CK5bwX/AMgaT/ruf/QVrqdE/wCQRb/9c1/9BFZY n+PIcPgRo0UUVmMK
pRypDE6ssg+dz8sTH+Jj2Ueh/McnIJu1VtCphYqRjzZBx67znsO//wCs9SAV dXk36NqKIrlvs0nG
wjPysOOOen8vUVz2qeJrKXVBprtG+lsjLdXYcbYpM5UE5wANrBuOCy+jV0ur QfadFvYN0S+ZbyJu
lxsGVI+bOePWvPTopfUY7K1k01NOmBL20Wo5XdnAQNgOu7d0VTjZgEZG2Hy3 al1Gr9DvtLkkfSMy
SNIVaVFd+Syq7BST34A579a5K013VljbUb1rKTTm1OTT1ghhdJo/9KNvG5cu Q/zBcjavDEg/Ltbq
tI09tM0NbNooIdhlIjt/uIGdmAHA6AjnHWsK08Lw2tyzSX97c2v2qS7jspvL 8mOV5DJuG1AzYZiQ
GZgDg4yqkS1ZJDIYvGdi627vaXkUV55TWUjqhF1HJLHEJFAclVBmiJDhWw3A JBAr3nie5TxdHp1j
YXt7HBFcx3MEHkqTIotXVwZHX5Qs5HXOT0OM1YTwZYrCkLXd7JHbxLDYBmT/ AEFFdHUR4QbsNFEf
3m//AFYznLbo4/Boivmv4vEGrJfu0jSXIW2LOHWFSpUw7QALePGAD15OanQC bw/4kbXr/UVhtXfT
4mja1vVCqjo8EMoUgtv3/vSfugYwM5qHXfEc9vMLXTrW6YxajZ2tzeKIvKhM k0O6Mhm3EmOQcqpA
3jkEHFq38LWljbXVrp13e2NrcWotzDBIPkYRrEsquwLhwiIo+bHy5xnJpb3w xDeXzXIv7y3ikuob
ue2i8vy5pYihVmLIXH+qjBCsBhemSSTQCCLxnYutu72l5FFeeU1lI6oRdRyS xxCRQHJVQZoiQ4Vs
NwCQQK954nuU8XR6dY2F7exwRXMdzBB5KkyKLV1cGR1+ULOR1zk9DjNWE8GW KwpC13eyR28Sw2AZ
k/0FFdHUR4QbsNFEf3m//VjOctujj8GiK+a/i8Qasl+7SNJchbYs4dYVKlTD tAAt48YAPXk5o0An
0DxG2u3+oLDau+nxNG1reqFVHR4IZQpBbfv/AHpP3QMYGc11tl/qj/vVzml6 BaaLM39nSTQ2rRJG
bTcGj3IiRq+WBfcEjRfvYwM4ySa6K1dFiIZlB3dzVR3Bluio/Nj/AOei/wDf Qo82P/nov/fQrS5J
JRUfmx/89F
Re: Possible bug: Imposible to add multi-references to a Node with GMF editor while the tree editor [message #47207 is a reply to message #47006] Wed, 13 September 2006 14:00 Go to previous messageGo to next message
Artem Tikhomirov is currently offline Artem TikhomirovFriend
Messages: 222
Registered: July 2009
Senior Member
This is a multi-part message in MIME format.

------=_NextPart_000_0033_01C6D74D.C1514420
Content-Type: text/plain;
charset="ISO-8859-1"
Content-Transfer-Encoding: quoted-printable

https://bugs.eclipse.org/bugs/show_bug.cgi?id=3D141314 ?

Artem
"Cristina" <Cristina.Vicente@upct.es> wrote in message =
news:ee8mr6$1kc$1@utils.eclipse.org...
Hi everybody!!

I have a runtime problem with the GMF graphical editor obtained from a =
very simple metamodel. This problem does not apear when I use the =
tree-editor (directly generated from the genmodel file), so I am afraid =
it is a GMF bug =BF?.=20

The metamodel is very simple:=20

- Three clases: root, A, and B.

- The root class may "contain" any number of A and B nodes.

- A nodes may "reference" any number of B nodes, i.e.: each A node =
has an atribute with a list of the B nodes it is related to.

Please, find enclosed the example I built to explain this problem =
(Doubt.zip).

Files from my GMF Project: Doubt.ecore ( and complementary =
Doubt.ecore_diagram) =3D> Doubt.genmodel (you can generate the model, =
the edit and the editor code from this one) =3D> Doubt.gmfgraph, =
Doubt.gmftool, Doubt.gmfmap =3D> Doubt.gmfgen (you can generate the =
diagram files from this one).=20

Example built using a runtime workspace (select the diagram code =
generated before and run it as an new Eclipse Application): only the =
following two files have been attached to this mail:=20

- Doubt.doubt (can be opened using the tree-editor if it was =
generated from the genmodel file), and=20

- Doubt.doubt_diagram (can be opened using the GMF generated =
graphical editor).

As you can see in the example, I have been able to create different A =
and B nodes. However, it is not possible to add any of the existing B =
node in the "referenceB" atribute of any A node. Actually, all existing =
B nodes appear as candidates when you fold down the "referenceB" =
attribute in an A node, but it is IMPOSIBLE to select any of them since =
they disapear as soon as you change to another property (see =
example1.jpg) Furthermore, if you open the tree editor, then there is no =
problem to fill the referenceB attribute since a new window appears =
showing all the available B nodes so you can select as many as you want =
(see example2.jpg). Then, if you go back to the GMF editor, the B nodes =
will "magically" appear in the referenceB attribute (see example3.jpg) =
but you will not be able to change them :-(.

So... I am afraid this a GMF bug when dealing with attributes =
involving refences with multiplicity greater than 1. In fact, I have =
restricted the model to say that A nodes keep reference to ONLY ONE B =
node and then everything seems to work correctly.

Thank you in advance for any help,

Cristina Vicente

------=_NextPart_000_0033_01C6D74D.C1514420
Content-Type: text/html;
charset="ISO-8859-1"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=3DContent-Type content=3D"text/html; =
charset=3Diso-8859-1">
<META content=3D"MSHTML 6.00.2900.2963" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=3D#ffffff>
<DIV><FONT face=3DArial size=3D2><A=20
href=3D"https://bugs.eclipse.org/bugs/show_bug.cgi?id=3D141314">https://b=
ugs.eclipse.org/bugs/show_bug.cgi?id=3D141314</A>&nbsp;? </FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Artem</FONT></DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; =
BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Cristina" &lt;<A=20
=
href=3D"mailto:Cristina.Vicente@upct.es">Cristina.Vicente@upct.es</A>&gt;=
wrote=20
in message <A=20
=
href=3D"news:ee8mr6$1kc$1@utils.eclipse.org">news:ee8mr6$1kc$1@utils.ecli=
pse.org</A>...</DIV>
<DIV>
<P><FONT face=3DArial size=3D2>Hi everybody!!</FONT></P>
<P><FONT face=3DArial size=3D2>I have a runtime problem with the GMF =
graphical=20
editor obtained from a very simple metamodel. </FONT><FONT =
face=3DArial=20
size=3D2>This problem does not apear when I use the tree-editor =
(directly=20
generated from the genmodel file), so I am afraid it is a GMF bug =
=BF?.=20
</FONT></P>
<P><FONT face=3DArial size=3D2>The metamodel is very =
simple:&nbsp;</FONT></P>
<P><FONT face=3DArial size=3D2>&nbsp;&nbsp;&nbsp; - Three clases: =
root, A, and=20
B.</FONT></P>
<P><FONT face=3DArial size=3D2>&nbsp;&nbsp;&nbsp; - The&nbsp;root =
class may=20
"contain" any number of A and B nodes.</FONT></P>
<P><FONT face=3DArial size=3D2>&nbsp;&nbsp;&nbsp; - A nodes&nbsp;may =
"reference"=20
any number of B nodes, i.e.: each A node has an atribute with a list =
of the B=20
nodes it is related to.</FONT></P>
<P><FONT face=3DArial size=3D2>Please, find enclosed the example I =
built to=20
explain this problem (Doubt.zip).</FONT></P>
<P><FONT face=3DArial size=3D2><STRONG>Files from my GMF=20
Project</STRONG>:&nbsp;Doubt</FONT><FONT face=3DArial size=3D2>.ecore =
( and=20
complementary Doubt.ecore_diagram)&nbsp;=3D</FONT><FONT face=3DArial =
size=3D2>&gt;=20
Doubt.genmodel (you can generate the model, the edit and the editor =
code from=20
this one)&nbsp;</FONT><FONT face=3DArial size=3D2>=3D&gt; =
Doubt.gmfgraph,=20
Doubt.gmftool, Doubt.gmfmap =3D&gt;</FONT><FONT face=3DArial size=3D2> =
Doubt.gmfgen=20
(you can generate&nbsp;the diagram files from this =
one).&nbsp;</FONT></P>
<P><FONT face=3DArial size=3D2><STRONG>Example built using a runtime =
workspace=20
</STRONG>(select the diagram code generated before and run it as an =
new=20
Eclipse Application): only the following two files have been attached =
to this=20
mail: </FONT></P>
<P><FONT face=3DArial size=3D2>&nbsp;&nbsp;&nbsp; - Doubt.doubt (can =
be opened=20
using the tree-editor if it was generated from the genmodel file), and =

</FONT></P>
<P><FONT face=3DArial size=3D2>&nbsp;&nbsp;&nbsp; - =
Doubt.doubt_diagram (can be=20
opened using the GMF generated graphical editor).</FONT></P>
<P><FONT face=3DArial size=3D2>As you can see in the example, =
</FONT><FONT=20
face=3DArial size=3D2>I have been able to create different A and B =
nodes. However,=20
it is not possible to add any of the existing B node in the=20
"referenceB"&nbsp;atribute of any A node. Actually, all existing B =
nodes=20
appear as candidates when you fold down the "referenceB" attribute in =
an A=20
node, but it is IMPOSIBLE to select any of them since they disapear as =
soon as=20
you change to another property (see example1.jpg) Furthermore, if you =
open the=20
tree editor, then there is no problem to fill the referenceB attribute =
since a=20
new window appears showing all the available B nodes so you can select =
as many=20
as you want (see example2.jpg). Then, if you go back to the GMF =
editor, the B=20
nodes will "magically" appear in the referenceB attribute (see =
example3.jpg)=20
but you will not be able to change them :-(.</FONT></P>
<P><FONT face=3DArial size=3D2>So... I am afraid this a GMF bug when =
dealing with=20
<STRONG><U>attributes involving refences with multiplicity greater =
than=20
1</U></STRONG>. In fact, I have restricted the model to say that A =
nodes keep=20
reference to ONLY ONE B node and then everything seems to work=20
correctly.</FONT></P>
<P><FONT face=3DArial size=3D2>Thank you in advance for any =
help,</FONT></P>
<P><FONT face=3DArial size=3D2>Cristina=20
Vicente</FONT></P></DIV></BLOCKQUOTE></BODY></HTML>

------=_NextPart_000_0033_01C6D74D.C1514420--
Re: Possible bug: Imposible to add multi-references to a Node with GMF editor while the tree editor [message #51987 is a reply to message #47207] Wed, 20 September 2006 13:07 Go to previous messageGo to next message
Cristina Missing name is currently offline Cristina Missing nameFriend
Messages: 21
Registered: July 2009
Junior Member
This is a multi-part message in MIME format.

------=_NextPart_000_000F_01C6DCC6.83393E80
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Thank you very much, Artem.
Is this "bug" already fixed in the new GMF 1.0.1 release? And, if not, =
will it be included in a following one?
Thanks in advance for your time and consideration.
Best regards,
Cristina.
"Artem Tikhomirov" <artem.tikhomirov@borland.com> escribi=F3 en el =
mensaje news:ee92og$qok$1@utils.eclipse.org...
https://bugs.eclipse.org/bugs/show_bug.cgi?id=3D141314 ?

Artem
"Cristina" <Cristina.Vicente@upct.es> wrote in message =
news:ee8mr6$1kc$1@utils.eclipse.org...
Hi everybody!!

I have a runtime problem with the GMF graphical editor obtained from =
a very simple metamodel. This problem does not apear when I use the =
tree-editor (directly generated from the genmodel file), so I am afraid =
it is a GMF bug =BF?.=20

The metamodel is very simple:=20

- Three clases: root, A, and B.

- The root class may "contain" any number of A and B nodes.

- A nodes may "reference" any number of B nodes, i.e.: each A =
node has an atribute with a list of the B nodes it is related to.

Please, find enclosed the example I built to explain this problem =
(Doubt.zip).

Files from my GMF Project: Doubt.ecore ( and complementary =
Doubt.ecore_diagram) =3D> Doubt.genmodel (you can generate the model, =
the edit and the editor code from this one) =3D> Doubt.gmfgraph, =
Doubt.gmftool, Doubt.gmfmap =3D> Doubt.gmfgen (you can generate the =
diagram files from this one).=20

Example built using a runtime workspace (select the diagram code =
generated before and run it as an new Eclipse Application): only the =
following two files have been attached to this mail:=20

- Doubt.doubt (can be opened using the tree-editor if it was =
generated from the genmodel file), and=20

- Doubt.doubt_diagram (can be opened using the GMF generated =
graphical editor).

As you can see in the example, I have been able to create different =
A and B nodes. However, it is not possible to add any of the existing B =
node in the "referenceB" atribute of any A node. Actually, all existing =
B nodes appear as candidates when you fold down the "referenceB" =
attribute in an A node, but it is IMPOSIBLE to select any of them since =
they disapear as soon as you change to another property (see =
example1.jpg) Furthermore, if you open the tree editor, then there is no =
problem to fill the referenceB attribute since a new window appears =
showing all the available B nodes so you can select as many as you want =
(see example2.jpg). Then, if you go back to the GMF editor, the B nodes =
will "magically" appear in the referenceB attribute (see example3.jpg) =
but you will not be able to change them :-(.

So... I am afraid this a GMF bug when dealing with attributes =
involving refences with multiplicity greater than 1. In fact, I have =
restricted the model to say that A nodes keep reference to ONLY ONE B =
node and then everything seems to work correctly.

Thank you in advance for any help,

Cristina Vicente

------=_NextPart_000_000F_01C6DCC6.83393E80
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=3DContent-Type content=3D"text/html; =
charset=3Diso-8859-1">
<META content=3D"MSHTML 6.00.2900.2963" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=3D#ffffff>
<DIV><FONT face=3DArial size=3D2>Thank you very much, =
Artem.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>Is this "bug" already fixed in the new =
GMF 1.0.1=20
release? And, if not, will it be included in a following =
one?</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>Thanks in advance for your time and=20
consideration.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>Best regards,</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>Cristina.</FONT></DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; =
BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Artem Tikhomirov" &lt;<A=20
=
href=3D"mailto:artem.tikhomirov@borland.com">artem.tikhomirov@borland.com=
</A>&gt;=20
escribi=F3 en el mensaje <A=20
=
href=3D"news:ee92og$qok$1@utils.eclipse.org">news:ee92og$qok$1@utils.ecli=
pse.org</A>...</DIV>
<DIV><FONT face=3DArial size=3D2><A=20
=
href=3D"https://bugs.eclipse.org/bugs/show_bug.cgi?id=3D141314">https://b=
ugs.eclipse.org/bugs/show_bug.cgi?id=3D141314</A>&nbsp;? </FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Artem</FONT></DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; =
BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Cristina" &lt;<A=20
=
href=3D"mailto:Cristina.Vicente@upct.es">Cristina.Vicente@upct.es</A>&gt;=
=20
wrote in message <A=20
=
href=3D"news:ee8mr6$1kc$1@utils.eclipse.org">news:ee8mr6$1kc$1@utils.ecli=
pse.org</A>...</DIV>
<DIV>
<P><FONT face=3DArial size=3D2>Hi everybody!!</FONT></P>
<P><FONT face=3DArial size=3D2>I have a runtime problem with the GMF =
graphical=20
editor obtained from a very simple metamodel. </FONT><FONT =
face=3DArial=20
size=3D2>This problem does not apear when I use the tree-editor =
(directly=20
generated from the genmodel file), so I am afraid it is a GMF bug =
=BF?.=20
</FONT></P>
<P><FONT face=3DArial size=3D2>The metamodel is very =
simple:&nbsp;</FONT></P>
<P><FONT face=3DArial size=3D2>&nbsp;&nbsp;&nbsp; - Three clases: =
root, A, and=20
B.</FONT></P>
<P><FONT face=3DArial size=3D2>&nbsp;&nbsp;&nbsp; - The&nbsp;root =
class may=20
"contain" any number of A and B nodes.</FONT></P>
<P><FONT face=3DArial size=3D2>&nbsp;&nbsp;&nbsp; - A nodes&nbsp;may =
"reference"=20
any number of B nodes, i.e.: each A node has an atribute with a list =
of the=20
B nodes it is related to.</FONT></P>
<P><FONT face=3DArial size=3D2>Please, find enclosed the example I =
built to=20
explain this problem (Doubt.zip).</FONT></P>
<P><FONT face=3DArial size=3D2><STRONG>Files from my GMF=20
Project</STRONG>:&nbsp;Doubt</FONT><FONT face=3DArial =
size=3D2>.ecore ( and=20
complementary Doubt.ecore_diagram)&nbsp;=3D</FONT><FONT face=3DArial =
size=3D2>&gt;=20
Doubt.genmodel (you can generate the model, the edit and the editor =
code=20
from this one)&nbsp;</FONT><FONT face=3DArial size=3D2>=3D&gt; =
Doubt.gmfgraph,=20
Doubt.gmftool, Doubt.gmfmap =3D&gt;</FONT><FONT face=3DArial =
size=3D2>=20
Doubt.gmfgen (you can generate&nbsp;the diagram files from this=20
one).&nbsp;</FONT></P>
<P><FONT face=3DArial size=3D2><STRONG>Example built using a runtime =
workspace=20
</STRONG>(select the diagram code generated before and run it as an =
new=20
Eclipse Application): only the following two files have been =
attached to=20
this mail: </FONT></P>
<P><FONT face=3DArial size=3D2>&nbsp;&nbsp;&nbsp; - Doubt.doubt (can =
be opened=20
using the tree-editor if it was generated from the genmodel file), =
and=20
</FONT></P>
<P><FONT face=3DArial size=3D2>&nbsp;&nbsp;&nbsp; - =
Doubt.doubt_diagram (can be=20
opened using the GMF generated graphical editor).</FONT></P>
<P><FONT face=3DArial size=3D2>As you can see in the example, =
</FONT><FONT=20
face=3DArial size=3D2>I have been able to create different A and B =
nodes.=20
However, it is not possible to add any of the existing B node in the =

"referenceB"&nbsp;atribute of any A node. Actually, all existing B =
nodes=20
appear as candidates when you fold down the "referenceB" attribute =
in an A=20
node, but it is IMPOSIBLE to select any of them since they disapear =
as soon=20
as you change to another property (see example1.jpg) Furthermore, if =
you=20
open the tree editor, then there is no problem to fill the =
referenceB=20
attribute since a new window appears showing all the available B =
nodes so=20
you can select as many as you want (see example2.jpg). Then, if you =
go back=20
to the GMF editor, the B nodes will "magically" appear in the =
referenceB=20
attribute (see example3.jpg) but you will not be able to change them =

:-(.</FONT></P>
<P><FONT face=3DArial size=3D2>So... I am afraid this a GMF bug when =
dealing=20
with <STRONG><U>attributes involving refences with multiplicity =
greater than=20
1</U></STRONG>. In fact, I have restricted the model to say that A =
nodes=20
keep reference to ONLY ONE B node and then everything seems to work=20
correctly.</FONT></P>
<P><FONT face=3DArial size=3D2>Thank you in advance for any =
help,</FONT></P>
<P><FONT face=3DArial size=3D2>Cristina=20
Vicente</FONT></P></DIV></BLOCKQUOTE></BLOCKQUOTE></BODY ></HTML>

------=_NextPart_000_000F_01C6DCC6.83393E80--
Re: Possible bug: Imposible to add multi-references to a Node with GMF editor while the tree editor [message #52012 is a reply to message #51987] Wed, 20 September 2006 14:02 Go to previous messageGo to next message
Artem Tikhomirov is currently offline Artem TikhomirovFriend
Messages: 222
Registered: July 2009
Senior Member
This is a multi-part message in MIME format.

------=_NextPart_000_00B0_01C6DCCE.3E56AFC0
Content-Type: text/plain;
charset="ISO-8859-1"
Content-Transfer-Encoding: quoted-printable

Yep, it's fixed in 1.0.1 stream (there was no 1.0.1 release yet).
"Cristina" <Cristina.Vicente@upct.es> wrote in message =
news:eeref5$d07$1@utils.eclipse.org...
Thank you very much, Artem.
Is this "bug" already fixed in the new GMF 1.0.1 release? And, if not, =
will it be included in a following one?
Thanks in advance for your time and consideration.
Best regards,
Cristina.
"Artem Tikhomirov" <artem.tikhomirov@borland.com> escribi=F3 en el =
mensaje news:ee92og$qok$1@utils.eclipse.org...
https://bugs.eclipse.org/bugs/show_bug.cgi?id=3D141314 ?

Artem
"Cristina" <Cristina.Vicente@upct.es> wrote in message =
news:ee8mr6$1kc$1@utils.eclipse.org...
Hi everybody!!

I have a runtime problem with the GMF graphical editor obtained =
from a very simple metamodel. This problem does not apear when I use the =
tree-editor (directly generated from the genmodel file), so I am afraid =
it is a GMF bug =BF?.=20

The metamodel is very simple:=20

- Three clases: root, A, and B.

- The root class may "contain" any number of A and B nodes.

- A nodes may "reference" any number of B nodes, i.e.: each A =
node has an atribute with a list of the B nodes it is related to.

Please, find enclosed the example I built to explain this problem =
(Doubt.zip).

Files from my GMF Project: Doubt.ecore ( and complementary =
Doubt.ecore_diagram) =3D> Doubt.genmodel (you can generate the model, =
the edit and the editor code from this one) =3D> Doubt.gmfgraph, =
Doubt.gmftool, Doubt.gmfmap =3D> Doubt.gmfgen (you can generate the =
diagram files from this one).=20

Example built using a runtime workspace (select the diagram code =
generated before and run it as an new Eclipse Application): only the =
following two files have been attached to this mail:=20

- Doubt.doubt (can be opened using the tree-editor if it was =
generated from the genmodel file), and=20

- Doubt.doubt_diagram (can be opened using the GMF generated =
graphical editor).

As you can see in the example, I have been able to create =
different A and B nodes. However, it is not possible to add any of the =
existing B node in the "referenceB" atribute of any A node. Actually, =
all existing B nodes appear as candidates when you fold down the =
"referenceB" attribute in an A node, but it is IMPOSIBLE to select any =
of them since they disapear as soon as you change to another property =
(see example1.jpg) Furthermore, if you open the tree editor, then there =
is no problem to fill the referenceB attribute since a new window =
appears showing all the available B nodes so you can select as many as =
you want (see example2.jpg). Then, if you go back to the GMF editor, the =
B nodes will "magically" appear in the referenceB attribute (see =
example3.jpg) but you will not be able to change them :-(.

So... I am afraid this a GMF bug when dealing with attributes =
involving refences with multiplicity greater than 1. In fact, I have =
restricted the model to say that A nodes keep reference to ONLY ONE B =
node and then everything seems to work correctly.

Thank you in advance for any help,

Cristina Vicente

------=_NextPart_000_00B0_01C6DCCE.3E56AFC0
Content-Type: text/html;
charset="ISO-8859-1"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=3DContent-Type content=3D"text/html; =
charset=3Diso-8859-1">
<META content=3D"MSHTML 6.00.2900.2963" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=3D#ffffff>
<DIV><FONT face=3DArial size=3D2>Yep, it's fixed in 1.0.1 =
stream&nbsp;(there was no=20
1.0.1 <EM>release</EM> yet).</FONT></DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; =
BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Cristina" &lt;<A=20
=
href=3D"mailto:Cristina.Vicente@upct.es">Cristina.Vicente@upct.es</A>&gt;=
wrote=20
in message <A=20
=
href=3D"news:eeref5$d07$1@utils.eclipse.org">news:eeref5$d07$1@utils.ecli=
pse.org</A>...</DIV>
<DIV><FONT face=3DArial size=3D2>Thank you very much, =
Artem.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>Is this "bug" already fixed in the =
new GMF 1.0.1=20
release? And, if not, will it be included in a following =
one?</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>Thanks in advance for your time and=20
consideration.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>Best regards,</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>Cristina.</FONT></DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; =
BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Artem Tikhomirov" &lt;<A=20
=
href=3D"mailto:artem.tikhomirov@borland.com">artem.tikhomirov@borland.com=
</A>&gt;=20
escribi=F3 en el mensaje <A=20
=
href=3D"news:ee92og$qok$1@utils.eclipse.org">news:ee92og$qok$1@utils.ecli=
pse.org</A>...</DIV>
<DIV><FONT face=3DArial size=3D2><A=20
=
href=3D"https://bugs.eclipse.org/bugs/show_bug.cgi?id=3D141314">https://b=
ugs.eclipse.org/bugs/show_bug.cgi?id=3D141314</A>&nbsp;? </FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Artem</FONT></DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; =
BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Cristina" &lt;<A=20
=
href=3D"mailto:Cristina.Vicente@upct.es">Cristina.Vicente@upct.es</A>&gt;=
=20
wrote in message <A=20
=
href=3D"news:ee8mr6$1kc$1@utils.eclipse.org">news:ee8mr6$1kc$1@utils.ecli=
pse.org</A>...</DIV>
<DIV>
<P><FONT face=3DArial size=3D2>Hi everybody!!</FONT></P>
<P><FONT face=3DArial size=3D2>I have a runtime problem with the =
GMF graphical=20
editor obtained from a very simple metamodel. </FONT><FONT =
face=3DArial=20
size=3D2>This problem does not apear when I use the tree-editor =
(directly=20
generated from the genmodel file), so I am afraid it is a GMF bug =
=BF?.=20
</FONT></P>
<P><FONT face=3DArial size=3D2>The metamodel is very =
simple:&nbsp;</FONT></P>
<P><FONT face=3DArial size=3D2>&nbsp;&nbsp;&nbsp; - Three clases: =
root, A, and=20
B.</FONT></P>
<P><FONT face=3DArial size=3D2>&nbsp;&nbsp;&nbsp; - The&nbsp;root =
class may=20
"contain" any number of A and B nodes.</FONT></P>
<P><FONT face=3DArial size=3D2>&nbsp;&nbsp;&nbsp; - A =
nodes&nbsp;may=20
"reference" any number of B nodes, i.e.: each A node has an =
atribute with=20
a list of the B nodes it is related to.</FONT></P>
<P><FONT face=3DArial size=3D2>Please, find enclosed the example I =
built to=20
explain this problem (Doubt.zip).</FONT></P>
<P><FONT face=3DArial size=3D2><STRONG>Files from my GMF=20
Project</STRONG>:&nbsp;Doubt</FONT><FONT face=3DArial =
size=3D2>.ecore ( and=20
complementary Doubt.ecore_diagram)&nbsp;=3D</FONT><FONT =
face=3DArial=20
size=3D2>&gt; Doubt.genmodel (you can generate the model, the edit =
and the=20
editor code from this one)&nbsp;</FONT><FONT face=3DArial =
size=3D2>=3D&gt;=20
Doubt.gmfgraph, Doubt.gmftool, Doubt.gmfmap =3D&gt;</FONT><FONT =
face=3DArial=20
size=3D2> Doubt.gmfgen (you can generate&nbsp;the diagram files =
from this=20
one).&nbsp;</FONT></P>
<P><FONT face=3DArial size=3D2><STRONG>Example built using a =
runtime workspace=20
</STRONG>(select the diagram code generated before and run it as =
an new=20
Eclipse Application): only the following two files have been =
attached to=20
this mail: </FONT></P>
<P><FONT face=3DArial size=3D2>&nbsp;&nbsp;&nbsp; - Doubt.doubt =
(can be opened=20
using the tree-editor if it was generated from the genmodel file), =
and=20
</FONT></P>
<P><FONT face=3DArial size=3D2>&nbsp;&nbsp;&nbsp; - =
Doubt.doubt_diagram (can=20
be opened using the GMF generated graphical editor).</FONT></P>
<P><FONT face=3DArial size=3D2>As you can see in the example, =
</FONT><FONT=20
face=3DArial size=3D2>I have been able to create different A and B =
nodes.=20
However, it is not possible to add any of the existing B node in =
the=20
"referenceB"&nbsp;atribute of any A node. Actually, all existing B =
nodes=20
appear as candidates when you fold down the "referenceB" attribute =
in an A=20
node, but it is IMPOSIBLE to select any of them since they =
disapear as=20
soon as you change to another property (see example1.jpg) =
Furthermore, if=20
you open the tree editor, then there is no problem to fill the =
referenceB=20
attribute since a new window appears showing all the available B =
nodes so=20
you can select as many as you want (see example2.jpg). Then, if =
you go=20
back to the GMF editor, the B nodes will "magically" appear in the =

referenceB attribute (see example3.jpg) but you will not be able =
to change=20
them :-(.</FONT></P>
<P><FONT face=3DArial size=3D2>So... I am afraid this a GMF bug =
when dealing=20
with <STRONG><U>attributes involving refences with multiplicity =
greater=20
than 1</U></STRONG>. In fact, I have restricted the model to say =
that A=20
nodes keep reference to ONLY ONE B node and then everything seems =
to work=20
correctly.</FONT></P>
<P><FONT face=3DArial size=3D2>Thank you in advance for any =
help,</FONT></P>
<P><FONT face=3DArial size=3D2>Cristina=20
=
Vicente</FONT></P></DIV></BLOCKQUOTE></BLOCKQUOTE></BLOCKQUOTE ></BODY></H=
TML>

------=_NextPart_000_00B0_01C6DCCE.3E56AFC0--
Re: Possible bug: Imposible to add multi-references to a Node with GMF editor while the tree editor [message #52092 is a reply to message #52012] Wed, 20 September 2006 14:22 Go to previous message
Cristina Missing name is currently offline Cristina Missing nameFriend
Messages: 21
Registered: July 2009
Junior Member
This is a multi-part message in MIME format.

------=_NextPart_000_00A7_01C6DCD0.EAAF67B0
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Good to know ;D. Thanks again, Artem.
All the best,
Cristina
"Artem Tikhomirov" <artem.tikhomirov@borland.com> escribi=F3 en el =
mensaje news:eerhgp$14h$1@utils.eclipse.org...
Yep, it's fixed in 1.0.1 stream (there was no 1.0.1 release yet).
"Cristina" <Cristina.Vicente@upct.es> wrote in message =
news:eeref5$d07$1@utils.eclipse.org...
Thank you very much, Artem.
Is this "bug" already fixed in the new GMF 1.0.1 release? And, if =
not, will it be included in a following one?
Thanks in advance for your time and consideration.
Best regards,
Cristina.
"Artem Tikhomirov" <artem.tikhomirov@borland.com> escribi=F3 en el =
mensaje news:ee92og$qok$1@utils.eclipse.org...
https://bugs.eclipse.org/bugs/show_bug.cgi?id=3D141314 ?

Artem
"Cristina" <Cristina.Vicente@upct.es> wrote in message =
news:ee8mr6$1kc$1@utils.eclipse.org...
Hi everybody!!

I have a runtime problem with the GMF graphical editor obtained =
from a very simple metamodel. This problem does not apear when I use the =
tree-editor (directly generated from the genmodel file), so I am afraid =
it is a GMF bug =BF?.=20

The metamodel is very simple:=20

- Three clases: root, A, and B.

- The root class may "contain" any number of A and B nodes.

- A nodes may "reference" any number of B nodes, i.e.: each =
A node has an atribute with a list of the B nodes it is related to.

Please, find enclosed the example I built to explain this =
problem (Doubt.zip).

Files from my GMF Project: Doubt.ecore ( and complementary =
Doubt.ecore_diagram) =3D> Doubt.genmodel (you can generate the model, =
the edit and the editor code from this one) =3D> Doubt.gmfgraph, =
Doubt.gmftool, Doubt.gmfmap =3D> Doubt.gmfgen (you can generate the =
diagram files from this one).=20

Example built using a runtime workspace (select the diagram code =
generated before and run it as an new Eclipse Application): only the =
following two files have been attached to this mail:=20

- Doubt.doubt (can be opened using the tree-editor if it was =
generated from the genmodel file), and=20

- Doubt.doubt_diagram (can be opened using the GMF generated =
graphical editor).

As you can see in the example, I have been able to create =
different A and B nodes. However, it is not possible to add any of the =
existing B node in the "referenceB" atribute of any A node. Actually, =
all existing B nodes appear as candidates when you fold down the =
"referenceB" attribute in an A node, but it is IMPOSIBLE to select any =
of them since they disapear as soon as you change to another property =
(see example1.jpg) Furthermore, if you open the tree editor, then there =
is no problem to fill the referenceB attribute since a new window =
appears showing all the available B nodes so you can select as many as =
you want (see example2.jpg). Then, if you go back to the GMF editor, the =
B nodes will "magically" appear in the referenceB attribute (see =
example3.jpg) but you will not be able to change them :-(.

So... I am afraid this a GMF bug when dealing with attributes =
involving refences with multiplicity greater than 1. In fact, I have =
restricted the model to say that A nodes keep reference to ONLY ONE B =
node and then everything seems to work correctly.

Thank you in advance for any help,

Cristina Vicente

------=_NextPart_000_00A7_01C6DCD0.EAAF67B0
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=3DContent-Type content=3D"text/html; =
charset=3Diso-8859-1">
<META content=3D"MSHTML 6.00.2900.2963" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=3D#ffffff>
<DIV><FONT face=3DArial size=3D2>Good to know ;D. </FONT><FONT =
face=3DArial=20
size=3D2>Thanks again, Artem.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>All the best,</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>Cristina</FONT></DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; =
BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Artem Tikhomirov" &lt;<A=20
=
href=3D"mailto:artem.tikhomirov@borland.com">artem.tikhomirov@borland.com=
</A>&gt;=20
escribi=F3 en el mensaje <A=20
=
href=3D"news:eerhgp$14h$1@utils.eclipse.org">news:eerhgp$14h$1@utils.ecli=
pse.org</A>...</DIV>
<DIV><FONT face=3DArial size=3D2>Yep, it's fixed in 1.0.1 =
stream&nbsp;(there was=20
no 1.0.1 <EM>release</EM> yet).</FONT></DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; =
BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Cristina" &lt;<A=20
=
href=3D"mailto:Cristina.Vicente@upct.es">Cristina.Vicente@upct.es</A>&gt;=
=20
wrote in message <A=20
=
href=3D"news:eeref5$d07$1@utils.eclipse.org">news:eeref5$d07$1@utils.ecli=
pse.org</A>...</DIV>
<DIV><FONT face=3DArial size=3D2>Thank you very much, =
Artem.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>Is this "bug" already fixed in the =
new GMF=20
1.0.1 release? And, if not, will it be included in a following=20
one?</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>Thanks in advance for your time and =

consideration.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>Best regards,</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>Cristina.</FONT></DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; =
BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Artem Tikhomirov" &lt;<A=20
=
href=3D"mailto:artem.tikhomirov@borland.com">artem.tikhomirov@borland.com=
</A>&gt;=20
escribi=F3 en el mensaje <A=20
=
href=3D"news:ee92og$qok$1@utils.eclipse.org">news:ee92og$qok$1@utils.ecli=
pse.org</A>...</DIV>
<DIV><FONT face=3DArial size=3D2><A=20
=
href=3D"https://bugs.eclipse.org/bugs/show_bug.cgi?id=3D141314">https://b=
ugs.eclipse.org/bugs/show_bug.cgi?id=3D141314</A>&nbsp;? </FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Artem</FONT></DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; =
BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Cristina" &lt;<A=20
=
href=3D"mailto:Cristina.Vicente@upct.es">Cristina.Vicente@upct.es</A>&gt;=
=20
wrote in message <A=20
=
href=3D"news:ee8mr6$1kc$1@utils.eclipse.org">news:ee8mr6$1kc$1@utils.ecli=
pse.org</A>...</DIV>
<DIV>
<P><FONT face=3DArial size=3D2>Hi everybody!!</FONT></P>
<P><FONT face=3DArial size=3D2>I have a runtime problem with the =
GMF=20
graphical editor obtained from a very simple metamodel. =
</FONT><FONT=20
face=3DArial size=3D2>This problem does not apear when I use the =
tree-editor=20
(directly generated from the genmodel file), so I am afraid it =
is a GMF=20
bug =BF?. </FONT></P>
<P><FONT face=3DArial size=3D2>The metamodel is very=20
simple:&nbsp;</FONT></P>
<P><FONT face=3DArial size=3D2>&nbsp;&nbsp;&nbsp; - Three =
clases: root, A,=20
and B.</FONT></P>
<P><FONT face=3DArial size=3D2>&nbsp;&nbsp;&nbsp; - =
The&nbsp;root class may=20
"contain" any number of A and B nodes.</FONT></P>
<P><FONT face=3DArial size=3D2>&nbsp;&nbsp;&nbsp; - A =
nodes&nbsp;may=20
"reference" any number of B nodes, i.e.: each A node has an =
atribute=20
with a list of the B nodes it is related to.</FONT></P>
<P><FONT face=3DArial size=3D2>Please, find enclosed the example =
I built to=20
explain this problem (Doubt.zip).</FONT></P>
<P><FONT face=3DArial size=3D2><STRONG>Files from my GMF=20
Project</STRONG>:&nbsp;Doubt</FONT><FONT face=3DArial =
size=3D2>.ecore ( and=20
complementary Doubt.ecore_diagram)&nbsp;=3D</FONT><FONT =
face=3DArial=20
size=3D2>&gt; Doubt.genmodel (you can generate the model, the =
edit and the=20
editor code from this one)&nbsp;</FONT><FONT face=3DArial =
size=3D2>=3D&gt;=20
Doubt.gmfgraph, Doubt.gmftool, Doubt.gmfmap =3D&gt;</FONT><FONT =
face=3DArial=20
size=3D2> Doubt.gmfgen (you can generate&nbsp;the diagram files =
from this=20
one).&nbsp;</FONT></P>
<P><FONT face=3DArial size=3D2><STRONG>Example built using a =
runtime=20
workspace </STRONG>(select the diagram code generated before and =
run it=20
as an new Eclipse Application): only the following two files =
have been=20
attached to this mail: </FONT></P>
<P><FONT face=3DArial size=3D2>&nbsp;&nbsp;&nbsp; - Doubt.doubt =
(can be=20
opened using the tree-editor if it was generated from the =
genmodel=20
file), and </FONT></P>
<P><FONT face=3DArial size=3D2>&nbsp;&nbsp;&nbsp; - =
Doubt.doubt_diagram (can=20
be opened using the GMF generated graphical editor).</FONT></P>
<P><FONT face=3DArial size=3D2>As you can see in the example, =
</FONT><FONT=20
face=3DArial size=3D2>I have been able to create different A and =
B nodes.=20
However, it is not possible to add any of the existing B node in =
the=20
"referenceB"&nbsp;atribute of any A node. Actually, all existing =
B nodes=20
appear as candidates when you fold down the "referenceB" =
attribute in an=20
A node, but it is IMPOSIBLE to select any of them since they =
disapear as=20
soon as you change to another property (see example1.jpg) =
Furthermore,=20
if you open the tree editor, then there is no problem to fill =
the=20
referenceB attribute since a new window appears showing all the=20
available B nodes so you can select as many as you want (see=20
example2.jpg). Then, if you go back to the GMF editor, the B =
nodes will=20
"magically" appear in the referenceB attribute (see =
example3.jpg) but=20
you will not be able to change them :-(.</FONT></P>
<P><FONT face=3DArial size=3D2>So... I am afraid this a GMF bug =
when dealing=20
with <STRONG><U>attributes involving refences with multiplicity =
greater=20
than 1</U></STRONG>. In fact, I have restricted the model to say =
that A=20
nodes keep reference to ONLY ONE B node and then everything =
seems to=20
work correctly.</FONT></P>
<P><FONT face=3DArial size=3D2>Thank you in advance for any =
help,</FONT></P>
<P><FONT face=3DArial size=3D2>Cristina=20
=
Vicente</FONT></P></DIV></BLOCKQUOTE></BLOCKQUOTE></BLOCKQUOTE ></BLOCKQUO=
TE></BODY></HTML>

------=_NextPart_000_00A7_01C6DCD0.EAAF67B0--
Previous Topic:Custom properties in diagram
Next Topic:injecting layout information to an ecore model to generate a diagram
Goto Forum:
  


Current Time: Sat Oct 19 14:58:35 GMT 2024

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

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

Back to the top