From lifuqiong at cncloudsec.com Tue Aug 2 03:41:44 2016 Content-Type: multipart/mixed; boundary="===============1031403838802347397==" MIME-Version: 1.0 From: lifuqiong To: devel at ovirt.org Subject: [ovirt-devel] How to add ovs-based VM in version 4.0.2? Thank you Date: Tue, 02 Aug 2016 15:36:39 +0800 Message-ID: <00d201d1ec90$9c0082e0$d40188a0$@cncloudsec.com> --===============1031403838802347397== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable This is a multipart message in MIME format. ------=3D_NextPart_000_00D3_01D1ECD3.AA2633E0 Content-Type: text/plain; charset=3D"UTF-8" Content-Transfer-Encoding: quoted-printable I create a cluster which already enabled ovs network as you mentioned , =3D but when I create vm in this cluster, I can only using =3D ovirtmgmt/ovirtmgmt vNIC profile, which is still a Linux bridge. I found no way to add a OVS vNIC profile, I have to chose =3D ovirtmgmt/ovirtmgmt vNIC to setup a VM. After VM is started, the vm is =3D still using Linux bridge to communicate with outside, not the ovs. =3D20 Need I to create a ovs bridge or vport and bind it to physical NIC in =3D vdsm manually? =3D20 Hope your reply as soon as possible. Thank you Mark =3D20 =3DE5=3D8F=3D91=3DE4=3DBB=3DB6=3DE4=3DBA=3DBA: users-bounces(a)ovirt.org = =3D [mailto:users-bounces(a)ovirt.org] =3DE4=3DBB=3DA3=3DE8=3DA1=3DA8 Meni Yako= ve =3DE5=3D8F=3D91=3DE9=3D80=3D81=3DE6=3D97=3DB6=3DE9=3D97=3DB4: 2016=3DE5=3DB= 9=3DB48=3DE6=3D9C=3D881=3DE6=3D97=3DA5 =3D 16:42 =3DE6=3D94=3DB6=3DE4=3DBB=3DB6=3DE4=3DBA=3DBA: Dan Kenigsberg =3DE4=3DB8=3DBB=3DE9=3DA2=3D98: Re: [ovirt-users] [ovirt-devel] How to add = ovs-based =3D VM in version 4.0.2? Thank you =3D20 On Mon, Aug 1, 2016 at 11:07 AM, Dan Kenigsberg =3D wrote: On Mon, Aug 01, 2016 at 02:02:52PM +0800, lifuqiong wrote: > Hi, I upgrade my ovirt to version 4.0.2.2, how to using ovs in this =3D version? > Is there any instruction? Thank you Please note and note well: OVS is not production-grade yet. It is only a preliminary tech preview, under active development. However, we'd be very happy to get your help in testing it (and possibly fixing it, too). When defining a new cluster, you should see a check box, letting you select OVS for that cluster.=3D20 =3D20 To be precise, this is not a check box. In the Edit Cluster dialog, look = =3D at the "switch=3D20 type" option, and change "LEGACY" to "OVS". =3D20 =3D20 =3D20 After being checked, each VM network that is defined in your cluster would be implemented with OVS instead of Linux bridge. As aluded before, there are plenty of known definciencies (e.g., no persistence of ip config on VM network, no live migration, not all bond modes, etc etc). But do not hesitate to raise other issues with the devel mailing list. Happy testing! Dan. _______________________________________________ Devel mailing list Devel(a)ovirt.org http://lists.ovirt.org/mailman/listinfo/devel =3D20 =3D20 ------=3D_NextPart_000_00D3_01D1ECD3.AA2633E0 Content-Type: text/html; charset=3D"UTF-8" Content-Transfer-Encoding: quoted-printable

I create a cluster which already enabled ovs network as you mentioned = =3D , but when I create vm in this cluster,  I can only using =3D ovirtmgmt/ovirtmgmt vNIC profile, which is still a Linux =3D bridge.

I found no way to add a OVS vNIC profile,  I have to chose =3D ovirtmgmt/ovirtmgmt vNIC to setup a VM. After VM is started, the vm is =3D still using Linux bridge to communicate with outside, not the =3D ovs.

 

Need I to create a ovs bridge or vport and bind it to physical NIC in = =3D vdsm manually?

 

Hope your reply as soon as possible.

Thank you

Mark

 

=3DE5=3D8F=3D91=3DE4=3DBB=3DB6=3DE4=3DBA=3DBA<= span =3D lang=3D3DEN-US>: users-bounces(a)ovirt.org [mailto:users-bounces(a)ovirt.org] =3DE4=3DBB=3DA3=3DE8=3DA1=3DA8 Meni Yakove
=3DE5=3D8F=3D91=3DE9=3D80=3D81=3DE6=3D97=3DB6= =3DE9=3D97=3DB4: 2016=3DE5=3DB9=3DB48=3DE6=3D9C=3D881=3DE6=3D= 97=3DA5 16:42
=3DE6=3D94=3DB6=3DE4=3DBB=3DB6=3DE4=3DBA= =3DBA: Dan =3D Kenigsberg
=3DE4=3DB8=3DBB=3DE9=3DA2=3D98: Re: [ovirt-users] =3D [ovirt-devel] How to add ovs-based VM in version 4.0.2? Thank =3D you

 

