From knarra at redhat.com Fri Jun 30 12:09:36 2017 Content-Type: multipart/mixed; boundary="===============0930226406961785907==" MIME-Version: 1.0 From: knarra To: users at ovirt.org Subject: Re: [ovirt-users] add fourth full gluster node and remove arbiter: ovirt 4.1 with hosted engine Date: Fri, 30 Jun 2017 17:39:32 +0530 Message-ID: <0b365a76-c3c7-5a51-19ad-17330ea7288f@redhat.com> In-Reply-To: CAGK=3ky808BwVy2=sEjA2rR0PZviY0fF9CbfWiWu9o0-U=Z04A@mail.gmail.com --===============0930226406961785907== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable This is a multi-part message in MIME format. --------------82E81368194F4601F67DAE1A Content-Type: text/plain; charset=3Dutf-8; format=3Dflowed Content-Transfer-Encoding: 7bit On 06/30/2017 04:24 PM, yayo (j) wrote: > > 2017-06-30 11:01 GMT+02:00 knarra >: > > You do not need to remove the arbiter node as you are getting the > advantage of saving on space by having this config. > > Since you have a new you can add this as fourth node and create > another gluster volume (replica 3) out of this node plus the other > two nodes and run vm images there as well. > > > Hi, > > And thanks for the answer. The actual arbiter must be removed because = > is too obsolete. So, I needs to add the new "full replicated" node but = > I want to know what are the steps for add a new "full replicated" node To add a fully replicated node you need to reduce the replica count to = 2 and add new brick to the volume so that it becomes replica 3. Reducing = replica count by removing a brick from replica / arbiter cannot be done = from UI currently and this has to be done using gluster CLI. AFAIR, there was an issue where vm's were going to paused state when = reducing the replica count and increasing it to 3. Not sure if this = still holds good with the latest release. Any specific reason why you want to move to full replication instead of = using an arbiter node ? > and remove the arbiter node (Also a way to move the arbiter role to = > the new node, If needed) To move arbiter role to a new node you can move the node to maintenance = , add new node and replace old brick with new brick. You can follow = the steps below to do that. * Move the node to be replaced into Maintenance mode * Prepare the replacement node * Prepare bricks on that node. * Create replacement brick directories * Ensure the new directories are owned by the vdsm user and the kvm group. * # mkdir /rhgs/bricks/engine * # chmod vdsm:kvm /rhgs/bricks/engine * # mkdir /rhgs/bricks/data * # chmod vdsm:kvm /rhgs/bricks/data * Run the following command from one of the healthy cluster members: * # gluster peer probe * add the new host to the cluster. * Add new host address to gluster network * Click Network Interfaces sub-tab. * Click Set up Host Networks. * Drag and drop the glusternw network onto the IP address of the new host. * Click OK * Replace the old brick with the brick on the new host * Click the Bricks sub-tab. * Verify that brick heal completes successfully. * In the Hosts tab, right-click on the old host and click Remove. * Clean old host metadata * # hosted-engine --clean-metadata --host-id=3D --force-clean > . Extra info: I want to know if I can do this on an existing ovirt = > gluster Data Domain (called Data01) because we have many vm runnig on it. When you move your node to maintenance all the vms running on that node = will be migrated to another node and since you have two nodes up and = running there should not be any problem. > > thank you --------------82E81368194F4601F67DAE1A Content-Type: text/html; charset=3Dutf-8 Content-Transfer-Encoding: 8bit
On 06/30/2017 04:24 PM, yayo (j) wrote:<= br>

2017-06-30 11:01 GMT+02:00 knarra <knarr= a(a)redhat.com>:
You do not need to remove the arbiter node as you are getting the advantage of saving on space by having this config.=C2=A0

Since you have a new you can add this as fourth node and create another gluster volume (replica 3) out of this node plus the other two nodes and run vm images there as well.

Hi,

