From demchenko.ya at gmail.com Wed Apr 3 07:47:52 2013 Content-Type: multipart/mixed; boundary="===============1026876328806994527==" MIME-Version: 1.0 From: Yuriy Demchenko To: users at ovirt.org Subject: Re: [Users] way to edit iSCSI storage domain? Date: Wed, 03 Apr 2013 13:49:41 +0400 Message-ID: <515BFB35.40102@gmail.com> In-Reply-To: CAH4_GUvgqzh+h9vd6mE1TxTxb+bKTVXS1R3_D14OKe+ZvP_5ZA@mail.gmail.com --===============1026876328806994527== 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. --------------010702090104000703040900 Content-Type: text/plain; charset=3DISO-8859-1; format=3Dflowed Content-Transfer-Encoding: 7bit You mean add new path by hands on each node via iscsiadm ? And how that = changes survive possible node reboots / reinstalls, as i suppose - it = wouldn't? In ovirt webadmin i cannot edit added domain - connection information is = greyed out (even when storage domain in maintenance mode) Yuriy Demchenko On 04/03/2013 01:00 PM, Alex Leonhardt wrote: > I think i'd just add the 2nd path when the device is available ... = > i've recently exprimented with iscsi / tgtd and multipath on a ovirt = > hyper-visor and it will identify the disk as "the same" (new path to = > target) as long as the LUN ID is the same (this is taken from = > experience, not from a spec document) ... > > > On 3 April 2013 08:14, Yuriy Demchenko > wrote: > > I guess you misunderstood me > I'm going to try this scheme: > |STORAGE| > FC / \ > |SERV1/tgtd| |SERV2/tgtd| > iSCSI \ / > |ethernet switches| > iSCSI |||||||| > |blades|blades|blades| > > serv1/serv2 - connectivity isnt a problem, multipathed FC scheme, > all good. Same lun accessible for both servers and than exported > via tgtd to iSCSI: with different target names > ("iqn.2013-03.serv1:store", "iqn.2013-03.serv2:store"), but same > vendor_id, product_id, scsi_sn, scsi_id. That way client can login > into both targets and see lun as multipathed device. > And multipath failover scheme (via custom config with > path_grouping_policy=3Dfailover for corresponding > vendor_id/product_id) is on blades-clients - so they use only one > target at time (no round-robin or similar stuff), but with ability > to switch to another target in case one of serv1/serv2 is down. > > However, in my case "serv2" would not be available during oVirt > setup (need to setup ovirt and virtual servers to move stuff > first), so i cant enter both targets on storage domain > initialization - that's why I'm asking if there's any way to edit > storage domain details after initialization without destroying it > (maybe directly via sql or something). > > Yuriy Demchenko > > > On 04/02/2013 06:26 PM, Shu Ming wrote: > > I am not sure if the multipathd can recognize the FC path to > the storage when the second server is available and regards it > as the same as the iSCSI path used before. If it is not, I > think the device under /dev/mapper may change when you cut the > iSCSI path off and then enable FC path. That will definitely > corrupt the meta data of the volume group which the storage > domain is sitting on and the storage domain will be corrupted > finally. > > > _______________________________________________ > Users mailing list > Users(a)ovirt.org > http://lists.ovirt.org/mailman/listinfo/users > > > > > -- = > | RHCE | Sen Sys Engineer / Platform Architect | www.vcore.co = > | www.vsearchcloud.com = > | --------------010702090104000703040900 Content-Type: text/html; charset=3DISO-8859-1 Content-Transfer-Encoding: 7bit
You mean add new path by hands on each node via iscsiadm ? And how that changes survive possible node reboots / reinstalls, as i suppose - it wouldn't?
In ovirt webadmin i cannot edit added domain - connection information is greyed out (even when storage domain in maintenance mode)

Yuriy Demchenko
On 04/03/2013 01:00 PM, Alex Leonhardt wrote:
I think i'd just add the 2nd path when the device is available ... i've recently exprimented with iscsi / tgtd and multipath on a ovirt hyper-visor and it will identify the disk as "the same" (new path to target) as long as the LUN ID is the same (this is taken from experience, not from a spec document) ... 


