From donny at cloudspin.me Tue Jan 13 12:54:49 2015 Content-Type: multipart/mixed; boundary="===============5243657765206015452==" MIME-Version: 1.0 From: Donny Davis To: users at ovirt.org Subject: Re: [ovirt-users] Ovirt and power saving Date: Tue, 13 Jan 2015 10:54:35 -0700 Message-ID: <00ca01d02f59$ff9e3ea0$fedabbe0$@cloudspin.me> In-Reply-To: CABQ2P6FF3TTWx45MZmyd2++r2YrHQJxog+1g9YeeonUgLLEQrw@mail.gmail.com --===============5243657765206015452== 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_00CB_01D02F1F.5341B090 Content-Type: text/plain; charset=3D"utf-8" Content-Transfer-Encoding: quoted-printable The powersaving policy is only applicable to the hosts, so if your low =3D utilization threshold is below the power policy when you pause the vm, =3D it should place the host into maintenance and migrate the paused vm (may = =3D cause problems). I cannot test on my deployment, I am already down too =3D many machines=3DE2=3D80=3DA6 however if you wait a couple days I can get = =3D you=3DE2=3D80=3D99re an answer as to whether it works on my deployment or n= ot =3D J =3D20 Donny D=3D20 =3D20 From: users-bounces(a)ovirt.org [mailto:users-bounces(a)ovirt.org] On Behal= f =3D Of Mario Giammarco Sent: Tuesday, January 13, 2015 8:23 AM To: Artyom Lukianov Cc: users(a)ovirt.org Subject: Re: [ovirt-users] Ovirt and power saving =3D20 I mean that I know that I can set a power saving policy, it is a very =3D nice thing. I need to be sure that I can pause/suspend (not shutdown) virtual =3D machines. I also need that, if I suspend enough virtual machines ovirt shutdowns =3D server to save power following the power save policy. =3D20 Otherwise is it possible to manually shutdown a server forcing ovirt to =3D migrate vms to the only one powered up? =3D20 Basically it is a "manual power saving" mode. =3D20 Thanks again, Mario =3D20 2015-01-13 14:21 GMT+01:00 Artyom Lukianov : Not really understand you, what you mean by "you can pause vm and so =3D trigger the low utilization parameter"? ----- Original Message ----- From: "Mario Giammarco" To: "Artyom Lukianov" Cc: users(a)ovirt.org Sent: Tuesday, January 13, 2015 3:05:06 PM Subject: Re: [ovirt-users] Ovirt and power saving Thanks for reply. I just want now to be sure that you can pause vm and so trigger the low utilization parameter 2015-01-13 12:45 GMT+01:00 Artyom Lukianov : > We have power saving policy that also have possibility to poweroff > hosts(via power management), you can configure power saving policy > parameters for you purpose(HighUtilization can have values from 50-100 = =3D and > LowUtilization 0-49), so you can set LowUtilization=3D3D0 and > HighUtilization=3D3D50, so load balancing will try migrate all vms on =3D one > host(if cpu utilization less that 50). And also you can set parameter > "HostsInReserve" to 0 if you do not want additional hosts in reserve. > > ----- Original Message ----- > From: "Mario Giammarco" > To: users(a)ovirt.org > Sent: Tuesday, January 13, 2015 1:30:38 PM > Subject: [ovirt-users] Ovirt and power saving > > Hello, > I would like to ask if it is possible to do this use case with ovirt: > > 1) two servers powered on > 2) operator suspend some virtual machines > 3) load falls down > 4) ovirt shutdown one server > > Then operator unpauses virtual machines and ovirt starts again the 2nd > server. > > Thanks, > Mario > > _______________________________________________ > Users mailing list > Users(a)ovirt.org > http://lists.ovirt.org/mailman/listinfo/users > =3D20 ------=3D_NextPart_000_00CB_01D02F1F.5341B090 Content-Type: text/html; charset=3D"utf-8" Content-Transfer-Encoding: quoted-printable

The powersaving policy is only applicable to the hosts, so if your =3D low utilization threshold is below the power policy when you pause the =3D vm, it should place the host into maintenance and migrate the paused vm =3D (may cause problems). =3DC2=3DA0I cannot test on my deployment, I am alread= y =3D down too many machines=3DE2=3D80=3DA6 however if you wait a couple days I c= an =3D get you=3DE2=3D80=3D99re an answer as to whether it works on my deployment = or =3D not J

 

Donny D

 

From:= =3D = =3D users-bounces(a)ovirt.org [mailto:users-bounces(a)ovirt.org] On Behalf O= f =3D Mario Giammarco
Sent: Tuesday, January 13, 2015 8:23 =3D AM
To: Artyom Lukianov
Cc: =3D users(a)ovirt.org
Subject: Re: [ovirt-users] Ovirt and power =3D saving

 

I mean= =3D that I know that I can set a power saving policy, it is a very nice =3D thing.

I need to be sure that I = =3D can pause/suspend (not shutdown) virtual =3D machines.

I also need =3D that, if I suspend enough virtual machines ovirt shutdowns server to =3D save power following the power save policy.

 

Otherwise is it possible to manually shutdown a server = =3D forcing ovirt to migrate vms to the only one powered =3D up?

 