And thanks for the answer. The actual arbiter must be removed because is too obsolete. So, I needs to add the new "full replicated" node but I want to know what are the steps for add a new "full replicated" node
To add a fully replicated node=C2=A0 you need to reduce the replica cou= nt to 2 and add new brick to the volume so that it becomes replica 3. Reducing replica count by removing a brick from replica / arbiter cannot be done from UI currently and this has to be done using gluster CLI.
=C2=A0AFAIR, there was an issue where vm's were going to paused state when reducing the replica count and increasing it to 3. Not sure if this still holds good with the latest release.

Any specific reason why you want to move to full replication instead of using an arbiter node ?



and remove the arbiter node (Also a way to move the arbiter role to the new node, If needed)
To move arbiter role to a new node you can move the node to maintenance , add=C2=A0 new node and replace=C2=A0 old brick with new b= rick. You can follow the steps below to do that.

  • Move the node to be replaced into Maintenance mode
  • Prepare the replacement node
  • Prepare bricks on that node.
  • Create replacement brick directories
  • Ensure the new directories are owned by the vdsm user and the kvm group.
  • # mkdir /rhgs/bricks/engine
  • # chmod vdsm:kvm /rhgs/bricks/engine
  • # mkdir /rhgs/bricks/data
  • # chmod vdsm:kvm /rhgs/bricks/data
  • Run the following command from one of the healthy cluster members:
  • # gluster peer probe <new_node>
  • =C2=A0add the new host to the cluster.
  • Add new host address to gluster network
  • Click Network Interfaces sub-tab.
  • Click Set up Host Networks.
  • Drag and drop the glusternw network onto the IP address of the new host.
  • Click OK
  • Replace the old brick with the brick on the new host
  • Click the Bricks sub-tab.
  • Verify that brick heal completes successfully.
  • In the Hosts tab, right-click on the old host and click Remove.
  • Clean old host metadata
  • # hosted-engine --clean-metadata --host-id=3D<old_host_id> --force-clean


. Extra info: I want to know if I can do this on an existing ovirt gluster Data Domain (called Data01) because we have many vm runnig on it.
When you move your node to maintenance all the vms running on that node will be migrated to another node and since you have two nodes up and running there should not be any problem.

thank you =C2=A0