On 3 April 2013 08:14, Yuriy Demchenko <de= mchenko.ya(a)gmail.com> wrote:
I guess you misunderstood me
I'm going to try this scheme:
               |STORAGE= |
FC             /     &n= bsp;     \
    |SERV1/tgtd|    |SERV2/tgtd|
iSCSI       \          =    /
         |ethernet switches|
iSCSI            ||||||||
       |blades|blades|blades|

serv1/serv2 - connectivity isnt a problem, multipathed FC scheme, all good. Same lun accessible for both servers and than exported via tgtd to iSCSI: with different target names ("iqn.2013-03.serv1:store", "iqn.2013-03.serv2:store"), but same vendor_id, product_id, scsi_sn, scsi_id. That way client can login into both targets and see lun as multipathed device.
And multipath failover scheme (via custom config with path_grouping_policy=3Dfailover for corresponding vendor_id/product_id) is on blades-clients - so they use only one target at time (no round-robin or similar stuff), but with ability to switch to another target in case one of serv1/serv2 is down.

However, in my case "serv2" would not be available during oVirt setup (need to setup ovirt and virtual servers to move stuff first), so i cant enter both targets on storage domain initialization - that's why I'm asking if there's any way to edit storage domain details after initialization without destroying it (maybe directly via sql or something).

Yuriy Demchenko


On 04/02/2013 06:26 PM, Shu Ming wrote:
I am not sure if the multipathd can recognize the FC path to the storage when the second server is available and regards it as the same as the iSCSI path used before. If it is not, I think the device under /dev/mapper may change when you cut the iSCSI path off and then enable FC path. That will definitely corrupt the meta data of the volume group which the storage domain is sitting on and the storage domain will be corrupted finally.

_______________________________________________
Users mailing list
Users(a)ovirt.org
http://lists.ovirt.org/mailman/listinfo= /users



--
| RHCE | Sen Sys Engineer / Platform Architect | www.vcore.co | www.vsearchcloud.com |