Basically it is a "manual power saving" =3D mode.

 

Thanks again,

Mario

 

2015-01-13 14:21 GMT+01:00 Artyom Lukianov <alukiano(a)redhat.com>:

Not really understand you, what you mean by "you = =3D can pause vm and so trigger the low
utilization =3D parameter"?

----- Original Message =3D -----
From: "Mario Giammarco" =3D <mgiammarco(a)gmail.com><=3D o:p>

To: "Artyom =3D Lukianov" <alukiano(a)redhat.com>
Cc= : =3D users(a)ovirt.org
Sent: Tuesd= ay, =3D January 13, 2015 3:05:06 PM
Subject: Re: [ovirt-users] Ovirt and =3D power saving

Thanks for reply.
I just want now to  be =3D sure that you can pause vm and so trigger the low
utilization =3D parameter

2015-01-13 12:45 GMT+01:00 Artyom Lukianov <alukiano(a)redhat.com>:
<= br>&=3D gt; We have power saving policy that also have possibility to =3D poweroff
> hosts(via power management), you can configure power =3D saving policy
> parameters for you purpose(HighUtilization can =3D have values from 50-100 and
> LowUtilization 0-49), so you can set = =3D LowUtilization=3D3D0 and
> HighUtilization=3D3D50, so load balancing = =3D will try migrate all vms on one
> host(if cpu utilization less =3D that 50). And also you can set parameter
> =3D "HostsInReserve" to 0 if you do not want additional hosts in =3D reserve.
>
> ----- Original Message -----
> From: =3D "Mario Giammarco" <mgiammarco(a)gmail.com>
= >=3D To: users(a)ovirt.org
> = =3D Sent: Tuesday, January 13, 2015 1:30:38 PM
> Subject: =3D [ovirt-users] Ovirt and power saving
>
> Hello,
> I =3D would like to ask if it is possible to do this use case with =3D ovirt:
>
> 1) two servers powered on
> 2) operator =3D suspend some virtual machines
> 3) load falls down
> 4) =3D ovirt shutdown one server
>
> Then operator unpauses virtual = =3D machines and ovirt starts again the 2nd
> server.
>
> =3D Thanks,
> Mario
>
> =3D _______________________________________________
> Users mailing =3D list
> Users(a)ovirt.org
> http://lists.ovirt.org/mailman/listinfo/users
&g= =3D t;

 