--------------82E81368194F4601F67DAE1A-- --===============0930226406961785907== Content-Type: multipart/alternative MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.bin" VGhpcyBpcyBhIG11bHRpLXBhcnQgbWVzc2FnZSBpbiBNSU1FIGZvcm1hdC4KLS0tLS0tLS0tLS0t LS04MkU4MTM2ODE5NEY0NjAxRjY3REFFMUEKQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFy c2V0PXV0Zi04OyBmb3JtYXQ9Zmxvd2VkCkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDdiaXQK Ck9uIDA2LzMwLzIwMTcgMDQ6MjQgUE0sIHlheW8gKGopIHdyb3RlOgo+Cj4gMjAxNy0wNi0zMCAx MTowMSBHTVQrMDI6MDAga25hcnJhIDxrbmFycmFAcmVkaGF0LmNvbSAKPiA8bWFpbHRvOmtuYXJy YUByZWRoYXQuY29tPj46Cj4KPiAgICAgWW91IGRvIG5vdCBuZWVkIHRvIHJlbW92ZSB0aGUgYXJi aXRlciBub2RlIGFzIHlvdSBhcmUgZ2V0dGluZyB0aGUKPiAgICAgYWR2YW50YWdlIG9mIHNhdmlu ZyBvbiBzcGFjZSBieSBoYXZpbmcgdGhpcyBjb25maWcuCj4KPiAgICAgU2luY2UgeW91IGhhdmUg YSBuZXcgeW91IGNhbiBhZGQgdGhpcyBhcyBmb3VydGggbm9kZSBhbmQgY3JlYXRlCj4gICAgIGFu b3RoZXIgZ2x1c3RlciB2b2x1bWUgKHJlcGxpY2EgMykgb3V0IG9mIHRoaXMgbm9kZSBwbHVzIHRo ZSBvdGhlcgo+ICAgICB0d28gbm9kZXMgYW5kIHJ1biB2bSBpbWFnZXMgdGhlcmUgYXMgd2VsbC4K Pgo+Cj4gSGksCj4KPiBBbmQgdGhhbmtzIGZvciB0aGUgYW5zd2VyLiBUaGUgYWN0dWFsIGFyYml0 ZXIgbXVzdCBiZSByZW1vdmVkIGJlY2F1c2UgCj4gaXMgdG9vIG9ic29sZXRlLiBTbywgSSBuZWVk cyB0byBhZGQgdGhlIG5ldyAiZnVsbCByZXBsaWNhdGVkIiBub2RlIGJ1dCAKPiBJIHdhbnQgdG8g a25vdyB3aGF0IGFyZSB0aGUgc3RlcHMgZm9yIGFkZCBhIG5ldyAiZnVsbCByZXBsaWNhdGVkIiBu b2RlClRvIGFkZCBhIGZ1bGx5IHJlcGxpY2F0ZWQgbm9kZSAgeW91IG5lZWQgdG8gcmVkdWNlIHRo ZSByZXBsaWNhIGNvdW50IHRvIAoyIGFuZCBhZGQgbmV3IGJyaWNrIHRvIHRoZSB2b2x1bWUgc28g dGhhdCBpdCBiZWNvbWVzIHJlcGxpY2EgMy4gUmVkdWNpbmcgCnJlcGxpY2EgY291bnQgYnkgcmVt b3ZpbmcgYSBicmljayBmcm9tIHJlcGxpY2EgLyBhcmJpdGVyIGNhbm5vdCBiZSBkb25lIApmcm9t IFVJIGN1cnJlbnRseSBhbmQgdGhpcyBoYXMgdG8gYmUgZG9uZSB1c2luZyBnbHVzdGVyIENMSS4K ICBBRkFJUiwgdGhlcmUgd2FzIGFuIGlzc3VlIHdoZXJlIHZtJ3Mgd2VyZSBnb2luZyB0byBwYXVz ZWQgc3RhdGUgd2hlbiAKcmVkdWNpbmcgdGhlIHJlcGxpY2EgY291bnQgYW5kIGluY3JlYXNpbmcg aXQgdG8gMy4gTm90IHN1cmUgaWYgdGhpcyAKc3RpbGwgaG9sZHMgZ29vZCB3aXRoIHRoZSBsYXRl c3QgcmVsZWFzZS4KCkFueSBzcGVjaWZpYyByZWFzb24gd2h5IHlvdSB3YW50IHRvIG1vdmUgdG8g ZnVsbCByZXBsaWNhdGlvbiBpbnN0ZWFkIG9mIAp1c2luZyBhbiBhcmJpdGVyIG5vZGUgPwoKCgo+ IGFuZCByZW1vdmUgdGhlIGFyYml0ZXIgbm9kZSAoQWxzbyBhIHdheSB0byBtb3ZlIHRoZSBhcmJp dGVyIHJvbGUgdG8gCj4gdGhlIG5ldyBub2RlLCBJZiBuZWVkZWQpClRvIG1vdmUgYXJiaXRlciBy b2xlIHRvIGEgbmV3IG5vZGUgeW91IGNhbiBtb3ZlIHRoZSBub2RlIHRvIG1haW50ZW5hbmNlIAos IGFkZCAgbmV3IG5vZGUgYW5kIHJlcGxhY2UgIG9sZCBicmljayB3aXRoIG5ldyBicmljay4gWW91 IGNhbiBmb2xsb3cgCnRoZSBzdGVwcyBiZWxvdyB0byBkbyB0aGF0LgoKICAqIE1vdmUgdGhlIG5v ZGUgdG8gYmUgcmVwbGFjZWQgaW50byBNYWludGVuYW5jZSBtb2RlCiAgKiBQcmVwYXJlIHRoZSBy ZXBsYWNlbWVudCBub2RlCiAgKiBQcmVwYXJlIGJyaWNrcyBvbiB0aGF0IG5vZGUuCiAgKiBDcmVh dGUgcmVwbGFjZW1lbnQgYnJpY2sgZGlyZWN0b3JpZXMKICAqIEVuc3VyZSB0aGUgbmV3IGRpcmVj dG9yaWVzIGFyZSBvd25lZCBieSB0aGUgdmRzbSB1c2VyIGFuZCB0aGUga3ZtIGdyb3VwLgogICog IyBta2RpciAvcmhncy9icmlja3MvZW5naW5lCiAgKiAjIGNobW9kIHZkc206a3ZtIC9yaGdzL2Jy aWNrcy9lbmdpbmUKICAqICMgbWtkaXIgL3JoZ3MvYnJpY2tzL2RhdGEKICAqICMgY2htb2QgdmRz bTprdm0gL3JoZ3MvYnJpY2tzL2RhdGEKICAqIFJ1biB0aGUgZm9sbG93aW5nIGNvbW1hbmQgZnJv bSBvbmUgb2YgdGhlIGhlYWx0aHkgY2x1c3RlciBtZW1iZXJzOgogICogIyBnbHVzdGVyIHBlZXIg cHJvYmUgPG5ld19ub2RlPgogICogICBhZGQgdGhlIG5ldyBob3N0IHRvIHRoZSBjbHVzdGVyLgog ICogQWRkIG5ldyBob3N0IGFkZHJlc3MgdG8gZ2x1c3RlciBuZXR3b3JrCiAgKiBDbGljayBOZXR3 b3JrIEludGVyZmFjZXMgc3ViLXRhYi4KICAqIENsaWNrIFNldCB1cCBIb3N0IE5ldHdvcmtzLgog ICogRHJhZyBhbmQgZHJvcCB0aGUgZ2x1c3Rlcm53IG5ldHdvcmsgb250byB0aGUgSVAgYWRkcmVz cyBvZiB0aGUgbmV3IGhvc3QuCiAgKiBDbGljayBPSwogICogUmVwbGFjZSB0aGUgb2xkIGJyaWNr IHdpdGggdGhlIGJyaWNrIG9uIHRoZSBuZXcgaG9zdAogICogQ2xpY2sgdGhlIEJyaWNrcyBzdWIt dGFiLgogICogVmVyaWZ5IHRoYXQgYnJpY2sgaGVhbCBjb21wbGV0ZXMgc3VjY2Vzc2Z1bGx5Lgog ICogSW4gdGhlIEhvc3RzIHRhYiwgcmlnaHQtY2xpY2sgb24gdGhlIG9sZCBob3N0IGFuZCBjbGlj ayBSZW1vdmUuCiAgKiBDbGVhbiBvbGQgaG9zdCBtZXRhZGF0YQogICogIyBob3N0ZWQtZW5naW5l IC0tY2xlYW4tbWV0YWRhdGEgLS1ob3N0LWlkPTxvbGRfaG9zdF9pZD4gLS1mb3JjZS1jbGVhbgoK Cgo+IC4gRXh0cmEgaW5mbzogSSB3YW50IHRvIGtub3cgaWYgSSBjYW4gZG8gdGhpcyBvbiBhbiBl eGlzdGluZyBvdmlydCAKPiBnbHVzdGVyIERhdGEgRG9tYWluIChjYWxsZWQgRGF0YTAxKSBiZWNh dXNlIHdlIGhhdmUgbWFueSB2bSBydW5uaWcgb24gaXQuCldoZW4geW91IG1vdmUgeW91ciBub2Rl IHRvIG1haW50ZW5hbmNlIGFsbCB0aGUgdm1zIHJ1bm5pbmcgb24gdGhhdCBub2RlIAp3aWxsIGJl IG1pZ3JhdGVkIHRvIGFub3RoZXIgbm9kZSBhbmQgc2luY2UgeW91IGhhdmUgdHdvIG5vZGVzIHVw IGFuZCAKcnVubmluZyB0aGVyZSBzaG91bGQgbm90IGJlIGFueSBwcm9ibGVtLgo+Cj4gdGhhbmsg eW91CgoKLS0tLS0tLS0tLS0tLS04MkU4MTM2ODE5NEY0NjAxRjY3REFFMUEKQ29udGVudC1UeXBl OiB0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgKQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJp dAoKPGh0bWw+CiAgPGhlYWQ+CiAgICA8bWV0YSBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9 dXRmLTgiIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSI+CiAgPC9oZWFkPgogIDxib2R5IGJnY29s b3I9IiNGRkZGRkYiIHRleHQ9IiMwMDAwMDAiPgogICAgPGRpdiBjbGFzcz0ibW96LWNpdGUtcHJl Zml4Ij5PbiAwNi8zMC8yMDE3IDA0OjI0IFBNLCB5YXlvIChqKSB3cm90ZTo8YnI+CiAgICA8L2Rp dj4KICAgIDxibG9ja3F1b3RlCmNpdGU9Im1pZDpDQUdLPTNreTgwOEJ3VnkyPXNFakEyclIwUFp2 aVkwZkY5Q2JmV2lXdTlvMC1VPVowNEFAbWFpbC5nbWFpbC5jb20iCiAgICAgIHR5cGU9ImNpdGUi PgogICAgICA8ZGl2IGRpcj0ibHRyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJnbWFpbF9leHRyYSI+ PGJyPgogICAgICAgICAgPGRpdiBjbGFzcz0iZ21haWxfcXVvdGUiPjIwMTctMDYtMzAgMTE6MDEg R01UKzAyOjAwIGtuYXJyYSA8c3BhbgogICAgICAgICAgICAgIGRpcj0ibHRyIj4mbHQ7PGEgbW96 LWRvLW5vdC1zZW5kPSJ0cnVlIgogICAgICAgICAgICAgICAgaHJlZj0ibWFpbHRvOmtuYXJyYUBy ZWRoYXQuY29tIiB0YXJnZXQ9Il9ibGFuayI+a25hcnJhQHJlZGhhdC5jb208L2E+Jmd0Ozwvc3Bh bj46PGJyPgogICAgICAgICAgICA8YmxvY2txdW90ZSBjbGFzcz0iZ21haWxfcXVvdGUiIHN0eWxl PSJtYXJnaW46MHB4IDBweCAwcHgKICAgICAgICAgICAgICAwLjhleDtib3JkZXItbGVmdDoxcHgg c29saWQKICAgICAgICAgICAgICByZ2IoMjA0LDIwNCwyMDQpO3BhZGRpbmctbGVmdDoxZXgiPgog ICAgICAgICAgICAgIDxkaXYgYmdjb2xvcj0iI0ZGRkZGRiI+WW91IGRvIG5vdCBuZWVkIHRvIHJl bW92ZSB0aGUKICAgICAgICAgICAgICAgIGFyYml0ZXIgbm9kZSBhcyB5b3UgYXJlIGdldHRpbmcg dGhlIGFkdmFudGFnZSBvZiBzYXZpbmcKICAgICAgICAgICAgICAgIG9uIHNwYWNlIGJ5IGhhdmlu ZyB0aGlzIGNvbmZpZy7CoCA8YnI+CiAgICAgICAgICAgICAgICA8YnI+CiAgICAgICAgICAgICAg ICBTaW5jZSB5b3UgaGF2ZSBhIG5ldyB5b3UgY2FuIGFkZCB0aGlzIGFzIGZvdXJ0aCBub2RlIGFu ZAogICAgICAgICAgICAgICAgY3JlYXRlIGFub3RoZXIgZ2x1c3RlciB2b2x1bWUgKHJlcGxpY2Eg Mykgb3V0IG9mIHRoaXMKICAgICAgICAgICAgICAgIG5vZGUgcGx1cyB0aGUgb3RoZXIgdHdvIG5v ZGVzIGFuZCBydW4gdm0gaW1hZ2VzIHRoZXJlIGFzCiAgICAgICAgICAgICAgICB3ZWxsLjwvZGl2 PgogICAgICAgICAgICA8L2Jsb2NrcXVvdGU+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rp dj4KICAgICAgICA8ZGl2IGNsYXNzPSJnbWFpbF9leHRyYSI+CiAgICAgICAgICA8ZGl2IGNsYXNz PSJnbWFpbF9leHRyYSI+PGJyPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNz PSJnbWFpbF9leHRyYSI+SGksPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJnbWFpbF9leHRy YSI+PGJyPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJnbWFpbF9leHRy YSI+QW5kIHRoYW5rcyBmb3IgdGhlIGFuc3dlci4gVGhlIGFjdHVhbAogICAgICAgICAgICBhcmJp dGVyIG11c3QgYmUgcmVtb3ZlZCBiZWNhdXNlIGlzIHRvbyBvYnNvbGV0ZS4gU28sIEkgbmVlZHMK ICAgICAgICAgICAgdG8gYWRkIHRoZSBuZXcgImZ1bGwgcmVwbGljYXRlZCIgbm9kZSBidXQgSSB3 YW50IHRvIGtub3cKICAgICAgICAgICAgd2hhdCBhcmUgdGhlIHN0ZXBzIGZvciBhZGQgYSBuZXcg ImZ1bGwgcmVwbGljYXRlZCIgbm9kZSA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+ CiAgICA8L2Jsb2NrcXVvdGU+CiAgICBUbyBhZGQgYSBmdWxseSByZXBsaWNhdGVkIG5vZGXCoCB5 b3UgbmVlZCB0byByZWR1Y2UgdGhlIHJlcGxpY2EgY291bnQKICAgIHRvIDIgYW5kIGFkZCBuZXcg YnJpY2sgdG8gdGhlIHZvbHVtZSBzbyB0aGF0IGl0IGJlY29tZXMgcmVwbGljYSAzLgogICAgUmVk dWNpbmcgcmVwbGljYSBjb3VudCBieSByZW1vdmluZyBhIGJyaWNrIGZyb20gcmVwbGljYSAvIGFy Yml0ZXIKICAgIGNhbm5vdCBiZSBkb25lIGZyb20gVUkgY3VycmVudGx5IGFuZCB0aGlzIGhhcyB0 byBiZSBkb25lIHVzaW5nCiAgICBnbHVzdGVyIENMSS4gPGJyPgogICAgwqBBRkFJUiwgdGhlcmUg d2FzIGFuIGlzc3VlIHdoZXJlIHZtJ3Mgd2VyZSBnb2luZyB0byBwYXVzZWQgc3RhdGUKICAgIHdo ZW4gcmVkdWNpbmcgdGhlIHJlcGxpY2EgY291bnQgYW5kIGluY3JlYXNpbmcgaXQgdG8gMy4gTm90 IHN1cmUgaWYKICAgIHRoaXMgc3RpbGwgaG9sZHMgZ29vZCB3aXRoIHRoZSBsYXRlc3QgcmVsZWFz ZS4gPGJyPgogICAgPGJyPgogICAgQW55IHNwZWNpZmljIHJlYXNvbiB3aHkgeW91IHdhbnQgdG8g bW92ZSB0byBmdWxsIHJlcGxpY2F0aW9uIGluc3RlYWQKICAgIG9mIHVzaW5nIGFuIGFyYml0ZXIg bm9kZSA/PGJyPgogICAgPGJyPgogICAgPGJyPgogICAgPGJyPgogICAgPGJsb2NrcXVvdGUKY2l0 ZT0ibWlkOkNBR0s9M2t5ODA4QndWeTI9c0VqQTJyUjBQWnZpWTBmRjlDYmZXaVd1OW8wLVU9WjA0 QUBtYWlsLmdtYWlsLmNvbSIKICAgICAgdHlwZT0iY2l0ZSI+CiAgICAgIDxkaXYgZGlyPSJsdHIi PgogICAgICAgIDxkaXYgY2xhc3M9ImdtYWlsX2V4dHJhIj4KICAgICAgICAgIDxkaXYgY2xhc3M9 ImdtYWlsX2V4dHJhIj5hbmQgcmVtb3ZlIHRoZSBhcmJpdGVyIG5vZGUgKEFsc28gYQogICAgICAg ICAgICB3YXkgdG8gbW92ZSB0aGUgYXJiaXRlciByb2xlIHRvIHRoZSBuZXcgbm9kZSwgSWYgbmVl ZGVkKSA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2Jsb2NrcXVvdGU+ CiAgICBUbyBtb3ZlIGFyYml0ZXIgcm9sZSB0byBhIG5ldyBub2RlIHlvdSBjYW4gbW92ZSB0aGUg bm9kZSB0bwogICAgbWFpbnRlbmFuY2UgLCBhZGTCoCBuZXcgbm9kZSBhbmQgcmVwbGFjZcKgIG9s ZCBicmljayB3aXRoIG5ldyBicmljay4KICAgIFlvdSBjYW4gZm9sbG93IHRoZSBzdGVwcyBiZWxv dyB0byBkbyB0aGF0Ljxicj4KICAgIDxicj4KICAgIDx1bD4KICAgICAgPGxpPk1vdmUgdGhlIG5v ZGUgdG8gYmUgcmVwbGFjZWQgaW50byBNYWludGVuYW5jZSBtb2RlPC9saT4KICAgICAgPGxpPlBy ZXBhcmUgdGhlIHJlcGxhY2VtZW50IG5vZGU8L2xpPgogICAgICA8bGk+UHJlcGFyZSBicmlja3Mg b24gdGhhdCBub2RlLjwvbGk+CiAgICAgIDxsaT5DcmVhdGUgcmVwbGFjZW1lbnQgYnJpY2sgZGly ZWN0b3JpZXM8L2xpPgogICAgICA8bGk+RW5zdXJlIHRoZSBuZXcgZGlyZWN0b3JpZXMgYXJlIG93 bmVkIGJ5IHRoZSB2ZHNtIHVzZXIgYW5kIHRoZQogICAgICAgIGt2bSBncm91cC48L2xpPgogICAg ICA8bGk+IyBta2RpciAvcmhncy9icmlja3MvZW5naW5lPC9saT4KICAgICAgPGxpPiMgY2htb2Qg dmRzbTprdm0gL3JoZ3MvYnJpY2tzL2VuZ2luZTwvbGk+CiAgICAgIDxsaT4jIG1rZGlyIC9yaGdz L2JyaWNrcy9kYXRhPC9saT4KICAgICAgPGxpPiMgY2htb2QgdmRzbTprdm0gL3JoZ3MvYnJpY2tz L2RhdGE8L2xpPgogICAgICA8bGk+UnVuIHRoZSBmb2xsb3dpbmcgY29tbWFuZCBmcm9tIG9uZSBv ZiB0aGUgaGVhbHRoeSBjbHVzdGVyCiAgICAgICAgbWVtYmVyczo8L2xpPgogICAgICA8bGk+IyBn bHVzdGVyIHBlZXIgcHJvYmUgJmx0O25ld19ub2RlJmd0OzwvbGk+CiAgICAgIDxsaT7CoGFkZCB0 aGUgbmV3IGhvc3QgdG8gdGhlIGNsdXN0ZXIuPC9saT4KICAgICAgPGxpPkFkZCBuZXcgaG9zdCBh ZGRyZXNzIHRvIGdsdXN0ZXIgbmV0d29yazwvbGk+CiAgICAgIDxsaT5DbGljayBOZXR3b3JrIElu dGVyZmFjZXMgc3ViLXRhYi48L2xpPgogICAgICA8bGk+Q2xpY2sgU2V0IHVwIEhvc3QgTmV0d29y a3MuPC9saT4KICAgICAgPGxpPkRyYWcgYW5kIGRyb3AgdGhlIGdsdXN0ZXJudyBuZXR3b3JrIG9u dG8gdGhlIElQIGFkZHJlc3Mgb2YgdGhlCiAgICAgICAgbmV3IGhvc3QuPC9saT4KICAgICAgPGxp PkNsaWNrIE9LPC9saT4KICAgICAgPGxpPlJlcGxhY2UgdGhlIG9sZCBicmljayB3aXRoIHRoZSBi cmljayBvbiB0aGUgbmV3IGhvc3Q8L2xpPgogICAgICA8bGk+Q2xpY2sgdGhlIEJyaWNrcyBzdWIt dGFiLjwvbGk+CiAgICAgIDxsaT5WZXJpZnkgdGhhdCBicmljayBoZWFsIGNvbXBsZXRlcyBzdWNj ZXNzZnVsbHkuPC9saT4KICAgICAgPGxpPkluIHRoZSBIb3N0cyB0YWIsIHJpZ2h0LWNsaWNrIG9u IHRoZSBvbGQgaG9zdCBhbmQgY2xpY2sKICAgICAgICBSZW1vdmUuPC9saT4KICAgICAgPGxpPkNs ZWFuIG9sZCBob3N0IG1ldGFkYXRhPC9saT4KICAgICAgPGxpPiMgaG9zdGVkLWVuZ2luZSAtLWNs ZWFuLW1ldGFkYXRhIC0taG9zdC1pZD0mbHQ7b2xkX2hvc3RfaWQmZ3Q7CiAgICAgICAgLS1mb3Jj ZS1jbGVhbjwvbGk+CiAgICA8L3VsPgogICAgPGJyPgogICAgPGJyPgogICAgPGJsb2NrcXVvdGUK Y2l0ZT0ibWlkOkNBR0s9M2t5ODA4QndWeTI9c0VqQTJyUjBQWnZpWTBmRjlDYmZXaVd1OW8wLVU9 WjA0QUBtYWlsLmdtYWlsLmNvbSIKICAgICAgdHlwZT0iY2l0ZSI+CiAgICAgIDxkaXYgZGlyPSJs dHIiPgogICAgICAgIDxkaXYgY2xhc3M9ImdtYWlsX2V4dHJhIj4KICAgICAgICAgIDxkaXYgY2xh c3M9ImdtYWlsX2V4dHJhIj4uIEV4dHJhIGluZm86IEkgd2FudCB0byBrbm93IGlmIEkgY2FuCiAg ICAgICAgICAgIGRvIHRoaXMgb24gYW4gZXhpc3Rpbmcgb3ZpcnQgZ2x1c3RlciBEYXRhIERvbWFp biAoY2FsbGVkCiAgICAgICAgICAgIERhdGEwMSkgYmVjYXVzZSB3ZSBoYXZlIG1hbnkgdm0gcnVu bmlnIG9uIGl0LjwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvYmxvY2tx dW90ZT4KICAgIFdoZW4geW91IG1vdmUgeW91ciBub2RlIHRvIG1haW50ZW5hbmNlIGFsbCB0aGUg dm1zIHJ1bm5pbmcgb24gdGhhdAogICAgbm9kZSB3aWxsIGJlIG1pZ3JhdGVkIHRvIGFub3RoZXIg bm9kZSBhbmQgc2luY2UgeW91IGhhdmUgdHdvIG5vZGVzCiAgICB1cCBhbmQgcnVubmluZyB0aGVy ZSBzaG91bGQgbm90IGJlIGFueSBwcm9ibGVtLjxicj4KICAgIDxibG9ja3F1b3RlCmNpdGU9Im1p ZDpDQUdLPTNreTgwOEJ3VnkyPXNFakEyclIwUFp2aVkwZkY5Q2JmV2lXdTlvMC1VPVowNEFAbWFp bC5nbWFpbC5jb20iCiAgICAgIHR5cGU9ImNpdGUiPgogICAgICA8ZGl2IGRpcj0ibHRyIj4KICAg ICAgICA8ZGl2IGNsYXNzPSJnbWFpbF9leHRyYSI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJnbWFp bF9leHRyYSI+PGJyPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJnbWFp bF9leHRyYSI+dGhhbmsgeW91IMKgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2Pgog ICAgPC9ibG9ja3F1b3RlPgogICAgPGJyPgogIDwvYm9keT4KPC9odG1sPgoKLS0tLS0tLS0tLS0t LS04MkU4MTM2ODE5NEY0NjAxRjY3REFFMUEtLQo= --===============0930226406961785907==--