On Mon, Aug 1, 2016 at 11:07 AM, Dan Kenigsberg <danken(a)redhat.com> =3D wrote:

On Mon, Aug 01, 2016 at 02:02:52PM +0800, lifuqiong =3D wrote:
> Hi, I upgrade my ovirt to version 4.0.2.2, how to using =3D ovs in this version?
> Is there any instruction? Thank =3D you

Please note and note well: OVS is not production-grade yet. =3D It is only a
preliminary tech preview, under active =3D development.

However, we'd be very happy to get your help in =3D testing it (and possibly
fixing it, too).

When defining a new =3D cluster, you should see a check box, letting you
select OVS for that =3D cluster.

 

To be precise, this is not a check box. In the Edit Cluster = =3D dialog, look at the =3D "switch 

type" option, and change "LEGACY" to =3D "OVS".

 

 

 

After being checked, each VM network that
is defined in = =3D your cluster would be implemented with OVS instead of
Linux =3D bridge.

As aluded before, there are plenty of known definciencies = =3D (e.g., no
persistence of ip config on VM network, no live migration, =3D not all bond
modes, etc etc). But do not hesitate to raise other =3D issues with the
devel mailing list.

Happy =3D testing!

Dan.
_______________________________________________Devel mailing list
Devel(a)ovirt.org
http://lists.ovirt.org/mailman/listinfo/devel<= =3D /o:p>

 

 