--------------010702090104000703040900-- --===============1026876328806994527== Content-Type: multipart/alternative MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.bin" VGhpcyBpcyBhIG11bHRpLXBhcnQgbWVzc2FnZSBpbiBNSU1FIGZvcm1hdC4KLS0tLS0tLS0tLS0t LS0wMTA3MDIwOTAxMDQwMDA3MDMwNDA5MDAKQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFy c2V0PUlTTy04ODU5LTE7IGZvcm1hdD1mbG93ZWQKQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzog N2JpdAoKWW91IG1lYW4gYWRkIG5ldyBwYXRoIGJ5IGhhbmRzIG9uIGVhY2ggbm9kZSB2aWEgaXNj c2lhZG0gPyBBbmQgaG93IHRoYXQgCmNoYW5nZXMgc3Vydml2ZSBwb3NzaWJsZSBub2RlIHJlYm9v dHMgLyByZWluc3RhbGxzLCBhcyBpIHN1cHBvc2UgLSBpdCAKd291bGRuJ3Q/CkluIG92aXJ0IHdl YmFkbWluIGkgY2Fubm90IGVkaXQgYWRkZWQgZG9tYWluIC0gY29ubmVjdGlvbiBpbmZvcm1hdGlv biBpcyAKZ3JleWVkIG91dCAoZXZlbiB3aGVuIHN0b3JhZ2UgZG9tYWluIGluIG1haW50ZW5hbmNl IG1vZGUpCgpZdXJpeSBEZW1jaGVua28KCk9uIDA0LzAzLzIwMTMgMDE6MDAgUE0sIEFsZXggTGVv bmhhcmR0IHdyb3RlOgo+IEkgdGhpbmsgaSdkIGp1c3QgYWRkIHRoZSAybmQgcGF0aCB3aGVuIHRo ZSBkZXZpY2UgaXMgYXZhaWxhYmxlIC4uLiAKPiBpJ3ZlIHJlY2VudGx5IGV4cHJpbWVudGVkIHdp dGggaXNjc2kgLyB0Z3RkIGFuZCBtdWx0aXBhdGggb24gYSBvdmlydCAKPiBoeXBlci12aXNvciBh bmQgaXQgd2lsbCBpZGVudGlmeSB0aGUgZGlzayBhcyAidGhlIHNhbWUiIChuZXcgcGF0aCB0byAK PiB0YXJnZXQpIGFzIGxvbmcgYXMgdGhlIExVTiBJRCBpcyB0aGUgc2FtZSAodGhpcyBpcyB0YWtl biBmcm9tIAo+IGV4cGVyaWVuY2UsIG5vdCBmcm9tIGEgc3BlYyBkb2N1bWVudCkgLi4uCj4KPgo+ IE9uIDMgQXByaWwgMjAxMyAwODoxNCwgWXVyaXkgRGVtY2hlbmtvIDxkZW1jaGVua28ueWFAZ21h aWwuY29tIAo+IDxtYWlsdG86ZGVtY2hlbmtvLnlhQGdtYWlsLmNvbT4+IHdyb3RlOgo+Cj4gICAg IEkgZ3Vlc3MgeW91IG1pc3VuZGVyc3Rvb2QgbWUKPiAgICAgSSdtIGdvaW5nIHRvIHRyeSB0aGlz IHNjaGVtZToKPiAgICAgICAgICAgICAgICAgICAgfFNUT1JBR0V8Cj4gICAgIEZDICAgICAgICAg ICAgIC8gICAgICAgICAgIFwKPiAgICAgICAgIHxTRVJWMS90Z3RkfCAgICB8U0VSVjIvdGd0ZHwK PiAgICAgaVNDU0kgICAgICAgXCAgICAgICAgICAgICAgLwo+ICAgICAgICAgICAgICB8ZXRoZXJu ZXQgc3dpdGNoZXN8Cj4gICAgIGlTQ1NJICAgICAgICAgICAgfHx8fHx8fHwKPiAgICAgICAgICAg IHxibGFkZXN8YmxhZGVzfGJsYWRlc3wKPgo+ICAgICBzZXJ2MS9zZXJ2MiAtIGNvbm5lY3Rpdml0 eSBpc250IGEgcHJvYmxlbSwgbXVsdGlwYXRoZWQgRkMgc2NoZW1lLAo+ICAgICBhbGwgZ29vZC4g U2FtZSBsdW4gYWNjZXNzaWJsZSBmb3IgYm90aCBzZXJ2ZXJzIGFuZCB0aGFuIGV4cG9ydGVkCj4g ICAgIHZpYSB0Z3RkIHRvIGlTQ1NJOiB3aXRoIGRpZmZlcmVudCB0YXJnZXQgbmFtZXMKPiAgICAg KCJpcW4uMjAxMy0wMy5zZXJ2MTpzdG9yZSIsICJpcW4uMjAxMy0wMy5zZXJ2MjpzdG9yZSIpLCBi dXQgc2FtZQo+ICAgICB2ZW5kb3JfaWQsIHByb2R1Y3RfaWQsIHNjc2lfc24sIHNjc2lfaWQuIFRo YXQgd2F5IGNsaWVudCBjYW4gbG9naW4KPiAgICAgaW50byBib3RoIHRhcmdldHMgYW5kIHNlZSBs dW4gYXMgbXVsdGlwYXRoZWQgZGV2aWNlLgo+ICAgICBBbmQgbXVsdGlwYXRoIGZhaWxvdmVyIHNj aGVtZSAodmlhIGN1c3RvbSBjb25maWcgd2l0aAo+ICAgICBwYXRoX2dyb3VwaW5nX3BvbGljeT1m YWlsb3ZlciBmb3IgY29ycmVzcG9uZGluZwo+ICAgICB2ZW5kb3JfaWQvcHJvZHVjdF9pZCkgaXMg b24gYmxhZGVzLWNsaWVudHMgLSBzbyB0aGV5IHVzZSBvbmx5IG9uZQo+ICAgICB0YXJnZXQgYXQg dGltZSAobm8gcm91bmQtcm9iaW4gb3Igc2ltaWxhciBzdHVmZiksIGJ1dCB3aXRoIGFiaWxpdHkK PiAgICAgdG8gc3dpdGNoIHRvIGFub3RoZXIgdGFyZ2V0IGluIGNhc2Ugb25lIG9mIHNlcnYxL3Nl cnYyIGlzIGRvd24uCj4KPiAgICAgSG93ZXZlciwgaW4gbXkgY2FzZSAic2VydjIiIHdvdWxkIG5v dCBiZSBhdmFpbGFibGUgZHVyaW5nIG9WaXJ0Cj4gICAgIHNldHVwIChuZWVkIHRvIHNldHVwIG92 aXJ0IGFuZCB2aXJ0dWFsIHNlcnZlcnMgdG8gbW92ZSBzdHVmZgo+ICAgICBmaXJzdCksIHNvIGkg Y2FudCBlbnRlciBib3RoIHRhcmdldHMgb24gc3RvcmFnZSBkb21haW4KPiAgICAgaW5pdGlhbGl6 YXRpb24gLSB0aGF0J3Mgd2h5IEknbSBhc2tpbmcgaWYgdGhlcmUncyBhbnkgd2F5IHRvIGVkaXQK PiAgICAgc3RvcmFnZSBkb21haW4gZGV0YWlscyBhZnRlciBpbml0aWFsaXphdGlvbiB3aXRob3V0 IGRlc3Ryb3lpbmcgaXQKPiAgICAgKG1heWJlIGRpcmVjdGx5IHZpYSBzcWwgb3Igc29tZXRoaW5n KS4KPgo+ICAgICBZdXJpeSBEZW1jaGVua28KPgo+Cj4gICAgIE9uIDA0LzAyLzIwMTMgMDY6MjYg UE0sIFNodSBNaW5nIHdyb3RlOgo+Cj4gICAgICAgICBJIGFtIG5vdCBzdXJlIGlmIHRoZSBtdWx0 aXBhdGhkIGNhbiByZWNvZ25pemUgdGhlIEZDIHBhdGggdG8KPiAgICAgICAgIHRoZSBzdG9yYWdl IHdoZW4gdGhlIHNlY29uZCBzZXJ2ZXIgaXMgYXZhaWxhYmxlIGFuZCByZWdhcmRzIGl0Cj4gICAg ICAgICBhcyB0aGUgc2FtZSBhcyB0aGUgaVNDU0kgcGF0aCB1c2VkIGJlZm9yZS4gSWYgaXQgaXMg bm90LCBJCj4gICAgICAgICB0aGluayB0aGUgZGV2aWNlIHVuZGVyIC9kZXYvbWFwcGVyIG1heSBj aGFuZ2Ugd2hlbiB5b3UgY3V0IHRoZQo+ICAgICAgICAgaVNDU0kgcGF0aCBvZmYgYW5kIHRoZW4g ZW5hYmxlIEZDIHBhdGguIFRoYXQgd2lsbCBkZWZpbml0ZWx5Cj4gICAgICAgICBjb3JydXB0IHRo ZSBtZXRhIGRhdGEgb2YgdGhlIHZvbHVtZSBncm91cCB3aGljaCB0aGUgc3RvcmFnZQo+ICAgICAg ICAgZG9tYWluIGlzIHNpdHRpbmcgb24gYW5kIHRoZSBzdG9yYWdlIGRvbWFpbiB3aWxsIGJlIGNv cnJ1cHRlZAo+ICAgICAgICAgZmluYWxseS4KPgo+Cj4gICAgIF9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gICAgIFVzZXJzIG1haWxpbmcgbGlzdAo+ICAg ICBVc2Vyc0BvdmlydC5vcmcgPG1haWx0bzpVc2Vyc0BvdmlydC5vcmc+Cj4gICAgIGh0dHA6Ly9s aXN0cy5vdmlydC5vcmcvbWFpbG1hbi9saXN0aW5mby91c2Vycwo+Cj4KPgo+Cj4gLS0gCj4gfCBS SENFIHwgU2VuIFN5cyBFbmdpbmVlciAvIFBsYXRmb3JtIEFyY2hpdGVjdCB8IHd3dy52Y29yZS5j byAKPiA8aHR0cDovL3d3dy52Y29yZS5jbz4gfCB3d3cudnNlYXJjaGNsb3VkLmNvbSAKPiA8aHR0 cDovL3d3dy52c2VhcmNoY2xvdWQuY29tPiB8CgoKLS0tLS0tLS0tLS0tLS0wMTA3MDIwOTAxMDQw MDA3MDMwNDA5MDAKQ29udGVudC1UeXBlOiB0ZXh0L2h0bWw7IGNoYXJzZXQ9SVNPLTg4NTktMQpD b250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA3Yml0Cgo8aHRtbD4KICA8aGVhZD4KICAgIDxtZXRh IGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1JU08tODg1OS0xIgogICAgICBodHRwLWVxdWl2 PSJDb250ZW50LVR5cGUiPgogIDwvaGVhZD4KICA8Ym9keSBiZ2NvbG9yPSIjRkZGRkZGIiB0ZXh0 PSIjMDAwMDAwIj4KICAgIDxkaXYgY2xhc3M9Im1vei1jaXRlLXByZWZpeCI+WW91IG1lYW4gYWRk IG5ldyBwYXRoIGJ5IGhhbmRzIG9uIGVhY2gKICAgICAgbm9kZSB2aWEgaXNjc2lhZG0gPyBBbmQg aG93IHRoYXQgY2hhbmdlcyBzdXJ2aXZlIHBvc3NpYmxlIG5vZGUKICAgICAgcmVib290cyAvIHJl aW5zdGFsbHMsIGFzIGkgc3VwcG9zZSAtIGl0IHdvdWxkbid0Pzxicj4KICAgICAgSW4gb3ZpcnQg d2ViYWRtaW4gaSBjYW5ub3QgZWRpdCBhZGRlZCBkb21haW4gLSBjb25uZWN0aW9uCiAgICAgIGlu Zm9ybWF0aW9uIGlzIGdyZXllZCBvdXQgKGV2ZW4gd2hlbiBzdG9yYWdlIGRvbWFpbiBpbiBtYWlu dGVuYW5jZQogICAgICBtb2RlKTxicj4KICAgICAgPGJyPgogICAgICA8cHJlIGNsYXNzPSJtb3ot c2lnbmF0dXJlIiBjb2xzPSI3MiI+WXVyaXkgRGVtY2hlbmtvPC9wcmU+CiAgICAgIE9uIDA0LzAz LzIwMTMgMDE6MDAgUE0sIEFsZXggTGVvbmhhcmR0IHdyb3RlOjxicj4KICAgIDwvZGl2PgogICAg PGJsb2NrcXVvdGUKY2l0ZT0ibWlkOkNBSDRfR1V2Z3F6aCtoOXZkNm1FMVR4VHhiK2JLVFZYUzFS M19EMTRPS2UrWnZQXzVaQUBtYWlsLmdtYWlsLmNvbSIKICAgICAgdHlwZT0iY2l0ZSI+CiAgICAg IDxkaXYgZGlyPSJsdHIiPgogICAgICAgIDxkaXYgY2xhc3M9ImdtYWlsX2RlZmF1bHQiIHN0eWxl PSJmb250LXNpemU6c21hbGwiPkkgdGhpbmsgaSdkCiAgICAgICAgICBqdXN0IGFkZCB0aGUgMm5k IHBhdGggd2hlbiB0aGUgZGV2aWNlIGlzIGF2YWlsYWJsZSAuLi4gaSd2ZQogICAgICAgICAgcmVj ZW50bHkgZXhwcmltZW50ZWQgd2l0aCBpc2NzaSAvIHRndGQgYW5kIG11bHRpcGF0aCBvbiBhCiAg ICAgICAgICBvdmlydCBoeXBlci12aXNvciBhbmQgaXQgd2lsbCBpZGVudGlmeSB0aGUgZGlzayBh cyAidGhlIHNhbWUiCiAgICAgICAgICAobmV3IHBhdGggdG8gdGFyZ2V0KSBhcyBsb25nIGFzIHRo ZSBMVU4gSUQgaXMgdGhlIHNhbWUgKHRoaXMKICAgICAgICAgIGlzIHRha2VuIGZyb20gZXhwZXJp ZW5jZSwgbm90IGZyb20gYSBzcGVjIGRvY3VtZW50KSAuLi4mbmJzcDs8L2Rpdj4KICAgICAgPC9k aXY+CiAgICAgIDxkaXYgY2xhc3M9ImdtYWlsX2V4dHJhIj48YnI+CiAgICAgICAgPGJyPgogICAg ICAgIDxkaXYgY2xhc3M9ImdtYWlsX3F1b3RlIj5PbiAzIEFwcmlsIDIwMTMgMDg6MTQsIFl1cml5 IERlbWNoZW5rbwogICAgICAgICAgPHNwYW4gZGlyPSJsdHIiPiZsdDs8YSBtb3otZG8tbm90LXNl bmQ9InRydWUiCiAgICAgICAgICAgICAgaHJlZj0ibWFpbHRvOmRlbWNoZW5rby55YUBnbWFpbC5j b20iIHRhcmdldD0iX2JsYW5rIj5kZW1jaGVua28ueWFAZ21haWwuY29tPC9hPiZndDs8L3NwYW4+ CiAgICAgICAgICB3cm90ZTo8YnI+CiAgICAgICAgICA8YmxvY2txdW90ZSBjbGFzcz0iZ21haWxf cXVvdGUiIHN0eWxlPSJtYXJnaW46MCAwIDAKICAgICAgICAgICAgLjhleDtib3JkZXItbGVmdDox cHggI2NjYyBzb2xpZDtwYWRkaW5nLWxlZnQ6MWV4Ij5JIGd1ZXNzCiAgICAgICAgICAgIHlvdSBt aXN1bmRlcnN0b29kIG1lPGJyPgogICAgICAgICAgICBJJ20gZ29pbmcgdG8gdHJ5IHRoaXMgc2No ZW1lOjxicj4KICAgICAgICAgICAgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwO3xTVE9SQUdFfDxicj4KICAgICAgICAgICAgRkMgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgLyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7IFw8YnI+CiAgICAgICAgICAgICZuYnNwOyAmbmJzcDsgfFNFUlYxL3RndGR8 ICZuYnNwOyAmbmJzcDt8U0VSVjIvdGd0ZHw8YnI+CiAgICAgICAgICAgIGlTQ1NJICZuYnNwOyAm bmJzcDsgJm5ic3A7IFwgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7Lzxicj4KICAgICAgICAgICAgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw O3xldGhlcm5ldCBzd2l0Y2hlc3w8YnI+CiAgICAgICAgICAgIGlTQ1NJICZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7fHx8fHx8fHw8YnI+CiAgICAgICAgICAgICZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwO3xibGFkZXN8YmxhZGVzfGJsYWRlc3w8YnI+CiAgICAgICAg ICAgIDxicj4KICAgICAgICAgICAgc2VydjEvc2VydjIgLSBjb25uZWN0aXZpdHkgaXNudCBhIHBy b2JsZW0sIG11bHRpcGF0aGVkIEZDCiAgICAgICAgICAgIHNjaGVtZSwgYWxsIGdvb2QuIFNhbWUg bHVuIGFjY2Vzc2libGUgZm9yIGJvdGggc2VydmVycyBhbmQKICAgICAgICAgICAgdGhhbiBleHBv cnRlZCB2aWEgdGd0ZCB0byBpU0NTSTogd2l0aCBkaWZmZXJlbnQgdGFyZ2V0IG5hbWVzCiAgICAg ICAgICAgICgiaXFuLjIwMTMtMDMuc2VydjE6c3RvcmUiLCAiaXFuLjIwMTMtMDMuc2VydjI6c3Rv cmUiKSwgYnV0CiAgICAgICAgICAgIHNhbWUgdmVuZG9yX2lkLCBwcm9kdWN0X2lkLCBzY3NpX3Nu LCBzY3NpX2lkLiBUaGF0IHdheQogICAgICAgICAgICBjbGllbnQgY2FuIGxvZ2luIGludG8gYm90 aCB0YXJnZXRzIGFuZCBzZWUgbHVuIGFzCiAgICAgICAgICAgIG11bHRpcGF0aGVkIGRldmljZS48 YnI+CiAgICAgICAgICAgIEFuZCBtdWx0aXBhdGggZmFpbG92ZXIgc2NoZW1lICh2aWEgY3VzdG9t IGNvbmZpZyB3aXRoCiAgICAgICAgICAgIHBhdGhfZ3JvdXBpbmdfcG9saWN5PWZhaWxvdmVyIGZv ciBjb3JyZXNwb25kaW5nCiAgICAgICAgICAgIHZlbmRvcl9pZC9wcm9kdWN0X2lkKSBpcyBvbiBi bGFkZXMtY2xpZW50cyAtIHNvIHRoZXkgdXNlCiAgICAgICAgICAgIG9ubHkgb25lIHRhcmdldCBh dCB0aW1lIChubyByb3VuZC1yb2JpbiBvciBzaW1pbGFyIHN0dWZmKSwKICAgICAgICAgICAgYnV0 IHdpdGggYWJpbGl0eSB0byBzd2l0Y2ggdG8gYW5vdGhlciB0YXJnZXQgaW4gY2FzZSBvbmUgb2YK ICAgICAgICAgICAgc2VydjEvc2VydjIgaXMgZG93bi48YnI+CiAgICAgICAgICAgIDxicj4KICAg ICAgICAgICAgSG93ZXZlciwgaW4gbXkgY2FzZSAic2VydjIiIHdvdWxkIG5vdCBiZSBhdmFpbGFi bGUgZHVyaW5nCiAgICAgICAgICAgIG9WaXJ0IHNldHVwIChuZWVkIHRvIHNldHVwIG92aXJ0IGFu ZCB2aXJ0dWFsIHNlcnZlcnMgdG8gbW92ZQogICAgICAgICAgICBzdHVmZiBmaXJzdCksIHNvIGkg Y2FudCBlbnRlciBib3RoIHRhcmdldHMgb24gc3RvcmFnZSBkb21haW4KICAgICAgICAgICAgaW5p dGlhbGl6YXRpb24gLSB0aGF0J3Mgd2h5IEknbSBhc2tpbmcgaWYgdGhlcmUncyBhbnkgd2F5IHRv CiAgICAgICAgICAgIGVkaXQgc3RvcmFnZSBkb21haW4gZGV0YWlscyBhZnRlciBpbml0aWFsaXph dGlvbiB3aXRob3V0CiAgICAgICAgICAgIGRlc3Ryb3lpbmcgaXQgKG1heWJlIGRpcmVjdGx5IHZp YSBzcWwgb3Igc29tZXRoaW5nKS48c3BhbgogICAgICAgICAgICAgIGNsYXNzPSJIT0VuWmIiPjxm b250IGNvbG9yPSIjODg4ODg4Ij48YnI+CiAgICAgICAgICAgICAgICA8YnI+CiAgICAgICAgICAg ICAgICBZdXJpeSBEZW1jaGVua288L2ZvbnQ+PC9zcGFuPgogICAgICAgICAgICA8ZGl2IGNsYXNz PSJpbSBIT0VuWmIiPjxicj4KICAgICAgICAgICAgICA8YnI+CiAgICAgICAgICAgICAgT24gMDQv MDIvMjAxMyAwNjoyNiBQTSwgU2h1IE1pbmcgd3JvdGU6PGJyPgogICAgICAgICAgICAgIDxibG9j a3F1b3RlIGNsYXNzPSJnbWFpbF9xdW90ZSIgc3R5bGU9Im1hcmdpbjowIDAgMAogICAgICAgICAg ICAgICAgLjhleDtib3JkZXItbGVmdDoxcHggI2NjYyBzb2xpZDtwYWRkaW5nLWxlZnQ6MWV4Ij4K ICAgICAgICAgICAgICAgIEkgYW0gbm90IHN1cmUgaWYgdGhlIG11bHRpcGF0aGQgY2FuIHJlY29n bml6ZSB0aGUgRkMKICAgICAgICAgICAgICAgIHBhdGggdG8gdGhlIHN0b3JhZ2Ugd2hlbiB0aGUg c2Vjb25kIHNlcnZlciBpcyBhdmFpbGFibGUKICAgICAgICAgICAgICAgIGFuZCByZWdhcmRzIGl0 IGFzIHRoZSBzYW1lIGFzIHRoZSBpU0NTSSBwYXRoIHVzZWQKICAgICAgICAgICAgICAgIGJlZm9y ZS4gSWYgaXQgaXMgbm90LCBJIHRoaW5rIHRoZSBkZXZpY2UgdW5kZXIKICAgICAgICAgICAgICAg IC9kZXYvbWFwcGVyIG1heSBjaGFuZ2Ugd2hlbiB5b3UgY3V0IHRoZSBpU0NTSSBwYXRoIG9mZgog ICAgICAgICAgICAgICAgYW5kIHRoZW4gZW5hYmxlIEZDIHBhdGguIFRoYXQgd2lsbCBkZWZpbml0 ZWx5IGNvcnJ1cHQKICAgICAgICAgICAgICAgIHRoZSBtZXRhIGRhdGEgb2YgdGhlIHZvbHVtZSBn cm91cCB3aGljaCB0aGUgc3RvcmFnZQogICAgICAgICAgICAgICAgZG9tYWluIGlzIHNpdHRpbmcg b24gYW5kIHRoZSBzdG9yYWdlIGRvbWFpbiB3aWxsIGJlCiAgICAgICAgICAgICAgICBjb3JydXB0 ZWQgZmluYWxseS4gPGJyPgogICAgICAgICAgICAgIDwvYmxvY2txdW90ZT4KICAgICAgICAgICAg ICA8YnI+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJIT0VuWmIi PgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9Img1Ij4KICAgICAgICAgICAgICAgIF9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fPGJyPgogICAgICAgICAgICAg ICAgVXNlcnMgbWFpbGluZyBsaXN0PGJyPgogICAgICAgICAgICAgICAgPGEgbW96LWRvLW5vdC1z ZW5kPSJ0cnVlIiBocmVmPSJtYWlsdG86VXNlcnNAb3ZpcnQub3JnIgogICAgICAgICAgICAgICAg ICB0YXJnZXQ9Il9ibGFuayI+VXNlcnNAb3ZpcnQub3JnPC9hPjxicj4KICAgICAgICAgICAgICAg IDxhIG1vei1kby1ub3Qtc2VuZD0idHJ1ZSIKICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cDov L2xpc3RzLm92aXJ0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3VzZXJzIgogICAgICAgICAgICAgICAg ICB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL2xpc3RzLm92aXJ0Lm9yZy9tYWlsbWFuL2xpc3RpbmZv L3VzZXJzPC9hPjxicj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAg ICAgICAgICA8L2Jsb2NrcXVvdGU+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGJyPgogICAgICAg IDxiciBjbGVhcj0iYWxsIj4KICAgICAgICA8ZGl2Pjxicj4KICAgICAgICA8L2Rpdj4KICAgICAg ICAtLSA8YnI+CiAgICAgICAgPGRpdiBkaXI9Imx0ciI+fCBSSENFIHwgU2VuIFN5cyBFbmdpbmVl ciAvIFBsYXRmb3JtIEFyY2hpdGVjdCB8CiAgICAgICAgICA8YSBtb3otZG8tbm90LXNlbmQ9InRy dWUiIGhyZWY9Imh0dHA6Ly93d3cudmNvcmUuY28iCiAgICAgICAgICAgIHRhcmdldD0iX2JsYW5r Ij53d3cudmNvcmUuY288L2E+IHwgPGEKICAgICAgICAgICAgbW96LWRvLW5vdC1zZW5kPSJ0cnVl IiBocmVmPSJodHRwOi8vd3d3LnZzZWFyY2hjbG91ZC5jb20iCiAgICAgICAgICAgIHRhcmdldD0i X2JsYW5rIj53d3cudnNlYXJjaGNsb3VkLmNvbTwvYT4gfCA8YnI+CiAgICAgICAgPC9kaXY+CiAg ICAgIDwvZGl2PgogICAgPC9ibG9ja3F1b3RlPgogICAgPGJyPgogIDwvYm9keT4KPC9odG1sPgoK LS0tLS0tLS0tLS0tLS0wMTA3MDIwOTAxMDQwMDA3MDMwNDA5MDAtLQo= --===============1026876328806994527==--