------=3D_NextPart_000_00CB_01D02F1F.5341B090-- --===============5243657765206015452== Content-Type: multipart/alternative MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.bin" VGhpcyBpcyBhIG11bHRpcGFydCBtZXNzYWdlIGluIE1JTUUgZm9ybWF0LgoKLS0tLS0tPV9OZXh0 UGFydF8wMDBfMDBDQl8wMUQwMkYxRi41MzQxQjA5MApDb250ZW50LVR5cGU6IHRleHQvcGxhaW47 CgljaGFyc2V0PSJ1dGYtOCIKQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogcXVvdGVkLXByaW50 YWJsZQoKVGhlIHBvd2Vyc2F2aW5nIHBvbGljeSBpcyBvbmx5IGFwcGxpY2FibGUgdG8gdGhlIGhv c3RzLCBzbyBpZiB5b3VyIGxvdyA9CnV0aWxpemF0aW9uIHRocmVzaG9sZCBpcyBiZWxvdyB0aGUg cG93ZXIgcG9saWN5IHdoZW4geW91IHBhdXNlIHRoZSB2bSwgPQppdCBzaG91bGQgcGxhY2UgdGhl IGhvc3QgaW50byBtYWludGVuYW5jZSBhbmQgbWlncmF0ZSB0aGUgcGF1c2VkIHZtIChtYXkgPQpj YXVzZSBwcm9ibGVtcykuICBJIGNhbm5vdCB0ZXN0IG9uIG15IGRlcGxveW1lbnQsIEkgYW0gYWxy ZWFkeSBkb3duIHRvbyA9Cm1hbnkgbWFjaGluZXM9RTI9ODA9QTYgaG93ZXZlciBpZiB5b3Ugd2Fp dCBhIGNvdXBsZSBkYXlzIEkgY2FuIGdldCA9CnlvdT1FMj04MD05OXJlIGFuIGFuc3dlciBhcyB0 byB3aGV0aGVyIGl0IHdvcmtzIG9uIG15IGRlcGxveW1lbnQgb3Igbm90ID0KSgoKPTIwCgpEb25u eSBEPTIwCgo9MjAKCkZyb206IHVzZXJzLWJvdW5jZXNAb3ZpcnQub3JnIFttYWlsdG86dXNlcnMt Ym91bmNlc0BvdmlydC5vcmddIE9uIEJlaGFsZiA9Ck9mIE1hcmlvIEdpYW1tYXJjbwpTZW50OiBU dWVzZGF5LCBKYW51YXJ5IDEzLCAyMDE1IDg6MjMgQU0KVG86IEFydHlvbSBMdWtpYW5vdgpDYzog dXNlcnNAb3ZpcnQub3JnClN1YmplY3Q6IFJlOiBbb3ZpcnQtdXNlcnNdIE92aXJ0IGFuZCBwb3dl ciBzYXZpbmcKCj0yMAoKSSBtZWFuIHRoYXQgSSBrbm93IHRoYXQgSSBjYW4gc2V0IGEgcG93ZXIg c2F2aW5nIHBvbGljeSwgaXQgaXMgYSB2ZXJ5ID0KbmljZSB0aGluZy4KCkkgbmVlZCB0byBiZSBz dXJlIHRoYXQgSSBjYW4gcGF1c2Uvc3VzcGVuZCAobm90IHNodXRkb3duKSB2aXJ0dWFsID0KbWFj aGluZXMuCgpJIGFsc28gbmVlZCB0aGF0LCBpZiBJIHN1c3BlbmQgZW5vdWdoIHZpcnR1YWwgbWFj aGluZXMgb3ZpcnQgc2h1dGRvd25zID0Kc2VydmVyIHRvIHNhdmUgcG93ZXIgZm9sbG93aW5nIHRo ZSBwb3dlciBzYXZlIHBvbGljeS4KCj0yMAoKT3RoZXJ3aXNlIGlzIGl0IHBvc3NpYmxlIHRvIG1h bnVhbGx5IHNodXRkb3duIGEgc2VydmVyIGZvcmNpbmcgb3ZpcnQgdG8gPQptaWdyYXRlIHZtcyB0 byB0aGUgb25seSBvbmUgcG93ZXJlZCB1cD8KCj0yMAoKQmFzaWNhbGx5IGl0IGlzIGEgIm1hbnVh bCBwb3dlciBzYXZpbmciIG1vZGUuCgo9MjAKClRoYW5rcyBhZ2FpbiwKCk1hcmlvCgo9MjAKCjIw MTUtMDEtMTMgMTQ6MjEgR01UKzAxOjAwIEFydHlvbSBMdWtpYW5vdiA8YWx1a2lhbm9AcmVkaGF0 LmNvbT46CgpOb3QgcmVhbGx5IHVuZGVyc3RhbmQgeW91LCB3aGF0IHlvdSBtZWFuIGJ5ICJ5b3Ug Y2FuIHBhdXNlIHZtIGFuZCBzbyA9CnRyaWdnZXIgdGhlIGxvdwp1dGlsaXphdGlvbiBwYXJhbWV0 ZXIiPwoKLS0tLS0gT3JpZ2luYWwgTWVzc2FnZSAtLS0tLQpGcm9tOiAiTWFyaW8gR2lhbW1hcmNv IiA8bWdpYW1tYXJjb0BnbWFpbC5jb20+CgpUbzogIkFydHlvbSBMdWtpYW5vdiIgPGFsdWtpYW5v QHJlZGhhdC5jb20+CkNjOiB1c2Vyc0BvdmlydC5vcmcKU2VudDogVHVlc2RheSwgSmFudWFyeSAx MywgMjAxNSAzOjA1OjA2IFBNClN1YmplY3Q6IFJlOiBbb3ZpcnQtdXNlcnNdIE92aXJ0IGFuZCBw b3dlciBzYXZpbmcKClRoYW5rcyBmb3IgcmVwbHkuCkkganVzdCB3YW50IG5vdyB0byAgYmUgc3Vy ZSB0aGF0IHlvdSBjYW4gcGF1c2Ugdm0gYW5kIHNvIHRyaWdnZXIgdGhlIGxvdwp1dGlsaXphdGlv biBwYXJhbWV0ZXIKCjIwMTUtMDEtMTMgMTI6NDUgR01UKzAxOjAwIEFydHlvbSBMdWtpYW5vdiA8 YWx1a2lhbm9AcmVkaGF0LmNvbT46Cgo+IFdlIGhhdmUgcG93ZXIgc2F2aW5nIHBvbGljeSB0aGF0 IGFsc28gaGF2ZSBwb3NzaWJpbGl0eSB0byBwb3dlcm9mZgo+IGhvc3RzKHZpYSBwb3dlciBtYW5h Z2VtZW50KSwgeW91IGNhbiBjb25maWd1cmUgcG93ZXIgc2F2aW5nIHBvbGljeQo+IHBhcmFtZXRl cnMgZm9yIHlvdSBwdXJwb3NlKEhpZ2hVdGlsaXphdGlvbiBjYW4gaGF2ZSB2YWx1ZXMgZnJvbSA1 MC0xMDAgPQphbmQKPiBMb3dVdGlsaXphdGlvbiAwLTQ5KSwgc28geW91IGNhbiBzZXQgTG93VXRp bGl6YXRpb249M0QwIGFuZAo+IEhpZ2hVdGlsaXphdGlvbj0zRDUwLCBzbyBsb2FkIGJhbGFuY2lu ZyB3aWxsIHRyeSBtaWdyYXRlIGFsbCB2bXMgb24gPQpvbmUKPiBob3N0KGlmIGNwdSB1dGlsaXph dGlvbiBsZXNzIHRoYXQgNTApLiBBbmQgYWxzbyB5b3UgY2FuIHNldCBwYXJhbWV0ZXIKPiAiSG9z dHNJblJlc2VydmUiIHRvIDAgaWYgeW91IGRvIG5vdCB3YW50IGFkZGl0aW9uYWwgaG9zdHMgaW4g cmVzZXJ2ZS4KPgo+IC0tLS0tIE9yaWdpbmFsIE1lc3NhZ2UgLS0tLS0KPiBGcm9tOiAiTWFyaW8g R2lhbW1hcmNvIiA8bWdpYW1tYXJjb0BnbWFpbC5jb20+Cj4gVG86IHVzZXJzQG92aXJ0Lm9yZwo+ IFNlbnQ6IFR1ZXNkYXksIEphbnVhcnkgMTMsIDIwMTUgMTozMDozOCBQTQo+IFN1YmplY3Q6IFtv dmlydC11c2Vyc10gT3ZpcnQgYW5kIHBvd2VyIHNhdmluZwo+Cj4gSGVsbG8sCj4gSSB3b3VsZCBs aWtlIHRvIGFzayBpZiBpdCBpcyBwb3NzaWJsZSB0byBkbyB0aGlzIHVzZSBjYXNlIHdpdGggb3Zp cnQ6Cj4KPiAxKSB0d28gc2VydmVycyBwb3dlcmVkIG9uCj4gMikgb3BlcmF0b3Igc3VzcGVuZCBz b21lIHZpcnR1YWwgbWFjaGluZXMKPiAzKSBsb2FkIGZhbGxzIGRvd24KPiA0KSBvdmlydCBzaHV0 ZG93biBvbmUgc2VydmVyCj4KPiBUaGVuIG9wZXJhdG9yIHVucGF1c2VzIHZpcnR1YWwgbWFjaGlu ZXMgYW5kIG92aXJ0IHN0YXJ0cyBhZ2FpbiB0aGUgMm5kCj4gc2VydmVyLgo+Cj4gVGhhbmtzLAo+ IE1hcmlvCj4KPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f Xwo+IFVzZXJzIG1haWxpbmcgbGlzdAo+IFVzZXJzQG92aXJ0Lm9yZwo+IGh0dHA6Ly9saXN0cy5v dmlydC5vcmcvbWFpbG1hbi9saXN0aW5mby91c2Vycwo+Cgo9MjAKCgotLS0tLS09X05leHRQYXJ0 XzAwMF8wMENCXzAxRDAyRjFGLjUzNDFCMDkwCkNvbnRlbnQtVHlwZTogdGV4dC9odG1sOwoJY2hh cnNldD0idXRmLTgiCkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IHF1b3RlZC1wcmludGFibGUK CjxodG1sIHhtbG5zOnY9M0QidXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiID0KeG1sbnM6 bz0zRCJ1cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOm9mZmljZTpvZmZpY2UiID0KeG1sbnM6dz0z RCJ1cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOm9mZmljZTp3b3JkIiA9CnhtbG5zOm09M0QiaHR0 cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9vZmZpY2UvMjAwNC8xMi9vbW1sIiA9CnhtbG5zPTNE Imh0dHA6Ly93d3cudzMub3JnL1RSL1JFQy1odG1sNDAiPjxoZWFkPjxtZXRhID0KaHR0cC1lcXVp dj0zRENvbnRlbnQtVHlwZSBjb250ZW50PTNEInRleHQvaHRtbDsgY2hhcnNldD0zRHV0Zi04Ij48 bWV0YSA9Cm5hbWU9M0RHZW5lcmF0b3IgY29udGVudD0zRCJNaWNyb3NvZnQgV29yZCAxNCAoZmls dGVyZWQgPQptZWRpdW0pIj48c3R5bGU+PCEtLQovKiBGb250IERlZmluaXRpb25zICovCkBmb250 LWZhY2UKCXtmb250LWZhbWlseTpXaW5nZGluZ3M7CglwYW5vc2UtMTo1IDAgMCAwIDAgMCAwIDAg MCAwO30KQGZvbnQtZmFjZQoJe2ZvbnQtZmFtaWx5OldpbmdkaW5nczsKCXBhbm9zZS0xOjUgMCAw IDAgMCAwIDAgMCAwIDA7fQpAZm9udC1mYWNlCgl7Zm9udC1mYW1pbHk6Q2FsaWJyaTsKCXBhbm9z ZS0xOjIgMTUgNSAyIDIgMiA0IDMgMiA0O30KQGZvbnQtZmFjZQoJe2ZvbnQtZmFtaWx5OlRhaG9t YTsKCXBhbm9zZS0xOjIgMTEgNiA0IDMgNSA0IDQgMiA0O30KLyogU3R5bGUgRGVmaW5pdGlvbnMg Ki8KcC5Nc29Ob3JtYWwsIGxpLk1zb05vcm1hbCwgZGl2Lk1zb05vcm1hbAoJe21hcmdpbjowaW47 CgltYXJnaW4tYm90dG9tOi4wMDAxcHQ7Cglmb250LXNpemU6MTIuMHB0OwoJZm9udC1mYW1pbHk6 IlRpbWVzIE5ldyBSb21hbiIsInNlcmlmIjt9CmE6bGluaywgc3Bhbi5Nc29IeXBlcmxpbmsKCXtt c28tc3R5bGUtcHJpb3JpdHk6OTk7Cgljb2xvcjpibHVlOwoJdGV4dC1kZWNvcmF0aW9uOnVuZGVy bGluZTt9CmE6dmlzaXRlZCwgc3Bhbi5Nc29IeXBlcmxpbmtGb2xsb3dlZAoJe21zby1zdHlsZS1w cmlvcml0eTo5OTsKCWNvbG9yOnB1cnBsZTsKCXRleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7fQpw Lk1zb0FjZXRhdGUsIGxpLk1zb0FjZXRhdGUsIGRpdi5Nc29BY2V0YXRlCgl7bXNvLXN0eWxlLXBy aW9yaXR5Ojk5OwoJbXNvLXN0eWxlLWxpbms6IkJhbGxvb24gVGV4dCBDaGFyIjsKCW1hcmdpbjow aW47CgltYXJnaW4tYm90dG9tOi4wMDAxcHQ7Cglmb250LXNpemU6OC4wcHQ7Cglmb250LWZhbWls eToiVGFob21hIiwic2Fucy1zZXJpZiI7fQpzcGFuLmltCgl7bXNvLXN0eWxlLW5hbWU6aW07fQpz cGFuLkVtYWlsU3R5bGUxOAoJe21zby1zdHlsZS10eXBlOnBlcnNvbmFsLXJlcGx5OwoJZm9udC1m YW1pbHk6IkNhbGlicmkiLCJzYW5zLXNlcmlmIjsKCWNvbG9yOiMxRjQ5N0Q7fQpzcGFuLkJhbGxv b25UZXh0Q2hhcgoJe21zby1zdHlsZS1uYW1lOiJCYWxsb29uIFRleHQgQ2hhciI7Cgltc28tc3R5 bGUtcHJpb3JpdHk6OTk7Cgltc28tc3R5bGUtbGluazoiQmFsbG9vbiBUZXh0IjsKCWZvbnQtZmFt aWx5OiJUYWhvbWEiLCJzYW5zLXNlcmlmIjt9Ci5Nc29DaHBEZWZhdWx0Cgl7bXNvLXN0eWxlLXR5 cGU6ZXhwb3J0LW9ubHk7Cglmb250LWZhbWlseToiQ2FsaWJyaSIsInNhbnMtc2VyaWYiO30KQHBh Z2UgV29yZFNlY3Rpb24xCgl7c2l6ZTo4LjVpbiAxMS4waW47CgltYXJnaW46MS4waW4gMS4waW4g MS4waW4gMS4waW47fQpkaXYuV29yZFNlY3Rpb24xCgl7cGFnZTpXb3JkU2VjdGlvbjE7fQotLT48 L3N0eWxlPjwhLS1baWYgZ3RlIG1zbyA5XT48eG1sPgo8bzpzaGFwZWRlZmF1bHRzIHY6ZXh0PTNE ImVkaXQiIHNwaWRtYXg9M0QiMTAyNiIgLz4KPC94bWw+PCFbZW5kaWZdLS0+PCEtLVtpZiBndGUg bXNvIDldPjx4bWw+CjxvOnNoYXBlbGF5b3V0IHY6ZXh0PTNEImVkaXQiPgo8bzppZG1hcCB2OmV4 dD0zRCJlZGl0IiBkYXRhPTNEIjEiIC8+CjwvbzpzaGFwZWxheW91dD48L3htbD48IVtlbmRpZl0t LT48L2hlYWQ+PGJvZHkgbGFuZz0zREVOLVVTIGxpbms9M0RibHVlID0Kdmxpbms9M0RwdXJwbGU+ PGRpdiBjbGFzcz0zRFdvcmRTZWN0aW9uMT48cCBjbGFzcz0zRE1zb05vcm1hbD48c3BhbiA9CnN0 eWxlPTNEJ2ZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6IkNhbGlicmkiLCJzYW5zLXNlcmlm Ijtjb2xvcjojMUY0OTc9CkQnPlRoZSBwb3dlcnNhdmluZyBwb2xpY3kgaXMgb25seSBhcHBsaWNh YmxlIHRvIHRoZSBob3N0cywgc28gaWYgeW91ciA9CmxvdyB1dGlsaXphdGlvbiB0aHJlc2hvbGQg aXMgYmVsb3cgdGhlIHBvd2VyIHBvbGljeSB3aGVuIHlvdSBwYXVzZSB0aGUgPQp2bSwgaXQgc2hv dWxkIHBsYWNlIHRoZSBob3N0IGludG8gbWFpbnRlbmFuY2UgYW5kIG1pZ3JhdGUgdGhlIHBhdXNl ZCB2bSA9CihtYXkgY2F1c2UgcHJvYmxlbXMpLiA9QzI9QTBJIGNhbm5vdCB0ZXN0IG9uIG15IGRl cGxveW1lbnQsIEkgYW0gYWxyZWFkeSA9CmRvd24gdG9vIG1hbnkgbWFjaGluZXM9RTI9ODA9QTYg aG93ZXZlciBpZiB5b3Ugd2FpdCBhIGNvdXBsZSBkYXlzIEkgY2FuID0KZ2V0IHlvdT1FMj04MD05 OXJlIGFuIGFuc3dlciBhcyB0byB3aGV0aGVyIGl0IHdvcmtzIG9uIG15IGRlcGxveW1lbnQgb3Ig PQpub3QgPC9zcGFuPjxzcGFuID0Kc3R5bGU9M0QnZm9udC1zaXplOjExLjBwdDtmb250LWZhbWls eTpXaW5nZGluZ3M7Y29sb3I6IzFGNDk3RCc+Sjwvc3Bhbj48cz0KcGFuID0Kc3R5bGU9M0QnZm9u dC1zaXplOjExLjBwdDtmb250LWZhbWlseToiQ2FsaWJyaSIsInNhbnMtc2VyaWYiO2NvbG9yOiMx RjQ5Nz0KRCc+PG86cD48L286cD48L3NwYW4+PC9wPjxwIGNsYXNzPTNETXNvTm9ybWFsPjxzcGFu ID0Kc3R5bGU9M0QnZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseToiQ2FsaWJyaSIsInNhbnMt c2VyaWYiO2NvbG9yOiMxRjQ5Nz0KRCc+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPjxwIGNs YXNzPTNETXNvTm9ybWFsPjxzcGFuID0Kc3R5bGU9M0QnZm9udC1zaXplOjExLjBwdDtmb250LWZh bWlseToiQ2FsaWJyaSIsInNhbnMtc2VyaWYiO2NvbG9yOiMxRjQ5Nz0KRCc+RG9ubnkgRCA8bzpw PjwvbzpwPjwvc3Bhbj48L3A+PHAgY2xhc3M9M0RNc29Ob3JtYWw+PHNwYW4gPQpzdHlsZT0zRCdm b250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiJDYWxpYnJpIiwic2Fucy1zZXJpZiI7Y29sb3I6 IzFGNDk3PQpEJz48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+PHAgY2xhc3M9M0RNc29Ob3Jt YWw+PGI+PHNwYW4gPQpzdHlsZT0zRCdmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiJUYWhv bWEiLCJzYW5zLXNlcmlmIic+RnJvbTo8L3NwYW4+PQo8L2I+PHNwYW4gc3R5bGU9M0QnZm9udC1z aXplOjEwLjBwdDtmb250LWZhbWlseToiVGFob21hIiwic2Fucy1zZXJpZiInPiA9CnVzZXJzLWJv dW5jZXNAb3ZpcnQub3JnIFttYWlsdG86dXNlcnMtYm91bmNlc0BvdmlydC5vcmddIDxiPk9uIEJl aGFsZiBPZiA9CjwvYj5NYXJpbyBHaWFtbWFyY288YnI+PGI+U2VudDo8L2I+IFR1ZXNkYXksIEph bnVhcnkgMTMsIDIwMTUgODoyMyA9CkFNPGJyPjxiPlRvOjwvYj4gQXJ0eW9tIEx1a2lhbm92PGJy PjxiPkNjOjwvYj4gPQp1c2Vyc0BvdmlydC5vcmc8YnI+PGI+U3ViamVjdDo8L2I+IFJlOiBbb3Zp cnQtdXNlcnNdIE92aXJ0IGFuZCBwb3dlciA9CnNhdmluZzxvOnA+PC9vOnA+PC9zcGFuPjwvcD48 cCA9CmNsYXNzPTNETXNvTm9ybWFsPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPjxkaXY+PHAgY2xhc3M9 M0RNc29Ob3JtYWw+SSBtZWFuID0KdGhhdCBJIGtub3cgdGhhdCBJIGNhbiBzZXQgYSBwb3dlciBz YXZpbmcgcG9saWN5LCBpdCBpcyBhIHZlcnkgbmljZSA9CnRoaW5nLjxvOnA+PC9vOnA+PC9wPjxk aXY+PHAgY2xhc3M9M0RNc29Ob3JtYWw+SSBuZWVkIHRvIGJlIHN1cmUgdGhhdCBJID0KY2FuIHBh dXNlL3N1c3BlbmQgKG5vdCBzaHV0ZG93bikgdmlydHVhbCA9Cm1hY2hpbmVzLjxvOnA+PC9vOnA+ PC9wPjwvZGl2PjxkaXY+PHAgY2xhc3M9M0RNc29Ob3JtYWw+SSBhbHNvIG5lZWQgPQp0aGF0LCBp ZiBJIHN1c3BlbmQgZW5vdWdoIHZpcnR1YWwgbWFjaGluZXMgb3ZpcnQgc2h1dGRvd25zIHNlcnZl ciB0byA9CnNhdmUgcG93ZXIgZm9sbG93aW5nIHRoZSBwb3dlciBzYXZlIHBvbGljeS48bzpwPjwv bzpwPjwvcD48L2Rpdj48ZGl2PjxwID0KY2xhc3M9M0RNc29Ob3JtYWw+PG86cD4mbmJzcDs8L286 cD48L3A+PC9kaXY+PGRpdj48cCA9CmNsYXNzPTNETXNvTm9ybWFsPk90aGVyd2lzZSBpcyBpdCBw b3NzaWJsZSB0byBtYW51YWxseSBzaHV0ZG93biBhIHNlcnZlciA9CmZvcmNpbmcgb3ZpcnQgdG8g bWlncmF0ZSB2bXMgdG8gdGhlIG9ubHkgb25lIHBvd2VyZWQgPQp1cD88bzpwPjwvbzpwPjwvcD48 L2Rpdj48ZGl2PjxwID0KY2xhc3M9M0RNc29Ob3JtYWw+PG86cD4mbmJzcDs8L286cD48L3A+PC9k aXY+PGRpdj48cCA9CmNsYXNzPTNETXNvTm9ybWFsPkJhc2ljYWxseSBpdCBpcyBhICZxdW90O21h bnVhbCBwb3dlciBzYXZpbmcmcXVvdDsgPQptb2RlLjxvOnA+PC9vOnA+PC9wPjwvZGl2PjxkaXY+ PHAgPQpjbGFzcz0zRE1zb05vcm1hbD48bzpwPiZuYnNwOzwvbzpwPjwvcD48L2Rpdj48ZGl2Pjxw ID0KY2xhc3M9M0RNc29Ob3JtYWw+VGhhbmtzIGFnYWluLDxvOnA+PC9vOnA+PC9wPjwvZGl2Pjxk aXY+PHAgPQpjbGFzcz0zRE1zb05vcm1hbD5NYXJpbzxvOnA+PC9vOnA+PC9wPjwvZGl2PjwvZGl2 PjxkaXY+PHAgPQpjbGFzcz0zRE1zb05vcm1hbD48bzpwPiZuYnNwOzwvbzpwPjwvcD48ZGl2Pjxw ID0KY2xhc3M9M0RNc29Ob3JtYWw+MjAxNS0wMS0xMyAxNDoyMSBHTVQrMDE6MDAgQXJ0eW9tIEx1 a2lhbm92ICZsdDs8YSA9CmhyZWY9M0QibWFpbHRvOmFsdWtpYW5vQHJlZGhhdC5jb20iID0KdGFy Z2V0PTNEIl9ibGFuayI+YWx1a2lhbm9AcmVkaGF0LmNvbTwvYT4mZ3Q7OjxvOnA+PC9vOnA+PC9w PjxwID0KY2xhc3M9M0RNc29Ob3JtYWw+Tm90IHJlYWxseSB1bmRlcnN0YW5kIHlvdSwgd2hhdCB5 b3UgbWVhbiBieSAmcXVvdDt5b3UgPQpjYW4gcGF1c2Ugdm0gYW5kIHNvIHRyaWdnZXIgdGhlIGxv dzxicj51dGlsaXphdGlvbiA9CnBhcmFtZXRlciZxdW90Oz88YnI+PGJyPjxzcGFuIGNsYXNzPTNE aW0+LS0tLS0gT3JpZ2luYWwgTWVzc2FnZSA9Ci0tLS0tPC9zcGFuPjxicj48c3BhbiBjbGFzcz0z RGltPkZyb206ICZxdW90O01hcmlvIEdpYW1tYXJjbyZxdW90OyA9CiZsdDs8YSA9CmhyZWY9M0Qi bWFpbHRvOm1naWFtbWFyY29AZ21haWwuY29tIj5tZ2lhbW1hcmNvQGdtYWlsLmNvbTwvYT4mZ3Q7 PC9zcGFuPjw9Cm86cD48L286cD48L3A+PGRpdj48ZGl2PjxwIGNsYXNzPTNETXNvTm9ybWFsPlRv OiAmcXVvdDtBcnR5b20gPQpMdWtpYW5vdiZxdW90OyAmbHQ7PGEgPQpocmVmPTNEIm1haWx0bzph bHVraWFub0ByZWRoYXQuY29tIj5hbHVraWFub0ByZWRoYXQuY29tPC9hPiZndDs8YnI+Q2M6ID0K PGEgaHJlZj0zRCJtYWlsdG86dXNlcnNAb3ZpcnQub3JnIj51c2Vyc0BvdmlydC5vcmc8L2E+PGJy PlNlbnQ6IFR1ZXNkYXksID0KSmFudWFyeSAxMywgMjAxNSAzOjA1OjA2IFBNPGJyPlN1YmplY3Q6 IFJlOiBbb3ZpcnQtdXNlcnNdIE92aXJ0IGFuZCA9CnBvd2VyIHNhdmluZzxicj48YnI+VGhhbmtz IGZvciByZXBseS48YnI+SSBqdXN0IHdhbnQgbm93IHRvJm5ic3A7IGJlID0Kc3VyZSB0aGF0IHlv dSBjYW4gcGF1c2Ugdm0gYW5kIHNvIHRyaWdnZXIgdGhlIGxvdzxicj51dGlsaXphdGlvbiA9CnBh cmFtZXRlcjxicj48YnI+MjAxNS0wMS0xMyAxMjo0NSBHTVQrMDE6MDAgQXJ0eW9tIEx1a2lhbm92 ICZsdDs8YSA9CmhyZWY9M0QibWFpbHRvOmFsdWtpYW5vQHJlZGhhdC5jb20iPmFsdWtpYW5vQHJl ZGhhdC5jb208L2E+Jmd0Ozo8YnI+PGJyPiY9Cmd0OyBXZSBoYXZlIHBvd2VyIHNhdmluZyBwb2xp Y3kgdGhhdCBhbHNvIGhhdmUgcG9zc2liaWxpdHkgdG8gPQpwb3dlcm9mZjxicj4mZ3Q7IGhvc3Rz KHZpYSBwb3dlciBtYW5hZ2VtZW50KSwgeW91IGNhbiBjb25maWd1cmUgcG93ZXIgPQpzYXZpbmcg cG9saWN5PGJyPiZndDsgcGFyYW1ldGVycyBmb3IgeW91IHB1cnBvc2UoSGlnaFV0aWxpemF0aW9u IGNhbiA9CmhhdmUgdmFsdWVzIGZyb20gNTAtMTAwIGFuZDxicj4mZ3Q7IExvd1V0aWxpemF0aW9u IDAtNDkpLCBzbyB5b3UgY2FuIHNldCA9Ckxvd1V0aWxpemF0aW9uPTNEMCBhbmQ8YnI+Jmd0OyBI aWdoVXRpbGl6YXRpb249M0Q1MCwgc28gbG9hZCBiYWxhbmNpbmcgPQp3aWxsIHRyeSBtaWdyYXRl IGFsbCB2bXMgb24gb25lPGJyPiZndDsgaG9zdChpZiBjcHUgdXRpbGl6YXRpb24gbGVzcyA9CnRo YXQgNTApLiBBbmQgYWxzbyB5b3UgY2FuIHNldCBwYXJhbWV0ZXI8YnI+Jmd0OyA9CiZxdW90O0hv c3RzSW5SZXNlcnZlJnF1b3Q7IHRvIDAgaWYgeW91IGRvIG5vdCB3YW50IGFkZGl0aW9uYWwgaG9z dHMgaW4gPQpyZXNlcnZlLjxicj4mZ3Q7PGJyPiZndDsgLS0tLS0gT3JpZ2luYWwgTWVzc2FnZSAt LS0tLTxicj4mZ3Q7IEZyb206ID0KJnF1b3Q7TWFyaW8gR2lhbW1hcmNvJnF1b3Q7ICZsdDs8YSA9 CmhyZWY9M0QibWFpbHRvOm1naWFtbWFyY29AZ21haWwuY29tIj5tZ2lhbW1hcmNvQGdtYWlsLmNv bTwvYT4mZ3Q7PGJyPiZndDs9CiBUbzogPGEgaHJlZj0zRCJtYWlsdG86dXNlcnNAb3ZpcnQub3Jn Ij51c2Vyc0BvdmlydC5vcmc8L2E+PGJyPiZndDsgPQpTZW50OiBUdWVzZGF5LCBKYW51YXJ5IDEz LCAyMDE1IDE6MzA6MzggUE08YnI+Jmd0OyBTdWJqZWN0OiA9CltvdmlydC11c2Vyc10gT3ZpcnQg YW5kIHBvd2VyIHNhdmluZzxicj4mZ3Q7PGJyPiZndDsgSGVsbG8sPGJyPiZndDsgSSA9CndvdWxk IGxpa2UgdG8gYXNrIGlmIGl0IGlzIHBvc3NpYmxlIHRvIGRvIHRoaXMgdXNlIGNhc2Ugd2l0aCA9 Cm92aXJ0Ojxicj4mZ3Q7PGJyPiZndDsgMSkgdHdvIHNlcnZlcnMgcG93ZXJlZCBvbjxicj4mZ3Q7 IDIpIG9wZXJhdG9yID0Kc3VzcGVuZCBzb21lIHZpcnR1YWwgbWFjaGluZXM8YnI+Jmd0OyAzKSBs b2FkIGZhbGxzIGRvd248YnI+Jmd0OyA0KSA9Cm92aXJ0IHNodXRkb3duIG9uZSBzZXJ2ZXI8YnI+ Jmd0Ozxicj4mZ3Q7IFRoZW4gb3BlcmF0b3IgdW5wYXVzZXMgdmlydHVhbCA9Cm1hY2hpbmVzIGFu ZCBvdmlydCBzdGFydHMgYWdhaW4gdGhlIDJuZDxicj4mZ3Q7IHNlcnZlci48YnI+Jmd0Ozxicj4m Z3Q7ID0KVGhhbmtzLDxicj4mZ3Q7IE1hcmlvPGJyPiZndDs8YnI+Jmd0OyA9Cl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fPGJyPiZndDsgVXNlcnMgbWFpbGlu ZyA9Cmxpc3Q8YnI+Jmd0OyA8YSA9CmhyZWY9M0QibWFpbHRvOlVzZXJzQG92aXJ0Lm9yZyI+VXNl cnNAb3ZpcnQub3JnPC9hPjxicj4mZ3Q7IDxhID0KaHJlZj0zRCJodHRwOi8vbGlzdHMub3ZpcnQu b3JnL21haWxtYW4vbGlzdGluZm8vdXNlcnMiID0KdGFyZ2V0PTNEIl9ibGFuayI+aHR0cDovL2xp c3RzLm92aXJ0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3VzZXJzPC9hPjxicj4mZz0KdDs8bzpwPjwv bzpwPjwvcD48L2Rpdj48L2Rpdj48L2Rpdj48cCA9CmNsYXNzPTNETXNvTm9ybWFsPjxvOnA+Jm5i c3A7PC9vOnA+PC9wPjwvZGl2PjwvZGl2PjwvYm9keT48L2h0bWw+Ci0tLS0tLT1fTmV4dFBhcnRf MDAwXzAwQ0JfMDFEMDJGMUYuNTM0MUIwOTAtLQoK --===============5243657765206015452==--