------=3D_NextPart_000_00D3_01D1ECD3.AA2633E0-- --===============1031403838802347397== Content-Type: multipart/alternative MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.bin" VGhpcyBpcyBhIG11bHRpcGFydCBtZXNzYWdlIGluIE1JTUUgZm9ybWF0LgoKLS0tLS0tPV9OZXh0 UGFydF8wMDBfMDBEM18wMUQxRUNEMy5BQTI2MzNFMApDb250ZW50LVR5cGU6IHRleHQvcGxhaW47 CgljaGFyc2V0PSJVVEYtOCIKQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogcXVvdGVkLXByaW50 YWJsZQoKSSBjcmVhdGUgYSBjbHVzdGVyIHdoaWNoIGFscmVhZHkgZW5hYmxlZCBvdnMgbmV0d29y ayBhcyB5b3UgbWVudGlvbmVkICwgPQpidXQgd2hlbiBJIGNyZWF0ZSB2bSBpbiB0aGlzIGNsdXN0 ZXIsICBJIGNhbiBvbmx5IHVzaW5nID0Kb3ZpcnRtZ210L292aXJ0bWdtdCB2TklDIHByb2ZpbGUs IHdoaWNoIGlzIHN0aWxsIGEgTGludXggYnJpZGdlLgoKSSBmb3VuZCBubyB3YXkgdG8gYWRkIGEg T1ZTIHZOSUMgcHJvZmlsZSwgIEkgaGF2ZSB0byBjaG9zZSA9Cm92aXJ0bWdtdC9vdmlydG1nbXQg dk5JQyB0byBzZXR1cCBhIFZNLiBBZnRlciBWTSBpcyBzdGFydGVkLCB0aGUgdm0gaXMgPQpzdGls bCB1c2luZyBMaW51eCBicmlkZ2UgdG8gY29tbXVuaWNhdGUgd2l0aCBvdXRzaWRlLCBub3QgdGhl IG92cy4KCj0yMAoKTmVlZCBJIHRvIGNyZWF0ZSBhIG92cyBicmlkZ2Ugb3IgdnBvcnQgYW5kIGJp bmQgaXQgdG8gcGh5c2ljYWwgTklDIGluID0KdmRzbSBtYW51YWxseT8KCj0yMAoKSG9wZSB5b3Vy IHJlcGx5IGFzIHNvb24gYXMgcG9zc2libGUuCgpUaGFuayB5b3UKCk1hcmsKCj0yMAoKPUU1PThG PTkxPUU0PUJCPUI2PUU0PUJBPUJBOiB1c2Vycy1ib3VuY2VzQG92aXJ0Lm9yZyA9ClttYWlsdG86 dXNlcnMtYm91bmNlc0BvdmlydC5vcmddID1FND1CQj1BMz1FOD1BMT1BOCBNZW5pIFlha292ZQo9 RTU9OEY9OTE9RTk9ODA9ODE9RTY9OTc9QjY9RTk9OTc9QjQ6IDIwMTY9RTU9Qjk9QjQ4PUU2PTlD PTg4MT1FNj05Nz1BNSA9CjE2OjQyCj1FNj05ND1CNj1FND1CQj1CNj1FND1CQT1CQTogRGFuIEtl bmlnc2JlcmcKPUU0PUI4PUJCPUU5PUEyPTk4OiBSZTogW292aXJ0LXVzZXJzXSBbb3ZpcnQtZGV2 ZWxdIEhvdyB0byBhZGQgb3ZzLWJhc2VkID0KVk0gaW4gdmVyc2lvbiA0LjAuMj8gVGhhbmsgeW91 Cgo9MjAKCk9uIE1vbiwgQXVnIDEsIDIwMTYgYXQgMTE6MDcgQU0sIERhbiBLZW5pZ3NiZXJnIDxk YW5rZW5AcmVkaGF0LmNvbT4gPQp3cm90ZToKCk9uIE1vbiwgQXVnIDAxLCAyMDE2IGF0IDAyOjAy OjUyUE0gKzA4MDAsIGxpZnVxaW9uZyB3cm90ZToKPiBIaSwgSSB1cGdyYWRlIG15IG92aXJ0IHRv IHZlcnNpb24gNC4wLjIuMiwgaG93IHRvIHVzaW5nIG92cyBpbiB0aGlzID0KdmVyc2lvbj8KPiBJ cyB0aGVyZSBhbnkgaW5zdHJ1Y3Rpb24/IFRoYW5rIHlvdQoKUGxlYXNlIG5vdGUgYW5kIG5vdGUg d2VsbDogT1ZTIGlzIG5vdCBwcm9kdWN0aW9uLWdyYWRlIHlldC4gSXQgaXMgb25seSBhCnByZWxp bWluYXJ5IHRlY2ggcHJldmlldywgdW5kZXIgYWN0aXZlIGRldmVsb3BtZW50LgoKSG93ZXZlciwg d2UnZCBiZSB2ZXJ5IGhhcHB5IHRvIGdldCB5b3VyIGhlbHAgaW4gdGVzdGluZyBpdCAoYW5kIHBv c3NpYmx5CmZpeGluZyBpdCwgdG9vKS4KCldoZW4gZGVmaW5pbmcgYSBuZXcgY2x1c3RlciwgeW91 IHNob3VsZCBzZWUgYSBjaGVjayBib3gsIGxldHRpbmcgeW91CnNlbGVjdCBPVlMgZm9yIHRoYXQg Y2x1c3Rlci49MjAKCj0yMAoKVG8gYmUgcHJlY2lzZSwgdGhpcyBpcyBub3QgYSBjaGVjayBib3gu IEluIHRoZSBFZGl0IENsdXN0ZXIgZGlhbG9nLCBsb29rID0KYXQgdGhlICJzd2l0Y2g9MjAKCnR5 cGUiIG9wdGlvbiwgYW5kIGNoYW5nZSAiTEVHQUNZIiB0byAiT1ZTIi4KCj0yMAoKPTIwCgo9MjAK CkFmdGVyIGJlaW5nIGNoZWNrZWQsIGVhY2ggVk0gbmV0d29yayB0aGF0CmlzIGRlZmluZWQgaW4g eW91ciBjbHVzdGVyIHdvdWxkIGJlIGltcGxlbWVudGVkIHdpdGggT1ZTIGluc3RlYWQgb2YKTGlu dXggYnJpZGdlLgoKQXMgYWx1ZGVkIGJlZm9yZSwgdGhlcmUgYXJlIHBsZW50eSBvZiBrbm93biBk ZWZpbmNpZW5jaWVzIChlLmcuLCBubwpwZXJzaXN0ZW5jZSBvZiBpcCBjb25maWcgb24gVk0gbmV0 d29yaywgbm8gbGl2ZSBtaWdyYXRpb24sIG5vdCBhbGwgYm9uZAptb2RlcywgZXRjIGV0YykuIEJ1 dCBkbyBub3QgaGVzaXRhdGUgdG8gcmFpc2Ugb3RoZXIgaXNzdWVzIHdpdGggdGhlCmRldmVsIG1h aWxpbmcgbGlzdC4KCkhhcHB5IHRlc3RpbmchCgpEYW4uCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCkRldmVsIG1haWxpbmcgbGlzdApEZXZlbEBvdmlydC5v cmcKaHR0cDovL2xpc3RzLm92aXJ0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RldmVsCgo9MjAKCj0y MAoKCi0tLS0tLT1fTmV4dFBhcnRfMDAwXzAwRDNfMDFEMUVDRDMuQUEyNjMzRTAKQ29udGVudC1U eXBlOiB0ZXh0L2h0bWw7CgljaGFyc2V0PSJVVEYtOCIKQ29udGVudC1UcmFuc2Zlci1FbmNvZGlu ZzogcXVvdGVkLXByaW50YWJsZQoKPGh0bWwgeG1sbnM6dj0zRCJ1cm46c2NoZW1hcy1taWNyb3Nv ZnQtY29tOnZtbCIgPQp4bWxuczpvPTNEInVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNl Om9mZmljZSIgPQp4bWxuczp3PTNEInVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOndv cmQiID0KeG1sbnM6bT0zRCJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS8yMDA0 LzEyL29tbWwiID0KeG1sbnM9M0QiaHR0cDovL3d3dy53My5vcmcvVFIvUkVDLWh0bWw0MCI+PGhl YWQ+PG1ldGEgPQpodHRwLWVxdWl2PTNEQ29udGVudC1UeXBlIGNvbnRlbnQ9M0QidGV4dC9odG1s OyBjaGFyc2V0PTNEdXRmLTgiPjxtZXRhID0KbmFtZT0zREdlbmVyYXRvciBjb250ZW50PTNEIk1p Y3Jvc29mdCBXb3JkIDE0IChmaWx0ZXJlZCA9Cm1lZGl1bSkiPjxzdHlsZT48IS0tCi8qIEZvbnQg RGVmaW5pdGlvbnMgKi8KQGZvbnQtZmFjZQoJe2ZvbnQtZmFtaWx5Oj1FNT1BRT04Qj1FND1CRD05 MzsKCXBhbm9zZS0xOjIgMSA2IDAgMyAxIDEgMSAxIDE7fQpAZm9udC1mYWNlCgl7Zm9udC1mYW1p bHk6PUU1PUFFPThCPUU0PUJEPTkzOwoJcGFub3NlLTE6MiAxIDYgMCAzIDEgMSAxIDEgMTt9CkBm b250LWZhY2UKCXtmb250LWZhbWlseTpDYWxpYnJpOwoJcGFub3NlLTE6MiAxNSA1IDIgMiAyIDQg MyAyIDQ7fQpAZm9udC1mYWNlCgl7Zm9udC1mYW1pbHk6IlxAPUU1PUFFPThCPUU0PUJEPTkzIjsK CXBhbm9zZS0xOjIgMSA2IDAgMyAxIDEgMSAxIDE7fQovKiBTdHlsZSBEZWZpbml0aW9ucyAqLwpw Lk1zb05vcm1hbCwgbGkuTXNvTm9ybWFsLCBkaXYuTXNvTm9ybWFsCgl7bWFyZ2luOjBjbTsKCW1h cmdpbi1ib3R0b206LjAwMDFwdDsKCWZvbnQtc2l6ZToxMi4wcHQ7Cglmb250LWZhbWlseTo9RTU9 QUU9OEI9RTQ9QkQ9OTM7fQphOmxpbmssIHNwYW4uTXNvSHlwZXJsaW5rCgl7bXNvLXN0eWxlLXBy aW9yaXR5Ojk5OwoJY29sb3I6Ymx1ZTsKCXRleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7fQphOnZp c2l0ZWQsIHNwYW4uTXNvSHlwZXJsaW5rRm9sbG93ZWQKCXttc28tc3R5bGUtcHJpb3JpdHk6OTk7 Cgljb2xvcjpwdXJwbGU7Cgl0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lO30KcC5Nc29BY2V0YXRl LCBsaS5Nc29BY2V0YXRlLCBkaXYuTXNvQWNldGF0ZQoJe21zby1zdHlsZS1wcmlvcml0eTo5OTsK CW1zby1zdHlsZS1saW5rOiI9RTY9ODk9Qjk9RTY9QjM9QTg9RTY9QTE9ODY9RTY9OTY9ODc9RTY9 OUM9QUMgQ2hhciI7CgltYXJnaW46MGNtOwoJbWFyZ2luLWJvdHRvbTouMDAwMXB0OwoJZm9udC1z aXplOjkuMHB0OwoJZm9udC1mYW1pbHk6PUU1PUFFPThCPUU0PUJEPTkzO30Kc3Bhbi5FbWFpbFN0 eWxlMTcKCXttc28tc3R5bGUtdHlwZTpwZXJzb25hbC1yZXBseTsKCWZvbnQtZmFtaWx5OiJDYWxp YnJpIiwic2Fucy1zZXJpZiI7Cgljb2xvcjojMUY0OTdEO30Kc3Bhbi5DaGFyCgl7bXNvLXN0eWxl LW5hbWU6Ij1FNj04OT1COT1FNj1CMz1BOD1FNj1BMT04Nj1FNj05Nj04Nz1FNj05Qz1BQyBDaGFy IjsKCW1zby1zdHlsZS1wcmlvcml0eTo5OTsKCW1zby1zdHlsZS1saW5rOj1FNj04OT1COT1FNj1C Mz1BOD1FNj1BMT04Nj1FNj05Nj04Nz1FNj05Qz1BQzsKCWZvbnQtZmFtaWx5Oj1FNT1BRT04Qj1F ND1CRD05Mzt9Ci5Nc29DaHBEZWZhdWx0Cgl7bXNvLXN0eWxlLXR5cGU6ZXhwb3J0LW9ubHk7Cglm b250LWZhbWlseToiQ2FsaWJyaSIsInNhbnMtc2VyaWYiO30KQHBhZ2UgV29yZFNlY3Rpb24xCgl7 c2l6ZTo2MTIuMHB0IDc5Mi4wcHQ7CgltYXJnaW46NzIuMHB0IDkwLjBwdCA3Mi4wcHQgOTAuMHB0 O30KZGl2LldvcmRTZWN0aW9uMQoJe3BhZ2U6V29yZFNlY3Rpb24xO30KLS0+PC9zdHlsZT48IS0t W2lmIGd0ZSBtc28gOV0+PHhtbD4KPG86c2hhcGVkZWZhdWx0cyB2OmV4dD0zRCJlZGl0IiBzcGlk bWF4PTNEIjEwMjYiIC8+CjwveG1sPjwhW2VuZGlmXS0tPjwhLS1baWYgZ3RlIG1zbyA5XT48eG1s Pgo8bzpzaGFwZWxheW91dCB2OmV4dD0zRCJlZGl0Ij4KPG86aWRtYXAgdjpleHQ9M0QiZWRpdCIg ZGF0YT0zRCIxIiAvPgo8L286c2hhcGVsYXlvdXQ+PC94bWw+PCFbZW5kaWZdLS0+PC9oZWFkPjxi b2R5IGxhbmc9M0RaSC1DTiBsaW5rPTNEYmx1ZSA9CnZsaW5rPTNEcHVycGxlPjxkaXYgY2xhc3M9 M0RXb3JkU2VjdGlvbjE+PGRpdj48ZGl2PjxkaXY+PGRpdj48cCA9CmNsYXNzPTNETXNvTm9ybWFs ID0Kc3R5bGU9M0QnbXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0 OmF1dG87dGV4dC1pbmRlbnQ6Mj0KMS4wcHQnPjxzcGFuIGxhbmc9M0RFTi1VUyA9CnN0eWxlPTNE J2ZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6IkNhbGlicmkiLCJzYW5zLXNlcmlmIjtjb2xv cjojMUY0OTc9CkQnPkkgY3JlYXRlIGEgY2x1c3RlciB3aGljaCBhbHJlYWR5IGVuYWJsZWQgb3Zz IG5ldHdvcmsgYXMgeW91IG1lbnRpb25lZCA9CiwgYnV0IHdoZW4gSSBjcmVhdGUgdm0gaW4gdGhp cyBjbHVzdGVyLCAmbmJzcDtJIGNhbiBvbmx5IHVzaW5nID0Kb3ZpcnRtZ210L292aXJ0bWdtdCB2 TklDIHByb2ZpbGUsIHdoaWNoIGlzIHN0aWxsIGEgTGludXggPQpicmlkZ2UuPC9zcGFuPjxzcGFu IGxhbmc9M0RFTi1VUz48bzpwPjwvbzpwPjwvc3Bhbj48L3A+PHAgPQpjbGFzcz0zRE1zb05vcm1h bCA9CnN0eWxlPTNEJ21zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFs dDphdXRvJz48c3BhbiA9Cmxhbmc9M0RFTi1VUyA9CnN0eWxlPTNEJ2ZvbnQtc2l6ZToxMC41cHQ7 Zm9udC1mYW1pbHk6IkNhbGlicmkiLCJzYW5zLXNlcmlmIjtjb2xvcjojMUY0OTc9CkQnPkkgZm91 bmQgbm8gd2F5IHRvIGFkZCBhIE9WUyB2TklDIHByb2ZpbGUsJm5ic3A7IEkgaGF2ZSB0byBjaG9z ZSA9Cm92aXJ0bWdtdC9vdmlydG1nbXQgdk5JQyB0byBzZXR1cCBhIFZNLiBBZnRlciBWTSBpcyBz dGFydGVkLCB0aGUgdm0gaXMgPQpzdGlsbCB1c2luZyBMaW51eCBicmlkZ2UgdG8gY29tbXVuaWNh dGUgd2l0aCBvdXRzaWRlLCBub3QgdGhlID0Kb3ZzLjwvc3Bhbj48c3BhbiBsYW5nPTNERU4tVVM+ PG86cD48L286cD48L3NwYW4+PC9wPjxwIGNsYXNzPTNETXNvTm9ybWFsID0Kc3R5bGU9M0QnbXNv LW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8nPjxzcGFuID0K bGFuZz0zREVOLVVTID0Kc3R5bGU9M0QnZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseToiQ2Fs aWJyaSIsInNhbnMtc2VyaWYiO2NvbG9yOiMxRjQ5Nz0KRCc+Jm5ic3A7PC9zcGFuPjxzcGFuIGxh bmc9M0RFTi1VUz48bzpwPjwvbzpwPjwvc3Bhbj48L3A+PHAgPQpjbGFzcz0zRE1zb05vcm1hbCA9 CnN0eWxlPTNEJ21zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDph dXRvJz48c3BhbiA9Cmxhbmc9M0RFTi1VUyA9CnN0eWxlPTNEJ2ZvbnQtc2l6ZToxMC41cHQ7Zm9u dC1mYW1pbHk6IkNhbGlicmkiLCJzYW5zLXNlcmlmIjtjb2xvcjojMUY0OTc9CkQnPk5lZWQgSSB0 byBjcmVhdGUgYSBvdnMgYnJpZGdlIG9yIHZwb3J0IGFuZCBiaW5kIGl0IHRvIHBoeXNpY2FsIE5J QyBpbiA9CnZkc20gbWFudWFsbHk/PC9zcGFuPjxzcGFuIGxhbmc9M0RFTi1VUz48bzpwPjwvbzpw Pjwvc3Bhbj48L3A+PHAgPQpjbGFzcz0zRE1zb05vcm1hbCA9CnN0eWxlPTNEJ21zby1tYXJnaW4t dG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvJz48c3BhbiA9Cmxhbmc9M0RF Ti1VUyA9CnN0eWxlPTNEJ2ZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6IkNhbGlicmkiLCJz YW5zLXNlcmlmIjtjb2xvcjojMUY0OTc9CkQnPiZuYnNwOzwvc3Bhbj48c3BhbiBsYW5nPTNERU4t VVM+PG86cD48L286cD48L3NwYW4+PC9wPjxwID0KY2xhc3M9M0RNc29Ob3JtYWwgPQpzdHlsZT0z RCdtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byc+PHNw YW4gPQpsYW5nPTNERU4tVVMgPQpzdHlsZT0zRCdmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5 OiJDYWxpYnJpIiwic2Fucy1zZXJpZiI7Y29sb3I6IzFGNDk3PQpEJz5Ib3BlIHlvdXIgcmVwbHkg YXMgc29vbiBhcyBwb3NzaWJsZS48L3NwYW4+PHNwYW4gPQpsYW5nPTNERU4tVVM+PG86cD48L286 cD48L3NwYW4+PC9wPjxwIGNsYXNzPTNETXNvTm9ybWFsID0Kc3R5bGU9M0QnbXNvLW1hcmdpbi10 b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8nPjxzcGFuID0KbGFuZz0zREVO LVVTID0Kc3R5bGU9M0QnZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseToiQ2FsaWJyaSIsInNh bnMtc2VyaWYiO2NvbG9yOiMxRjQ5Nz0KRCc+VGhhbmsgeW91PC9zcGFuPjxzcGFuIGxhbmc9M0RF Ti1VUz48bzpwPjwvbzpwPjwvc3Bhbj48L3A+PHAgPQpjbGFzcz0zRE1zb05vcm1hbCA9CnN0eWxl PTNEJ21zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvJz48 c3BhbiA9Cmxhbmc9M0RFTi1VUyA9CnN0eWxlPTNEJ2ZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1p bHk6IkNhbGlicmkiLCJzYW5zLXNlcmlmIjtjb2xvcjojMUY0OTc9CkQnPk1hcms8L3NwYW4+PHNw YW4gbGFuZz0zREVOLVVTPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD48cCA9CmNsYXNzPTNETXNvTm9y bWFsID0Kc3R5bGU9M0QnbXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20t YWx0OmF1dG8nPjxhID0KbmFtZT0zRCJtXy02MzczNTkxNjI4NDU4NjQ4MDRfX01haWxFbmRDb21w b3NlIj48c3BhbiBsYW5nPTNERU4tVVMgPQpzdHlsZT0zRCdmb250LXNpemU6MTAuNXB0O2ZvbnQt ZmFtaWx5OiJDYWxpYnJpIiwic2Fucy1zZXJpZiI7Y29sb3I6IzFGNDk3PQpEJz4mbmJzcDs8L3Nw YW4+PC9hPjxzcGFuIGxhbmc9M0RFTi1VUz48bzpwPjwvbzpwPjwvc3Bhbj48L3A+PHAgPQpjbGFz cz0zRE1zb05vcm1hbCA9CnN0eWxlPTNEJ21zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJn aW4tYm90dG9tLWFsdDphdXRvJz48Yj48c3BhbiA9CnN0eWxlPTNEJ2ZvbnQtc2l6ZToxMC4wcHQn Pj1FNT04Rj05MT1FND1CQj1CNj1FND1CQT1CQTxzcGFuID0KbGFuZz0zREVOLVVTPjo8L3NwYW4+ PC9zcGFuPjwvYj48c3BhbiBsYW5nPTNERU4tVVMgPQpzdHlsZT0zRCdmb250LXNpemU6MTAuMHB0 Jz4gPGEgaHJlZj0zRCJtYWlsdG86dXNlcnMtYm91bmNlc0BvdmlydC5vcmciID0KdGFyZ2V0PTNE Il9ibGFuayI+dXNlcnMtYm91bmNlc0BvdmlydC5vcmc8L2E+IFttYWlsdG86PGEgPQpocmVmPTNE Im1haWx0bzp1c2Vycy1ib3VuY2VzQG92aXJ0Lm9yZyIgPQp0YXJnZXQ9M0QiX2JsYW5rIj51c2Vy cy1ib3VuY2VzQG92aXJ0Lm9yZzwvYT5dIDwvc3Bhbj48Yj48c3BhbiA9CnN0eWxlPTNEJ2ZvbnQt c2l6ZToxMC4wcHQnPj1FND1CQj1BMz1FOD1BMT1BOCA8L3NwYW4+PC9iPjxzcGFuID0KbGFuZz0z REVOLVVTIHN0eWxlPTNEJ2ZvbnQtc2l6ZToxMC4wcHQnPk1lbmkgWWFrb3ZlPGJyPjwvc3Bhbj48 Yj48c3BhbiA9CnN0eWxlPTNEJ2ZvbnQtc2l6ZToxMC4wcHQnPj1FNT04Rj05MT1FOT04MD04MT1F Nj05Nz1CNj1FOT05Nz1CNDxzcGFuID0KbGFuZz0zREVOLVVTPjo8L3NwYW4+PC9zcGFuPjwvYj48 c3BhbiBsYW5nPTNERU4tVVMgPQpzdHlsZT0zRCdmb250LXNpemU6MTAuMHB0Jz4gMjAxNjwvc3Bh bj48c3BhbiA9CnN0eWxlPTNEJ2ZvbnQtc2l6ZToxMC4wcHQnPj1FNT1COT1CNDxzcGFuID0KbGFu Zz0zREVOLVVTPjg8L3NwYW4+PUU2PTlDPTg4PHNwYW4gbGFuZz0zREVOLVVTPjE8L3NwYW4+PUU2 PTk3PUE1PHNwYW4gPQpsYW5nPTNERU4tVVM+IDE2OjQyPGJyPjwvc3Bhbj48Yj49RTY9OTQ9QjY9 RTQ9QkI9QjY9RTQ9QkE9QkE8c3BhbiA9Cmxhbmc9M0RFTi1VUz46PC9zcGFuPjwvYj48c3BhbiBs YW5nPTNERU4tVVM+IERhbiA9Cktlbmlnc2Jlcmc8YnI+PC9zcGFuPjxiPj1FND1COD1CQj1FOT1B Mj05ODxzcGFuID0KbGFuZz0zREVOLVVTPjo8L3NwYW4+PC9iPjxzcGFuIGxhbmc9M0RFTi1VUz4g UmU6IFtvdmlydC11c2Vyc10gPQpbb3ZpcnQtZGV2ZWxdIEhvdyB0byBhZGQgb3ZzLWJhc2VkIFZN IGluIHZlcnNpb24gNC4wLjI/IFRoYW5rID0KeW91PC9zcGFuPjwvc3Bhbj48c3BhbiBsYW5nPTNE RU4tVVM+PG86cD48L286cD48L3NwYW4+PC9wPjxkaXY+PGRpdj48cCA9CmNsYXNzPTNETXNvTm9y bWFsID0Kc3R5bGU9M0QnbXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20t YWx0OmF1dG8nPjxzcGFuID0KbGFuZz0zREVOLVVTPiZuYnNwOzxvOnA+PC9vOnA+PC9zcGFuPjwv cD48ZGl2PjxkaXY+PGRpdj48cCA9CmNsYXNzPTNETXNvTm9ybWFsID0Kc3R5bGU9M0QnbXNvLW1h cmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8nPjxzcGFuID0KbGFu Zz0zREVOLVVTPk9uIE1vbiwgQXVnIDEsIDIwMTYgYXQgMTE6MDcgQU0sIERhbiBLZW5pZ3NiZXJn ICZsdDs8YSA9CmhyZWY9M0QibWFpbHRvOmRhbmtlbkByZWRoYXQuY29tIiA9CnRhcmdldD0zRCJf YmxhbmsiPmRhbmtlbkByZWRoYXQuY29tPC9hPiZndDsgPQp3cm90ZTo8bzpwPjwvbzpwPjwvc3Bh bj48L3A+PHAgY2xhc3M9M0RNc29Ob3JtYWwgPQpzdHlsZT0zRCdtc28tbWFyZ2luLXRvcC1hbHQ6 YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byc+PHNwYW4gPQpsYW5nPTNERU4tVVM+T24g TW9uLCBBdWcgMDEsIDIwMTYgYXQgMDI6MDI6NTJQTSArMDgwMCwgbGlmdXFpb25nID0Kd3JvdGU6 PGJyPiZndDsgSGksIEkgdXBncmFkZSBteSBvdmlydCB0byB2ZXJzaW9uIDQuMC4yLjIsIGhvdyB0 byB1c2luZyA9Cm92cyBpbiB0aGlzIHZlcnNpb24/PGJyPiZndDsgSXMgdGhlcmUgYW55IGluc3Ry dWN0aW9uPyBUaGFuayA9CnlvdTxicj48YnI+UGxlYXNlIG5vdGUgYW5kIG5vdGUgd2VsbDogT1ZT IGlzIG5vdCBwcm9kdWN0aW9uLWdyYWRlIHlldC4gPQpJdCBpcyBvbmx5IGE8YnI+cHJlbGltaW5h cnkgdGVjaCBwcmV2aWV3LCB1bmRlciBhY3RpdmUgPQpkZXZlbG9wbWVudC48YnI+PGJyPkhvd2V2 ZXIsIHdlJ2QgYmUgdmVyeSBoYXBweSB0byBnZXQgeW91ciBoZWxwIGluID0KdGVzdGluZyBpdCAo YW5kIHBvc3NpYmx5PGJyPmZpeGluZyBpdCwgdG9vKS48YnI+PGJyPldoZW4gZGVmaW5pbmcgYSBu ZXcgPQpjbHVzdGVyLCB5b3Ugc2hvdWxkIHNlZSBhIGNoZWNrIGJveCwgbGV0dGluZyB5b3U8YnI+ c2VsZWN0IE9WUyBmb3IgdGhhdCA9CmNsdXN0ZXIuIDxvOnA+PC9vOnA+PC9zcGFuPjwvcD48ZGl2 PjxwIGNsYXNzPTNETXNvTm9ybWFsID0Kc3R5bGU9M0QnbXNvLW1hcmdpbi10b3AtYWx0OmF1dG87 bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8nPjxzcGFuID0KbGFuZz0zREVOLVVTPiZuYnNwOzxv OnA+PC9vOnA+PC9zcGFuPjwvcD48L2Rpdj48ZGl2PjxwIGNsYXNzPTNETXNvTm9ybWFsID0Kc3R5 bGU9M0QnbXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8n PjxzcGFuID0KbGFuZz0zREVOLVVTPlRvIGJlIHByZWNpc2UsIHRoaXMgaXMgbm90IGEgY2hlY2sg Ym94LiBJbiB0aGUgRWRpdCBDbHVzdGVyID0KZGlhbG9nLCBsb29rIGF0IHRoZSA9CiZxdW90O3N3 aXRjaCZuYnNwOzxvOnA+PC9vOnA+PC9zcGFuPjwvcD48L2Rpdj48ZGl2PjxwIGNsYXNzPTNETXNv Tm9ybWFsID0Kc3R5bGU9M0QnbXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0 b20tYWx0OmF1dG8nPjxzcGFuID0KbGFuZz0zREVOLVVTPnR5cGUmcXVvdDsgb3B0aW9uLCBhbmQg Y2hhbmdlICZxdW90O0xFR0FDWSZxdW90OyB0byA9CiZxdW90O09WUyZxdW90Oy48bzpwPjwvbzpw Pjwvc3Bhbj48L3A+PC9kaXY+PGRpdj48cCBjbGFzcz0zRE1zb05vcm1hbCA9CnN0eWxlPTNEJ21z by1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvJz48c3BhbiA9 Cmxhbmc9M0RFTi1VUz4mbmJzcDs8bzpwPjwvbzpwPjwvc3Bhbj48L3A+PC9kaXY+PGRpdj48cCBj bGFzcz0zRE1zb05vcm1hbCA9CnN0eWxlPTNEJ21zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1t YXJnaW4tYm90dG9tLWFsdDphdXRvJz48c3BhbiA9Cmxhbmc9M0RFTi1VUz4mbmJzcDs8bzpwPjwv bzpwPjwvc3Bhbj48L3A+PC9kaXY+PGRpdj48cCBjbGFzcz0zRE1zb05vcm1hbCA9CnN0eWxlPTNE J21zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvJz48c3Bh biA9Cmxhbmc9M0RFTi1VUz4mbmJzcDs8bzpwPjwvbzpwPjwvc3Bhbj48L3A+PC9kaXY+PGJsb2Nr cXVvdGUgPQpzdHlsZT0zRCdib3JkZXI6bm9uZTtib3JkZXItbGVmdDpzb2xpZCAjQ0NDQ0NDIDEu MHB0O3BhZGRpbmc6MGNtIDBjbSAwY20gPQo2LjBwdDttYXJnaW4tbGVmdDo0LjhwdDttYXJnaW4t dG9wOjUuMHB0O21hcmdpbi1yaWdodDowY207bWFyZ2luLWJvdHRvbTo1PQouMHB0Jz48cCBjbGFz cz0zRE1zb05vcm1hbCA9CnN0eWxlPTNEJ21zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJn aW4tYm90dG9tLWFsdDphdXRvJz48c3BhbiA9Cmxhbmc9M0RFTi1VUz5BZnRlciBiZWluZyBjaGVj a2VkLCBlYWNoIFZNIG5ldHdvcmsgdGhhdDxicj5pcyBkZWZpbmVkIGluID0KeW91ciBjbHVzdGVy IHdvdWxkIGJlIGltcGxlbWVudGVkIHdpdGggT1ZTIGluc3RlYWQgb2Y8YnI+TGludXggPQpicmlk Z2UuPGJyPjxicj5BcyBhbHVkZWQgYmVmb3JlLCB0aGVyZSBhcmUgcGxlbnR5IG9mIGtub3duIGRl ZmluY2llbmNpZXMgPQooZS5nLiwgbm88YnI+cGVyc2lzdGVuY2Ugb2YgaXAgY29uZmlnIG9uIFZN IG5ldHdvcmssIG5vIGxpdmUgbWlncmF0aW9uLCA9Cm5vdCBhbGwgYm9uZDxicj5tb2RlcywgZXRj IGV0YykuIEJ1dCBkbyBub3QgaGVzaXRhdGUgdG8gcmFpc2Ugb3RoZXIgPQppc3N1ZXMgd2l0aCB0 aGU8YnI+ZGV2ZWwgbWFpbGluZyBsaXN0Ljxicj48YnI+SGFwcHkgPQp0ZXN0aW5nITxicj48YnI+ RGFuLjxicj5fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXzxi PQpyPkRldmVsIG1haWxpbmcgbGlzdDxicj48YSBocmVmPTNEIm1haWx0bzpEZXZlbEBvdmlydC5v cmciID0KdGFyZ2V0PTNEIl9ibGFuayI+RGV2ZWxAb3ZpcnQub3JnPC9hPjxicj48YSA9CmhyZWY9 M0QiaHR0cDovL2xpc3RzLm92aXJ0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RldmVsIiA9CnRhcmdl dD0zRCJfYmxhbmsiPmh0dHA6Ly9saXN0cy5vdmlydC5vcmcvbWFpbG1hbi9saXN0aW5mby9kZXZl bDwvYT48bzpwPjw9Ci9vOnA+PC9zcGFuPjwvcD48L2Jsb2NrcXVvdGU+PC9kaXY+PHAgY2xhc3M9 M0RNc29Ob3JtYWwgPQpzdHlsZT0zRCdtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2lu LWJvdHRvbS1hbHQ6YXV0byc+PHNwYW4gPQpsYW5nPTNERU4tVVM+Jm5ic3A7PG86cD48L286cD48 L3NwYW4+PC9wPjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjwvPQpkaXY+PC9kaXY+PHAg Y2xhc3M9M0RNc29Ob3JtYWw+PHNwYW4gPQpsYW5nPTNERU4tVVM+PG86cD4mbmJzcDs8L286cD48 L3NwYW4+PC9wPjwvZGl2PjwvZGl2PjwvYm9keT48L2h0bWw+Ci0tLS0tLT1fTmV4dFBhcnRfMDAw XzAwRDNfMDFEMUVDRDMuQUEyNjMzRTAtLQoK --===============1031403838802347397==--