This is a multi-part message in MIME format.
------=_001_NextPart631437114282_=----
Content-Type: text/plain;
charset="utf-8"
Content-Transfer-Encoding: base64
aGkNClRoYW5rIHlvdSB2ZXJ5IG11Y2ggZm9yIHlvdXIgaGVscCANCiBUaGlzIHByb2JsZW0gSSBo
YXZlIHNvbHZlZCANCg0KDQoNCg0KeGlhbmdodWFkdQ0KDQpGcm9tOiBMaXJvbiBBcmF2b3QNCkRh
dGU6IDIwMTMtMDItMjcgMjE6NTgNClRvOiB4aWFuZ2h1YWR1DQpDQzogdXNlcnMNClN1YmplY3Q6
IFJlOiBbVXNlcnNdIG92aXJ0IENvbm5lY3Rpb24gU3RvcmFnZSBlcnJvcg0KSGksDQpjYW4geW91
IHBsZWFzZSB0ZWxsIG1lIHdoYXQncyB0aGUgREMgdmVyc2lvbj8NCmNhbiB5b3UgYWxzbyBwbGVh
c2UgcnVuIHRoZSBmb2xsb3dpbmcgcXVlcnkgYW5kIHJlcGx5IHdpdGggdGhlIHJlc3VsdHM/DQoN
CnNlbGVjdCAqIGZyb20gdmRjX29wdGlvbnMgd2hlcmUgb3B0aW9uX25hbWUgbGlrZSAnJVN1cHBv
cnRGb3JjZUNyZWF0ZVZHJSc7DQoNCi0tLS0tIE9yaWdpbmFsIE1lc3NhZ2UgLS0tLS0NCj4gRnJv
bTogInhpYW5naHVhZHUiIDx4aWFuZ2h1YWR1QGdtYWlsLmNvbT4NCj4gVG86ICJMaXJvbiBBcmF2
b3QiIDxsYXJhdm90QHJlZGhhdC5jb20+DQo+IENjOiAidXNlcnMiIDx1c2Vyc0BvdmlydC5vcmc+
DQo+IFNlbnQ6IFdlZG5lc2RheSwgRmVicnVhcnkgMjcsIDIwMTMgMTA6MzA6MDkgQU0NCj4gU3Vi
amVjdDogUmU6IFJlOiBbVXNlcnNdIG92aXJ0IENvbm5lY3Rpb24gU3RvcmFnZSBlcnJvcg0KPiAN
Cj4g77u/DQo+IGhpIGxpcm9uIGFyYXZvdA0KPiBUaGFuayB5b3UgZm9yIHlvdXIgaGVscA0KPiAN
Cj4gIA0KPiANCj4gW3Jvb3RAa3ZtMSBsaWJ2aXJ0XSMgY2F0IGxpYnZpcnRkLmNvbmYNCj4gIyBN
YXN0ZXIgbGlidmlydCBkYWVtb24gY29uZmlndXJhdGlvbiBmaWxlDQo+ICMNCj4gIyBGb3IgZnVy
dGhlciBpbmZvcm1hdGlvbiBjb25zdWx0IGh0dHA6Ly9saWJ2aXJ0Lm9yZy9mb3JtYXQuaHRtbA0K
PiAjDQo+ICMgTk9URTogdGhlIHRlc3RzL2RhZW1vbi1jb25mIHJlZ3Jlc3Npb24gdGVzdCBzY3Jp
cHQgcmVxdWlyZXMNCj4gIyB0aGF0IGVhY2ggIlBBUkFNRVRFUiA9IFZBTFVFIiBsaW5lIGluIHRo
aXMgZmlsZSBoYXZlIHRoZSBwYXJhbWV0ZXINCj4gIyBuYW1lIGp1c3QgYWZ0ZXIgYSBsZWFkaW5n
ICIjIi4NCj4gDQo+ICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjDQo+ICMNCj4gIyBOZXR3b3JrIGNvbm5lY3Rpdml0eSBjb250
cm9scw0KPiAjDQo+IA0KPiAjIEZsYWcgbGlzdGVuaW5nIGZvciBzZWN1cmUgVExTIGNvbm5lY3Rp
b25zIG9uIHRoZSBwdWJsaWMgVENQL0lQDQo+IHBvcnQuDQo+ICMgTkIsIG11c3QgcGFzcyB0aGUg
LS1saXN0ZW4gZmxhZyB0byB0aGUgbGlidmlydGQgcHJvY2VzcyBmb3IgdGhpcyB0bw0KPiAjIGhh
dmUgYW55IGVmZmVjdC4NCj4gIw0KPiAjIEl0IGlzIG5lY2Vzc2FyeSB0byBzZXR1cCBhIENBIGFu
ZCBpc3N1ZSBzZXJ2ZXIgY2VydGlmaWNhdGVzIGJlZm9yZQ0KPiAjIHVzaW5nIHRoaXMgY2FwYWJp
bGl0eS4NCj4gIw0KPiAjIFRoaXMgaXMgZW5hYmxlZCBieSBkZWZhdWx0LCB1bmNvbW1lbnQgdGhp
cyB0byBkaXNhYmxlIGl0DQo+ICNsaXN0ZW5fdGxzID0gMA0KPiANCj4gIyBMaXN0ZW4gZm9yIHVu
ZW5jcnlwdGVkIFRDUCBjb25uZWN0aW9ucyBvbiB0aGUgcHVibGljIFRDUC9JUCBwb3J0Lg0KPiAj
IE5CLCBtdXN0IHBhc3MgdGhlIC0tbGlzdGVuIGZsYWcgdG8gdGhlIGxpYnZpcnRkIHByb2Nlc3Mg
Zm9yIHRoaXMgdG8NCj4gIyBoYXZlIGFueSBlZmZlY3QuDQo+ICMNCj4gIyBVc2luZyB0aGUgVENQ
IHNvY2tldCByZXF1aXJlcyBTQVNMIGF1dGhlbnRpY2F0aW9uIGJ5IGRlZmF1bHQuIE9ubHkNCj4g
IyBTQVNMIG1lY2hhbmlzbXMgd2hpY2ggc3VwcG9ydCBkYXRhIGVuY3J5cHRpb24gYXJlIGFsbG93
ZWQuIFRoaXMgaXMNCj4gIyBESUdFU1RfTUQ1IGFuZCBHU1NBUEkgKEtlcmJlcm9zNSkNCj4gIw0K
PiAjIFRoaXMgaXMgZGlzYWJsZWQgYnkgZGVmYXVsdCwgdW5jb21tZW50IHRoaXMgdG8gZW5hYmxl
IGl0Lg0KPiAjbGlzdGVuX3RjcCA9IDENCj4gDQo+IA0KPiANCj4gIyBPdmVycmlkZSB0aGUgcG9y
dCBmb3IgYWNjZXB0aW5nIHNlY3VyZSBUTFMgY29ubmVjdGlvbnMNCj4gIyBUaGlzIGNhbiBiZSBh
IHBvcnQgbnVtYmVyLCBvciBzZXJ2aWNlIG5hbWUNCj4gIw0KPiAjdGxzX3BvcnQgPSAiMTY1MTQi
DQo+IA0KPiAjIE92ZXJyaWRlIHRoZSBwb3J0IGZvciBhY2NlcHRpbmcgaW5zZWN1cmUgVENQIGNv
bm5lY3Rpb25zDQo+ICMgVGhpcyBjYW4gYmUgYSBwb3J0IG51bWJlciwgb3Igc2VydmljZSBuYW1l
DQo+ICMNCj4gI3RjcF9wb3J0ID0gIjE2NTA5Ig0KPiANCj4gDQo+ICMgT3ZlcnJpZGUgdGhlIGRl
ZmF1bHQgY29uZmlndXJhdGlvbiB3aGljaCBiaW5kcyB0byBhbGwgbmV0d29yaw0KPiAjIGludGVy
ZmFjZXMuIFRoaXMgY2FuIGJlIGEgbnVtZXJpYyBJUHY0LzYgYWRkcmVzcywgb3IgaG9zdG5hbWUN
Cj4gIw0KPiAjbGlzdGVuX2FkZHIgPSAiMTkyLjE2OC4wLjEiDQo+IA0KPiANCj4gIyBGbGFnIHRv
Z2dsaW5nIG1ETlMgYWR2ZXJ0aXplbWVudCBvZiB0aGUgbGlidmlydCBzZXJ2aWNlLg0KPiAjDQo+
ICMgQWx0ZXJuYXRpdmVseSBjYW4gZGlzYWJsZSBmb3IgYWxsIHNlcnZpY2VzIG9uIGEgaG9zdCBi
eQ0KPiAjIHN0b3BwaW5nIHRoZSBBdmFoaSBkYWVtb24NCj4gIw0KPiAjIFRoaXMgaXMgZW5hYmxl
ZCBieSBkZWZhdWx0LCB1bmNvbW1lbnQgdGhpcyB0byBkaXNhYmxlIGl0DQo+ICNtZG5zX2FkdiA9
IDANCj4gDQo+ICMgT3ZlcnJpZGUgdGhlIGRlZmF1bHQgbUROUyBhZHZlcnRpemVtZW50IG5hbWUu
IFRoaXMgbXVzdCBiZQ0KPiAjIHVuaXF1ZSBvbiB0aGUgaW1tZWRpYXRlIGJyb2FkY2FzdCBuZXR3
b3JrLg0KPiAjDQo+ICMgVGhlIGRlZmF1bHQgaXMgIlZpcnR1YWxpemF0aW9uIEhvc3QgSE9TVE5B
TUUiLCB3aGVyZSBIT1NUTkFNRQ0KPiAjIGlzIHN1YnNpdHV0ZWQgZm9yIHRoZSBzaG9ydCBob3N0
bmFtZSBvZiB0aGUgbWFjaGluZSAod2l0aG91dA0KPiBkb21haW4pDQo+ICMNCj4gI21kbnNfbmFt
ZSA9ICJWaXJ0dWFsaXphdGlvbiBIb3N0IEpvZSBEZW1vIg0KPiANCj4gDQo+ICMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQo+
ICMNCj4gIyBVTklYIHNvY2tldCBhY2Nlc3MgY29udHJvbHMNCj4gIw0KPiANCj4gIyBTZXQgdGhl
IFVOSVggZG9tYWluIHNvY2tldCBncm91cCBvd25lcnNoaXAuIFRoaXMgY2FuIGJlIHVzZWQgdG8N
Cj4gIyBhbGxvdyBhICd0cnVzdGVkJyBzZXQgb2YgdXNlcnMgYWNjZXNzIHRvIG1hbmFnZW1lbnQg
Y2FwYWJpbGl0aWVzDQo+ICMgd2l0aG91dCBiZWNvbWluZyByb290Lg0KPiAjDQo+ICMgVGhpcyBp
cyByZXN0cmljdGVkIHRvICdyb290JyBieSBkZWZhdWx0Lg0KPiAjdW5peF9zb2NrX2dyb3VwID0g
ImxpYnZpcnQiDQo+IA0KPiAjIFNldCB0aGUgVU5JWCBzb2NrZXQgcGVybWlzc2lvbnMgZm9yIHRo
ZSBSL08gc29ja2V0LiBUaGlzIGlzIHVzZWQNCj4gIyBmb3IgbW9uaXRvcmluZyBWTSBzdGF0dXMg
b25seQ0KPiAjDQo+ICMgRGVmYXVsdCBhbGxvd3MgYW55IHVzZXIuIElmIHNldHRpbmcgZ3JvdXAg
b3duZXJzaGlwIG1heSB3YW50IHRvDQo+ICMgcmVzdHJpY3QgdGhpcyB0bzoNCj4gI3VuaXhfc29j
a19yb19wZXJtcyA9ICIwNzc3Ig0KPiANCj4gIyBTZXQgdGhlIFVOSVggc29ja2V0IHBlcm1pc3Np
b25zIGZvciB0aGUgUi9XIHNvY2tldC4gVGhpcyBpcyB1c2VkDQo+ICMgZm9yIGZ1bGwgbWFuYWdl
bWVudCBvZiBWTXMNCj4gIw0KPiAjIERlZmF1bHQgYWxsb3dzIG9ubHkgcm9vdC4gSWYgUG9saWN5
S2l0IGlzIGVuYWJsZWQgb24gdGhlIHNvY2tldCwNCj4gIyB0aGUgZGVmYXVsdCB3aWxsIGNoYW5n
ZSB0byBhbGxvdyBldmVyeW9uZSAoZWcsIDA3NzcpDQo+ICMNCj4gIyBJZiBub3QgdXNpbmcgUG9s
aWN5S2l0IGFuZCBzZXR0aW5nIGdyb3VwIG93bmVyc2hpcCBmb3IgYWNjZXNzDQo+ICMgY29udHJv
bCB0aGVuIHlvdSBtYXkgd2FudCB0byByZWxheCB0aGlzIHRvOg0KPiAjdW5peF9zb2NrX3J3X3Bl
cm1zID0gIjA3NzAiDQo+IA0KPiAjIFNldCB0aGUgbmFtZSBvZiB0aGUgZGlyZWN0b3J5IGluIHdo
aWNoIHNvY2tldHMgd2lsbCBiZQ0KPiBmb3VuZC9jcmVhdGVkLg0KPiAjdW5peF9zb2NrX2RpciA9
ICIvdmFyL3J1bi9saWJ2aXJ0Ig0KPiANCj4gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCj4gIw0KPiAjIEF1dGhlbnRpY2F0
aW9uLg0KPiAjDQo+ICMgLSBub25lOiBkbyBub3QgcGVyZm9ybSBhdXRoIGNoZWNrcy4gSWYgeW91
IGNhbiBjb25uZWN0IHRvIHRoZQ0KPiAjIHNvY2tldCB5b3UgYXJlIGFsbG93ZWQuIFRoaXMgaXMg
c3VpdGFibGUgaWYgdGhlcmUgYXJlDQo+ICMgcmVzdHJpY3Rpb25zIG9uIGNvbm5lY3RpbmcgdG8g
dGhlIHNvY2tldCAoZWcsIFVOSVgNCj4gIyBzb2NrZXQgcGVybWlzc2lvbnMpLCBvciBpZiB0aGVy
ZSBpcyBhIGxvd2VyIGxheWVyIGluDQo+ICMgdGhlIG5ldHdvcmsgcHJvdmlkaW5nIGF1dGggKGVn
LCBUTFMveDUwOSBjZXJ0aWZpY2F0ZXMpDQo+ICMNCj4gIyAtIHNhc2w6IHVzZSBTQVNMIGluZnJh
c3RydWN0dXJlLiBUaGUgYWN0dWFsIGF1dGggc2NoZW1lIGlzIHRoZW4NCj4gIyBjb250cm9sbGVk
IGZyb20gL2V0Yy9zYXNsMi9saWJ2aXJ0LmNvbmYuIEZvciB0aGUgVENQDQo+ICMgc29ja2V0IG9u
bHkgR1NTQVBJICYgRElHRVNULU1ENSBtZWNoYW5pc21zIHdpbGwgYmUgdXNlZC4NCj4gIyBGb3Ig
bm9uLVRDUCBvciBUTFMgc29ja2V0cywgYW55IHNjaGVtZSBpcyBhbGxvd2VkLg0KPiAjDQo+ICMg
LSBwb2xraXQ6IHVzZSBQb2xpY3lLaXQgdG8gYXV0aGVudGljYXRlLiBUaGlzIGlzIG9ubHkgc3Vp
dGFibGUNCj4gIyBmb3IgdXNlIG9uIHRoZSBVTklYIHNvY2tldHMuIFRoZSBkZWZhdWx0IHBvbGlj
eSB3aWxsDQo+ICMgcmVxdWlyZSBhIHVzZXIgdG8gc3VwcGx5IHRoZWlyIG93biBwYXNzd29yZCB0
byBnYWluDQo+ICMgZnVsbCByZWFkL3dyaXRlIGFjY2VzcyAoYWthIHN1ZG8gbGlrZSksIHdoaWxl
IGFueW9uZQ0KPiAjIGlzIGFsbG93ZWQgcmVhZC9vbmx5IGFjY2Vzcy4NCj4gIw0KPiAjIFNldCBh
biBhdXRoZW50aWNhdGlvbiBzY2hlbWUgZm9yIFVOSVggcmVhZC1vbmx5IHNvY2tldHMNCj4gIyBC
eSBkZWZhdWx0IHNvY2tldCBwZXJtaXNzaW9ucyBhbGxvdyBhbnlvbmUgdG8gY29ubmVjdA0KPiAj
DQo+ICMgVG8gcmVzdHJpY3QgbW9uaXRvcmluZyBvZiBkb21haW5zIHlvdSBtYXkgd2lzaCB0byBl
bmFibGUNCj4gIyBhbiBhdXRoZW50aWNhdGlvbiBtZWNoYW5pc20gaGVyZQ0KPiAjYXV0aF91bml4
X3JvID0gIm5vbmUiDQo+IA0KPiAjIFNldCBhbiBhdXRoZW50aWNhdGlvbiBzY2hlbWUgZm9yIFVO
SVggcmVhZC13cml0ZSBzb2NrZXRzDQo+ICMgQnkgZGVmYXVsdCBzb2NrZXQgcGVybWlzc2lvbnMg
b25seSBhbGxvdyByb290LiBJZiBQb2xpY3lLaXQNCj4gIyBzdXBwb3J0IHdhcyBjb21waWxlZCBp
bnRvIGxpYnZpcnQsIHRoZSBkZWZhdWx0IHdpbGwgYmUgdG8NCj4gIyB1c2UgJ3BvbGtpdCcgYXV0
aC4NCj4gIw0KPiAjIElmIHRoZSB1bml4X3NvY2tfcndfcGVybXMgYXJlIGNoYW5nZWQgeW91IG1h
eSB3aXNoIHRvIGVuYWJsZQ0KPiAjIGFuIGF1dGhlbnRpY2F0aW9uIG1lY2hhbmlzbSBoZXJlDQo+
ICNhdXRoX3VuaXhfcncgPSAibm9uZSINCj4gDQo+ICMgQ2hhbmdlIHRoZSBhdXRoZW50aWNhdGlv
biBzY2hlbWUgZm9yIFRDUCBzb2NrZXRzLg0KPiAjDQo+ICMgSWYgeW91IGRvbid0IGVuYWJsZSBT
QVNMLCB0aGVuIGFsbCBUQ1AgdHJhZmZpYyBpcyBjbGVhcnRleHQuDQo+ICMgRG9uJ3QgZG8gdGhp
cyBvdXRzaWRlIG9mIGEgZGV2L3Rlc3Qgc2NlbmFyaW8uIEZvciByZWFsIHdvcmxkDQo+ICMgdXNl
LCBhbHdheXMgZW5hYmxlIFNBU0wgYW5kIHVzZSB0aGUgR1NTQVBJIG9yIERJR0VTVC1NRDUNCj4g
IyBtZWNoYW5pc20gaW4gL2V0Yy9zYXNsMi9saWJ2aXJ0LmNvbmYNCj4gI2F1dGhfdGNwID0gInNh
c2wiDQo+IA0KPiAjIENoYW5nZSB0aGUgYXV0aGVudGljYXRpb24gc2NoZW1lIGZvciBUTFMgc29j
a2V0cy4NCj4gIw0KPiAjIFRMUyBzb2NrZXRzIGFscmVhZHkgaGF2ZSBlbmNyeXB0aW9uIHByb3Zp
ZGVkIGJ5IHRoZSBUTFMNCj4gIyBsYXllciwgYW5kIGxpbWl0ZWQgYXV0aGVudGljYXRpb24gaXMg
ZG9uZSBieSBjZXJ0aWZpY2F0ZXMNCj4gIw0KPiAjIEl0IGlzIHBvc3NpYmxlIHRvIG1ha2UgdXNl
IG9mIGFueSBTQVNMIGF1dGhlbnRpY2F0aW9uDQo+ICMgbWVjaGFuaXNtIGFzIHdlbGwsIGJ5IHVz
aW5nICdzYXNsJyBmb3IgdGhpcyBvcHRpb24NCj4gI2F1dGhfdGxzID0gIm5vbmUiDQo+IA0KPiAN
Cj4gDQo+ICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjDQo+ICMNCj4gIyBUTFMgeDUwOSBjZXJ0aWZpY2F0ZSBjb25maWd1cmF0
aW9uDQo+ICMNCj4gDQo+IA0KPiAjIE92ZXJyaWRlIHRoZSBkZWZhdWx0IHNlcnZlciBrZXkgZmls
ZSBwYXRoDQo+ICMNCj4gI2tleV9maWxlID0gIi9ldGMvcGtpL2xpYnZpcnQvcHJpdmF0ZS9zZXJ2
ZXJrZXkucGVtIg0KPiANCj4gIyBPdmVycmlkZSB0aGUgZGVmYXVsdCBzZXJ2ZXIgY2VydGlmaWNh
dGUgZmlsZSBwYXRoDQo+ICMNCj4gI2NlcnRfZmlsZSA9ICIvZXRjL3BraS9saWJ2aXJ0L3NlcnZl
cmNlcnQucGVtIg0KPiANCj4gIyBPdmVycmlkZSB0aGUgZGVmYXVsdCBDQSBjZXJ0aWZpY2F0ZSBw
YXRoDQo+ICMNCj4gI2NhX2ZpbGUgPSAiL2V0Yy9wa2kvQ0EvY2FjZXJ0LnBlbSINCj4gDQo+ICMg
U3BlY2lmeSBhIGNlcnRpZmljYXRlIHJldm9jYXRpb24gbGlzdC4NCj4gIw0KPiAjIERlZmF1bHRz
IHRvIG5vdCB1c2luZyBhIENSTCwgdW5jb21tZW50IHRvIGVuYWJsZSBpdA0KPiAjY3JsX2ZpbGUg
PSAiL2V0Yy9wa2kvQ0EvY3JsLnBlbSINCj4gDQo+IA0KPiANCj4gIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCj4gIw0KPiAj
IEF1dGhvcml6YXRpb24gY29udHJvbHMNCj4gIw0KPiANCj4gDQo+ICMgRmxhZyB0byBkaXNhYmxl
IHZlcmlmaWNhdGlvbiBvZiBvdXIgb3duIHNlcnZlciBjZXJ0aWZpY2F0ZXMNCj4gIw0KPiAjIFdo
ZW4gbGlidmlydGQgc3RhcnRzIGl0IHBlcmZvcm1zIHNvbWUgc2FuaXR5IGNoZWNrcyBhZ2FpbnN0
DQo+ICMgaXRzIG93biBjZXJ0aWZpY2F0ZXMuDQo+ICMNCj4gIyBEZWZhdWx0IGlzIHRvIGFsd2F5
cyBydW4gc2FuaXR5IGNoZWNrcy4gVW5jb21tZW50aW5nIHRoaXMNCj4gIyB3aWxsIGRpc2FibGUg
c2FuaXR5IGNoZWNrcyB3aGljaCBpcyBub3QgYSBnb29kIGlkZWENCj4gI3Rsc19ub19zYW5pdHlf
Y2VydGlmaWNhdGUgPSAxDQo+IA0KPiAjIEZsYWcgdG8gZGlzYWJsZSB2ZXJpZmljYXRpb24gb2Yg
Y2xpZW50IGNlcnRpZmljYXRlcw0KPiAjDQo+ICMgQ2xpZW50IGNlcnRpZmljYXRlIHZlcmlmaWNh
dGlvbiBpcyB0aGUgcHJpbWFyeSBhdXRoZW50aWNhdGlvbg0KPiBtZWNoYW5pc20uDQo+ICMgQW55
IGNsaWVudCB3aGljaCBkb2VzIG5vdCBwcmVzZW50IGEgY2VydGlmaWNhdGUgc2lnbmVkIGJ5IHRo
ZSBDQQ0KPiAjIHdpbGwgYmUgcmVqZWN0ZWQuDQo+ICMNCj4gIyBEZWZhdWx0IGlzIHRvIGFsd2F5
cyB2ZXJpZnkuIFVuY29tbWVudGluZyB0aGlzIHdpbGwgZGlzYWJsZQ0KPiAjIHZlcmlmaWNhdGlv
biAtIG1ha2Ugc3VyZSBhbiBJUCB3aGl0ZWxpc3QgaXMgc2V0DQo+ICN0bHNfbm9fdmVyaWZ5X2Nl
cnRpZmljYXRlID0gMQ0KPiANCj4gDQo+ICMgQSB3aGl0ZWxpc3Qgb2YgYWxsb3dlZCB4NTA5IERp
c3Rpbmd1aXNoZWQgTmFtZXMNCj4gIyBUaGlzIGxpc3QgbWF5IGNvbnRhaW4gd2lsZGNhcmRzIHN1
Y2ggYXMNCj4gIw0KPiAjICJDPUdCLFNUPUxvbmRvbixMPUxvbmRvbixPPVJlZCBIYXQsQ049KiIN
Cj4gIw0KPiAjIFNlZSB0aGUgUE9TSVggZm5tYXRjaCBmdW5jdGlvbiBmb3IgdGhlIGZvcm1hdCBv
ZiB0aGUgd2lsZGNhcmRzLg0KPiAjDQo+ICMgTkIgSWYgdGhpcyBpcyBhbiBlbXB0eSBsaXN0LCBu
byBjbGllbnQgY2FuIGNvbm5lY3QsIHNvIGNvbW1lbnQgb3V0DQo+ICMgZW50aXJlbHkgcmF0aGVy
IHRoYW4gdXNpbmcgZW1wdHkgbGlzdCB0byBkaXNhYmxlIHRoZXNlIGNoZWNrcw0KPiAjDQo+ICMg
QnkgZGVmYXVsdCwgbm8gRE4ncyBhcmUgY2hlY2tlZA0KPiAjdGxzX2FsbG93ZWRfZG5fbGlzdCA9
IFsiRE4xIiwgIkROMiJdDQo+IA0KPiANCj4gIyBBIHdoaXRlbGlzdCBvZiBhbGxvd2VkIFNBU0wg
dXNlcm5hbWVzLiBUaGUgZm9ybWF0IGZvciB1c2VybmFtZXMNCj4gIyBkZXBlbmRzIG9uIHRoZSBT
QVNMIGF1dGhlbnRpY2F0aW9uIG1lY2hhbmlzbS4gS2VyYmVyb3MgdXNlcm5hbWVzDQo+ICMgbG9v
ayBsaWtlIHVzZXJuYW1lQFJFQUxNDQo+ICMNCj4gIyBUaGlzIGxpc3QgbWF5IGNvbnRhaW4gd2ls
ZGNhcmRzIHN1Y2ggYXMNCj4gIw0KPiAjICIqQEVYQU1QTEUuQ09NIg0KPiAjDQo+ICMgU2VlIHRo
ZSBQT1NJWCBmbm1hdGNoIGZ1bmN0aW9uIGZvciB0aGUgZm9ybWF0IG9mIHRoZSB3aWxkY2FyZHMu
DQo+ICMNCj4gIyBOQiBJZiB0aGlzIGlzIGFuIGVtcHR5IGxpc3QsIG5vIGNsaWVudCBjYW4gY29u
bmVjdCwgc28gY29tbWVudCBvdXQNCj4gIyBlbnRpcmVseSByYXRoZXIgdGhhbiB1c2luZyBlbXB0
eSBsaXN0IHRvIGRpc2FibGUgdGhlc2UgY2hlY2tzDQo+ICMNCj4gIyBCeSBkZWZhdWx0LCBubyBV
c2VybmFtZSdzIGFyZSBjaGVja2VkDQo+ICNzYXNsX2FsbG93ZWRfdXNlcm5hbWVfbGlzdCA9IFsi
am9lQEVYQU1QTEUuQ09NIiwgImZyZWRARVhBTVBMRS5DT00iDQo+IF0NCj4gDQo+IA0KPiANCj4g
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMNCj4gIw0KPiAjIFByb2Nlc3NpbmcgY29udHJvbHMNCj4gIw0KPiANCj4gIyBUaGUg
bWF4aW11bSBudW1iZXIgb2YgY29uY3VycmVudCBjbGllbnQgY29ubmVjdGlvbnMgdG8gYWxsb3cN
Cj4gIyBvdmVyIGFsbCBzb2NrZXRzIGNvbWJpbmVkLg0KPiAjbWF4X2NsaWVudHMgPSAyMA0KPiAN
Cj4gDQo+ICMgVGhlIG1pbmltdW0gbGltaXQgc2V0cyB0aGUgbnVtYmVyIG9mIHdvcmtlcnMgdG8g
c3RhcnQgdXANCj4gIyBpbml0aWFsbHkuIElmIHRoZSBudW1iZXIgb2YgYWN0aXZlIGNsaWVudHMg
ZXhjZWVkcyB0aGlzLA0KPiAjIHRoZW4gbW9yZSB0aHJlYWRzIGFyZSBzcGF3bmVkLCB1cHRvIG1h
eF93b3JrZXJzIGxpbWl0Lg0KPiAjIFR5cGljYWxseSB5b3UnZCB3YW50IG1heF93b3JrZXJzIHRv
IGVxdWFsIG1heGltdW0gbnVtYmVyDQo+ICMgb2YgY2xpZW50cyBhbGxvd2VkDQo+ICNtaW5fd29y
a2VycyA9IDUNCj4gI21heF93b3JrZXJzID0gMjANCj4gDQo+IA0KPiAjIFRoZSBudW1iZXIgb2Yg
cHJpb3JpdHkgd29ya2Vycy4gSWYgYWxsIHdvcmtlcnMgZnJvbSBhYm92ZQ0KPiAjIHBvb2wgd2ls
bCBzdHVjaywgc29tZSBjYWxscyBtYXJrZWQgYXMgaGlnaCBwcmlvcml0eQ0KPiAjIChub3RhYmx5
IGRvbWFpbkRlc3Ryb3kpIGNhbiBiZSBleGVjdXRlZCBpbiB0aGlzIHBvb2wuDQo+ICNwcmlvX3dv
cmtlcnMgPSA1DQo+IA0KPiAjIFRvdGFsIGdsb2JhbCBsaW1pdCBvbiBjb25jdXJyZW50IFJQQyBj
YWxscy4gU2hvdWxkIGJlDQo+ICMgYXQgbGVhc3QgYXMgbGFyZ2UgYXMgbWF4X3dvcmtlcnMuIEJl
eW9uZCB0aGlzLCBSUEMgcmVxdWVzdHMNCj4gIyB3aWxsIGJlIHJlYWQgaW50byBtZW1vcnkgYW5k
IHF1ZXVlZC4gVGhpcyBkaXJlY3RseSBpbXBhY3QNCj4gIyBtZW1vcnkgdXNhZ2UsIGN1cnJlbnRs
eSBlYWNoIHJlcXVlc3QgcmVxdWlyZXMgMjU2IEtCIG9mDQo+ICMgbWVtb3J5LiBTbyBieSBkZWZh
dWx0IHVwdG8gNSBNQiBvZiBtZW1vcnkgaXMgdXNlZA0KPiAjDQo+ICMgWFhYIHRoaXMgaXNuJ3Qg
YWN0dWFsbHkgZW5mb3JjZWQgeWV0LCBvbmx5IHRoZSBwZXItY2xpZW50DQo+ICMgbGltaXQgaXMg
dXNlZCBzbyBmYXINCj4gI21heF9yZXF1ZXN0cyA9IDIwDQo+IA0KPiAjIExpbWl0IG9uIGNvbmN1
cnJlbnQgcmVxdWVzdHMgZnJvbSBhIHNpbmdsZSBjbGllbnQNCj4gIyBjb25uZWN0aW9uLiBUbyBh
dm9pZCBvbmUgY2xpZW50IG1vbm9wb2xpemluZyB0aGUgc2VydmVyDQo+ICMgdGhpcyBzaG91bGQg
YmUgYSBzbWFsbCBmcmFjdGlvbiBvZiB0aGUgZ2xvYmFsIG1heF9yZXF1ZXN0cw0KPiAjIGFuZCBt
YXhfd29ya2VycyBwYXJhbWV0ZXINCj4gI21heF9jbGllbnRfcmVxdWVzdHMgPSA1DQo+IA0KPiAj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIw0KPiAjDQo+ICMgTG9nZ2luZyBjb250cm9scw0KPiAjDQo+IA0KPiAjIExvZ2dpbmcg
bGV2ZWw6IDQgZXJyb3JzLCAzIHdhcm5pbmdzLCAyIGluZm9ybWF0aW9uLCAxIGRlYnVnDQo+ICMg
YmFzaWNhbGx5IDEgd2lsbCBsb2cgZXZlcnl0aGluZyBwb3NzaWJsZQ0KPiAjbG9nX2xldmVsID0g
Mw0KPiANCj4gIyBMb2dnaW5nIGZpbHRlcnM6DQo+ICMgQSBmaWx0ZXIgYWxsb3dzIHRvIHNlbGVj
dCBhIGRpZmZlcmVudCBsb2dnaW5nIGxldmVsIGZvciBhIGdpdmVuDQo+IGNhdGVnb3J5DQo+ICMg
b2YgbG9ncw0KPiAjIFRoZSBmb3JtYXQgZm9yIGEgZmlsdGVyIGlzOg0KPiAjIHg6bmFtZQ0KPiAj
IHdoZXJlIG5hbWUgaXMgYSBtYXRjaCBzdHJpbmcgZS5nLiByZW1vdGUgb3IgcWVtdQ0KPiAjIHRo
ZSB4IHByZWZpeCBpcyB0aGUgbWluaW1hbCBsZXZlbCB3aGVyZSBtYXRjaGluZyBtZXNzYWdlcyBz
aG91bGQgYmUNCj4gbG9nZ2VkDQo+ICMgMTogREVCVUcNCj4gIyAyOiBJTkZPDQo+ICMgMzogV0FS
TklORw0KPiAjIDQ6IEVSUk9SDQo+ICMNCj4gIyBNdWx0aXBsZSBmaWx0ZXIgY2FuIGJlIGRlZmlu
ZWQgaW4gYSBzaW5nbGUgQGZpbHRlcnMsIHRoZXkganVzdCBuZWVkDQo+IHRvIGJlDQo+ICMgc2Vw
YXJhdGVkIGJ5IHNwYWNlcy4NCj4gIw0KPiAjIGUuZzoNCj4gIyBsb2dfZmlsdGVycz0iMzpyZW1v
dGUgNDpldmVudCINCj4gIyB0byBvbmx5IGdldCB3YXJuaW5nIG9yIGVycm9ycyBmcm9tIHRoZSBy
ZW1vdGUgbGF5ZXIgYW5kIG9ubHkgZXJyb3JzDQo+IGZyb20NCj4gIyB0aGUgZXZlbnQgbGF5ZXIu
DQo+IA0KPiAjIExvZ2dpbmcgb3V0cHV0czoNCj4gIyBBbiBvdXRwdXQgaXMgb25lIG9mIHRoZSBw
bGFjZXMgdG8gc2F2ZSBsb2dnaW5nIGluZm9ybWF0aW9uDQo+ICMgVGhlIGZvcm1hdCBmb3IgYW4g
b3V0cHV0IGNhbiBiZToNCj4gIyB4OnN0ZGVycg0KPiAjIG91dHB1dCBnb2VzIHRvIHN0ZGVycg0K
PiAjIHg6c3lzbG9nOm5hbWUNCj4gIyB1c2Ugc3lzbG9nIGZvciB0aGUgb3V0cHV0IGFuZCB1c2Ug
dGhlIGdpdmVuIG5hbWUgYXMgdGhlIGlkZW50DQo+ICMgeDpmaWxlOmZpbGVfcGF0aA0KPiAjIG91
dHB1dCB0byBhIGZpbGUsIHdpdGggdGhlIGdpdmVuIGZpbGVwYXRoDQo+ICMgSW4gYWxsIGNhc2Ug
dGhlIHggcHJlZml4IGlzIHRoZSBtaW5pbWFsIGxldmVsLCBhY3RpbmcgYXMgYSBmaWx0ZXINCj4g
IyAxOiBERUJVRw0KPiAjIDI6IElORk8NCj4gIyAzOiBXQVJOSU5HDQo+ICMgNDogRVJST1INCj4g
Iw0KPiAjIE11bHRpcGxlIG91dHB1dCBjYW4gYmUgZGVmaW5lZCwgdGhleSBqdXN0IG5lZWQgdG8g
YmUgc2VwYXJhdGVkIGJ5DQo+IHNwYWNlcy4NCj4gIyBlLmcuOg0KPiAjIGxvZ19vdXRwdXRzPSIz
OnN5c2xvZzpsaWJ2aXJ0ZCINCj4gIyB0byBsb2cgYWxsIHdhcm5pbmdzIGFuZCBlcnJvcnMgdG8g
c3lzbG9nIHVuZGVyIHRoZSBsaWJ2aXJ0ZCBpZGVudA0KPiANCj4gIyBMb2cgZGVidWcgYnVmZmVy
IHNpemU6IGRlZmF1bHQgNjQNCj4gIyBUaGUgZGFlbW9uIGtlZXBzIGFuIGludGVybmFsIGRlYnVn
IGxvZyBidWZmZXIgd2hpY2ggd2lsbCBiZSBkdW1wZWQNCj4gaW4gY2FzZQ0KPiAjIG9mIGNyYXNo
IG9yIHVwb24gcmVjZWl2aW5nIGEgU0lHVVNSMiBzaWduYWwuIFRoaXMgc2V0dGluZyBhbGxvd3Mg
dG8NCj4gb3ZlcnJpZGUNCj4gIyB0aGUgZGVmYXVsdCBidWZmZXIgc2l6ZSBpbiBraWxvYnl0ZXMu
DQo+ICMgSWYgdmFsdWUgaXMgMCBvciBsZXNzIHRoZSBkZWJ1ZyBsb2cgYnVmZmVyIGlzIGRlYWN0
aXZhdGVkDQo+ICNsb2dfYnVmZmVyX3NpemUgPSA2NA0KPiANCj4gDQo+ICMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KPiAj
DQo+ICMgQXVkaXRpbmcNCj4gIw0KPiAjIFRoaXMgc2V0dGluZyBhbGxvd3MgdXNhZ2Ugb2YgdGhl
IGF1ZGl0aW5nIHN1YnN5c3RlbSB0byBiZSBhbHRlcmVkOg0KPiAjDQo+ICMgYXVkaXRfbGV2ZWwg
PT0gMCAtPiBkaXNhYmxlIGFsbCBhdWRpdGluZw0KPiAjIGF1ZGl0X2xldmVsID09IDEgLT4gZW5h
YmxlIGF1ZGl0aW5nLCBvbmx5IGlmIGVuYWJsZWQgb24gaG9zdA0KPiAoZGVmYXVsdCkNCj4gIyBh
dWRpdF9sZXZlbCA9PSAyIC0+IGVuYWJsZSBhdWRpdGluZywgYW5kIGV4aXQgaWYgZGlzYWJsZWQg
b24gaG9zdA0KPiAjDQo+ICNhdWRpdF9sZXZlbCA9IDINCj4gIw0KPiAjIElmIHNldCB0byAxLCB0
aGVuIGF1ZGl0IG1lc3NhZ2VzIHdpbGwgYWxzbyBiZSBzZW50DQo+ICMgdmlhIGxpYnZpcnQgbG9n
Z2luZyBpbmZyYXN0cnVjdHVyZS4gRGVmYXVsdHMgdG8gMA0KPiAjDQo+ICNhdWRpdF9sb2dnaW5n
ID0gMQ0KPiANCj4gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KPiAjIFVVSUQgb2YgdGhlIGhvc3Q6DQo+ICMgUHJvdmlk
ZSB0aGUgVVVJRCBvZiB0aGUgaG9zdCBoZXJlIGluIGNhc2UgdGhlIGNvbW1hbmQNCj4gIyAnZG1p
ZGVjb2RlIC1zIHN5c3RlbS11dWlkJyBkb2VzIG5vdCBwcm92aWRlIGEgdmFsaWQgdXVpZC4gSW4g
Y2FzZQ0KPiAjICdkbWlkZWNvZGUnIGRvZXMgbm90IHByb3ZpZGUgYSB2YWxpZCBVVUlEIGFuZCBu
b25lIGlzIHByb3ZpZGVkDQo+IGhlcmUsIGENCj4gIyB0ZW1wb3JhcnkgVVVJRCB3aWxsIGJlIGdl
bmVyYXRlZC4NCj4gIyBLZWVwIHRoZSBmb3JtYXQgb2YgdGhlIGV4YW1wbGUgVVVJRCBiZWxvdy4g
VVVJRCBtdXN0IG5vdCBoYXZlIGFsbA0KPiBkaWdpdHMNCj4gIyBiZSB0aGUgc2FtZS4NCj4gDQo+
ICMgTkIgVGhpcyBkZWZhdWx0IGFsbC16ZXJvcyBVVUlEIHdpbGwgbm90IHdvcmsuIFJlcGxhY2UN
Cj4gIyBpdCB3aXRoIHRoZSBvdXRwdXQgb2YgdGhlICd1dWlkZ2VuJyBjb21tYW5kIGFuZCB0aGVu
DQo+ICMgdW5jb21tZW50IHRoaXMgZW50cnkNCj4gI2hvc3RfdXVpZCA9ICIwMDAwMDAwMC0wMDAw
LTAwMDAtMDAwMC0wMDAwMDAwMDAwMDAiDQo+IA0KPiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQo+ICMgS2VlcGFsaXZl
IHByb3RvY29sOg0KPiAjIFRoaXMgYWxsb3dzIGxpYnZpcnRkIHRvIGRldGVjdCBicm9rZW4gY2xp
ZW50IGNvbm5lY3Rpb25zIG9yIGV2ZW4NCj4gIyBkZWFkIGNsaWVudC4gQSBrZWVwYWxpdmUgbWVz
c2FnZSBpcyBzZW50IHRvIGEgY2xpZW50IGFmdGVyDQo+ICMga2VlcGFsaXZlX2ludGVydmFsIHNl
Y29uZHMgb2YgaW5hY3Rpdml0eSB0byBjaGVjayBpZiB0aGUgY2xpZW50IGlzDQo+ICMgc3RpbGwg
cmVzcG9uZGluZzsga2VlcGFsaXZlX2NvdW50IGlzIGEgbWF4aW11bSBudW1iZXIgb2Yga2VlcGFs
aXZlDQo+ICMgbWVzc2FnZXMgdGhhdCBhcmUgYWxsb3dlZCB0byBiZSBzZW50IHRvIHRoZSBjbGll
bnQgd2l0aG91dCBnZXR0aW5nDQo+ICMgYW55IHJlc3BvbnNlIGJlZm9yZSB0aGUgY29ubmVjdGlv
biBpcyBjb25zaWRlcmVkIGJyb2tlbi4gSW4gb3RoZXINCj4gIyB3b3JkcywgdGhlIGNvbm5lY3Rp
b24gaXMgYXV0b21hdGljYWxseSBjbG9zZWQgYXBwcm94aW1hdGVseSBhZnRlcg0KPiAjIGtlZXBh
bGl2ZV9pbnRlcnZhbCAqIChrZWVwYWxpdmVfY291bnQgKyAxKSBzZWNvbmRzIHNpbmNlIHRoZSBs
YXN0DQo+ICMgbWVzc2FnZSByZWNlaXZlZCBmcm9tIHRoZSBjbGllbnQuIElmIGtlZXBhbGl2ZV9p
bnRlcnZhbCBpcyBzZXQgdG8NCj4gIyAtMSwgbGlidmlydGQgd2lsbCBuZXZlciBzZW5kIGtlZXBh
bGl2ZSByZXF1ZXN0czsgaG93ZXZlciBjbGllbnRzDQo+ICMgY2FuIHN0aWxsIHNlbmQgdGhlbSBh
bmQgdGhlIGRlYW1vbiB3aWxsIHNlbmQgcmVzcG9uc2VzLiBXaGVuDQo+ICMga2VlcGFsaXZlX2Nv
dW50IGlzIHNldCB0byAwLCBjb25uZWN0aW9ucyB3aWxsIGJlIGF1dG9tYXRpY2FsbHkNCj4gIyBj
bG9zZWQgYWZ0ZXIga2VlcGFsaXZlX2ludGVydmFsIHNlY29uZHMgb2YgaW5hY3Rpdml0eSB3aXRo
b3V0DQo+ICMgc2VuZGluZyBhbnkga2VlcGFsaXZlIG1lc3NhZ2VzLiBEaXNhYmxlZCBieSBkZWZh
dWx0Lg0KPiAjDQo+ICNrZWVwYWxpdmVfaW50ZXJ2YWwgPSA1DQo+ICNrZWVwYWxpdmVfY291bnQg
PSA1DQo+ICMNCj4gIyBJZiBzZXQgdG8gMSwgbGlidmlydGQgd2lsbCByZWZ1c2UgdG8gdGFsayB0
byBjbGllbnRzIHRoYXQgZG8gbm90DQo+ICMgc3VwcG9ydCBrZWVwYWxpdmUgcHJvdG9jb2wuIERl
ZmF1bHRzIHRvIDAuDQo+ICMNCj4gI2tlZXBhbGl2ZV9yZXF1aXJlZCA9IDENCj4gIyMgYmVnaW5u
aW5nIG9mIGNvbmZpZ3VyYXRpb24gc2VjdGlvbiBieSB2ZHNtLTQuOS42DQo+IGxpc3Rlbl9hZGRy
PSIwLjAuMC4wIg0KPiB1bml4X3NvY2tfZ3JvdXA9Imt2bSINCj4gdW5peF9zb2NrX3J3X3Blcm1z
PSIwNzcwIg0KPiBhdXRoX3VuaXhfcnc9InNhc2wiDQo+IHNhdmVfaW1hZ2VfZm9ybWF0PSJsem9w
Ig0KPiBsb2dfb3V0cHV0cz0iMTpmaWxlOi92YXIvbG9nL2xpYnZpcnRkLmxvZyINCj4gbG9nX2Zp
bHRlcnM9IjE6bGlidmlydCAzOmV2ZW50IDM6anNvbiAxOnV0aWwgMTpxZW11Ig0KPiBjYV9maWxl
PSIvZXRjL3BraS92ZHNtL2NlcnRzL2NhY2VydC5wZW0iDQo+IGNlcnRfZmlsZT0iL2V0Yy9wa2kv
dmRzbS9jZXJ0cy92ZHNtY2VydC5wZW0iDQo+IGtleV9maWxlPSIvZXRjL3BraS92ZHNtL2tleXMv
dmRzbWtleS5wZW0iDQo+ICMjIGVuZCBvZiBjb25maWd1cmF0aW9uIHNlY3Rpb24gYnkgdmRzbS00
LjkuNg0KPiANCj4gIA0KPiANCj4gW3Jvb3RAa3ZtMSBsaWJ2aXJ0XSMgdGFpbCAvdmFyL2xvZy9s
aWJ2aXJ0L2xpYnZpcnRkLmxvZyAtbiAyMA0KPiAyMDEzLTAyLTI2IDA2OjMzOjI3LjA2MyswMDAw
OiAyMTI4OiBlcnJvciA6DQo+IHJlbW90ZURpc3BhdGNoQXV0aFBvbGtpdDoyNTU5IDogUG9saWN5
IGtpdCBkZW5pZWQgYWN0aW9uDQo+IG9yZy5saWJ2aXJ0LnVuaXgubWFuYWdlIGZyb20gcGlkIDQw
MzEsIHVpZCAzNjogZXhpdCBzdGF0dXMgMg0KPiAyMDEzLTAyLTI2IDA2OjMzOjI3LjA2MyswMDAw
OiAyMTI4OiBlcnJvciA6DQo+IHJlbW90ZURpc3BhdGNoQXV0aFBvbGtpdDoyNTg4IDogYXV0aGVu
dGljYXRpb24gZmFpbGVkOiBBdXRob3JpemF0aW9uDQo+IHJlcXVpcmVzIGF1dGhlbnRpY2F0aW9u
IGJ1dCBubyBhZ2VudCBpcyBhdmFpbGFibGUuDQo+IA0KPiAyMDEzLTAyLTI2IDA2OjMzOjI3LjA5
OCswMDAwOiAyMTE5OiBlcnJvciA6IHZpck5ldFNvY2tldFJlYWRXaXJlOjk5OQ0KPiA6IEVuZCBv
ZiBmaWxlIHdoaWxlIHJlYWRpbmcgZGF0YTogSW5wdXQvb3V0cHV0IGVycm9yDQo+IDIwMTMtMDIt
MjYgMDY6MzM6MjcuMzMzKzAwMDA6IDIxMjA6IGVycm9yIDoNCj4gcmVtb3RlRGlzcGF0Y2hBdXRo
UG9sa2l0OjI1NTkgOiBQb2xpY3kga2l0IGRlbmllZCBhY3Rpb24NCj4gb3JnLmxpYnZpcnQudW5p
eC5tYW5hZ2UgZnJvbSBwaWQgNDA0MSwgdWlkIDM2OiBleGl0IHN0YXR1cyAyDQo+IDIwMTMtMDIt
MjYgMDY6MzM6MjcuMzMzKzAwMDA6IDIxMjA6IGVycm9yIDoNCj4gcmVtb3RlRGlzcGF0Y2hBdXRo
UG9sa2l0OjI1ODggOiBhdXRoZW50aWNhdGlvbiBmYWlsZWQ6IEF1dGhvcml6YXRpb24NCj4gcmVx
dWlyZXMgYXV0aGVudGljYXRpb24gYnV0IG5vIGFnZW50IGlzIGF2YWlsYWJsZS4NCj4gDQo+IDIw
MTMtMDItMjYgMDY6MzM6MjcuMzY4KzAwMDA6IDIxMTk6IGVycm9yIDogdmlyTmV0U29ja2V0UmVh
ZFdpcmU6OTk5DQo+IDogRW5kIG9mIGZpbGUgd2hpbGUgcmVhZGluZyBkYXRhOiBJbnB1dC9vdXRw
dXQgZXJyb3INCj4gMjAxMy0wMi0yNiAwNjozMzoyNy42MDMrMDAwMDogMjEyMjogZXJyb3IgOg0K
PiByZW1vdGVEaXNwYXRjaEF1dGhQb2xraXQ6MjU1OSA6IFBvbGljeSBraXQgZGVuaWVkIGFjdGlv
bg0KPiBvcmcubGlidmlydC51bml4Lm1hbmFnZSBmcm9tIHBpZCA0MDUxLCB1aWQgMzY6IGV4aXQg
c3RhdHVzIDINCj4gMjAxMy0wMi0yNiAwNjozMzoyNy42MDMrMDAwMDogMjEyMjogZXJyb3IgOg0K
PiByZW1vdGVEaXNwYXRjaEF1dGhQb2xraXQ6MjU4OCA6IGF1dGhlbnRpY2F0aW9uIGZhaWxlZDog
QXV0aG9yaXphdGlvbg0KPiByZXF1aXJlcyBhdXRoZW50aWNhdGlvbiBidXQgbm8gYWdlbnQgaXMg
YXZhaWxhYmxlLg0KPiANCj4gMjAxMy0wMi0yNiAwNjozMzoyNy42MzYrMDAwMDogMjExOTogZXJy
b3IgOiB2aXJOZXRTb2NrZXRSZWFkV2lyZTo5OTkNCj4gOiBFbmQgb2YgZmlsZSB3aGlsZSByZWFk
aW5nIGRhdGE6IElucHV0L291dHB1dCBlcnJvcg0KPiAyMDEzLTAyLTI2IDA2OjMzOjI3Ljg3MSsw
MDAwOiAyMTI0OiBlcnJvciA6DQo+IHJlbW90ZURpc3BhdGNoQXV0aFBvbGtpdDoyNTU5IDogUG9s
aWN5IGtpdCBkZW5pZWQgYWN0aW9uDQo+IG9yZy5saWJ2aXJ0LnVuaXgubWFuYWdlIGZyb20gcGlk
IDQwNjEsIHVpZCAzNjogZXhpdCBzdGF0dXMgMg0KPiAyMDEzLTAyLTI2IDA2OjMzOjI3Ljg3Misw
MDAwOiAyMTI0OiBlcnJvciA6DQo+IHJlbW90ZURpc3BhdGNoQXV0aFBvbGtpdDoyNTg4IDogYXV0
aGVudGljYXRpb24gZmFpbGVkOiBBdXRob3JpemF0aW9uDQo+IHJlcXVpcmVzIGF1dGhlbnRpY2F0
aW9uIGJ1dCBubyBhZ2VudCBpcyBhdmFpbGFibGUuDQo+IA0KPiAyMDEzLTAyLTI2IDA2OjMzOjI3
LjkwNCswMDAwOiAyMTE5OiBlcnJvciA6IHZpck5ldFNvY2tldFJlYWRXaXJlOjk5OQ0KPiA6IEVu
ZCBvZiBmaWxlIHdoaWxlIHJlYWRpbmcgZGF0YTogSW5wdXQvb3V0cHV0IGVycm9yDQo+IDIwMTMt
MDItMjYgMDY6MzM6MjguMTQyKzAwMDA6IDIxMjY6IGVycm9yIDoNCj4gcmVtb3RlRGlzcGF0Y2hB
dXRoUG9sa2l0OjI1NTkgOiBQb2xpY3kga2l0IGRlbmllZCBhY3Rpb24NCj4gb3JnLmxpYnZpcnQu
dW5peC5tYW5hZ2UgZnJvbSBwaWQgNDA3MSwgdWlkIDM2OiBleGl0IHN0YXR1cyAyDQo+IDIwMTMt
MDItMjYgMDY6MzM6MjguMTQyKzAwMDA6IDIxMjY6IGVycm9yIDoNCj4gcmVtb3RlRGlzcGF0Y2hB
dXRoUG9sa2l0OjI1ODggOiBhdXRoZW50aWNhdGlvbiBmYWlsZWQ6IEF1dGhvcml6YXRpb24NCj4g
cmVxdWlyZXMgYXV0aGVudGljYXRpb24gYnV0IG5vIGFnZW50IGlzIGF2YWlsYWJsZS4NCj4gDQo+
IDIwMTMtMDItMjYgMDY6MzM6MjguMTc2KzAwMDA6IDIxMTk6IGVycm9yIDogdmlyTmV0U29ja2V0
UmVhZFdpcmU6OTk5DQo+IDogRW5kIG9mIGZpbGUgd2hpbGUgcmVhZGluZyBkYXRhOiBJbnB1dC9v
dXRwdXQgZXJyb3INCj4gDQo+IA0KPiB4aWFuZ2h1YWR1DQo+IA0KPiANCj4gDQo+IEZyb206IExp
cm9uIEFyYXZvdA0KPiBEYXRlOiAyMDEzLTAyLTI3IDE2OjAxDQo+IFRvOiB4aWFuZ2h1YWR1DQo+
IENDOiB1c2Vycw0KPiBTdWJqZWN0OiBSZTogW1VzZXJzXSBvdmlydCBDb25uZWN0aW9uIFN0b3Jh
Z2UgZXJyb3INCj4gDQo+IEhpLCBsb29raW5nIGluIHRoZSB2ZHNtIGxvZ3MgaSBzZWUNCj4gbGli
dmlydEVycm9yOiBhdXRoZW50aWNhdGlvbiBmYWlsZWQ6IEF1dGhvcml6YXRpb24gcmVxdWlyZXMN
Cj4gYXV0aGVudGljYXRpb24gYnV0IG5vIGFnZW50IGlzIGF2YWlsYWJsZS4NCj4gDQo+IGNhbiB5
b3UgcGxlYXNlIGF0dGFjaCB5b3VyIGxpYnZpcnQgY29uZmlndXJhdGlvbiBmaWxlIGFuZCB0aGUg
bGlidmlydA0KPiBsb2cgcGVyaGFwcz8NCj4gDQo+IC0tLS0tIE9yaWdpbmFsIE1lc3NhZ2UgLS0t
LS0NCj4gPiBGcm9tOiAieGlhbmdodWFkdSIgPHhpYW5naHVhZHVAZ21haWwuY29tPg0KPiA+IFRv
OiAiTGlyb24gQXJhdm90IiA8bGFyYXZvdEByZWRoYXQuY29tPg0KPiA+IENjOiAidXNlcnMiIDx1
c2Vyc0BvdmlydC5vcmc+DQo+ID4gU2VudDogVHVlc2RheSwgRmVicnVhcnkgMjYsIDIwMTMgMTA6
MjE6NTcgQU0NCj4gPiBTdWJqZWN0OiBSZTogUmU6IFtVc2Vyc10gb3ZpcnQgQ29ubmVjdGlvbiBT
dG9yYWdlIGVycm9yDQo+ID4gDQo+ID4g77u/DQo+ID4gaGkgbGlyb24gYXJhdm90DQo+ID4gYXR0
YWNoZWQgaXMgZnVsbCB2ZHNtIGxvZw0KPiA+IHRoeA0KPiA+IA0KPiA+IA0KPiA+IHhpYW5naHVh
ZHUNCj4gPiANCj4gPiANCj4gPiANCj4gPiBGcm9tOiBMaXJvbiBBcmF2b3QNCj4gPiBEYXRlOiAy
MDEzLTAyLTI2IDE1OjUwDQo+ID4gVG86IHhpYW5naHVhZHUNCj4gPiBDQzogdXNlcnMNCj4gPiBT
dWJqZWN0OiBSZTogW1VzZXJzXSBvdmlydCBDb25uZWN0aW9uIFN0b3JhZ2UgZXJyb3INCj4gPiAN
Cj4gPiBIaSwNCj4gPiBjYW4geW91IHBsZWFzZSBhdHRhY2ggdGhlIGZ1bGwgdmRzbSBsb2c/DQo+
ID4gDQo+ID4gLS0tLS0gT3JpZ2luYWwgTWVzc2FnZSAtLS0tLQ0KPiA+ID4gRnJvbTogInhpYW5n
aHVhZHUiIDx4aWFuZ2h1YWR1QGdtYWlsLmNvbT4NCj4gPiA+IFRvOiAidXNlcnMiIDx1c2Vyc0Bv
dmlydC5vcmc+DQo+ID4gPiBTZW50OiBUdWVzZGF5LCBGZWJydWFyeSAyNiwgMjAxMyA5OjI3OjA1
IEFNDQo+ID4gPiBTdWJqZWN0OiBbVXNlcnNdIG92aXJ0IENvbm5lY3Rpb24gU3RvcmFnZSBlcnJv
cg0KPiA+ID4gDQo+ID4gPiANCj4gPiA+IA0KPiA+ID4gSGkgYWxsDQo+ID4gPiBBZGQgaXNjc2kg
c3RvcmFnZSwgRXJyb3Igd2hpbGUgZXhlY3V0aW5nIGFjdGlvbiBOZXcgU0FOIHN0b3JhZ2UNCj4g
PiA+IERvbWFpbjogVW5leHBlY3RlZCBleGNlcHRpb24uDQo+ID4gPiBlbmdpbmUgbG9nDQo+ID4g
PiANCj4gPiA+IA0KPiA+ID4gDQo+ID4gPiAyMDEzLTAyLTI2IDE1OjA5OjA4LDIxMSBJTkZPDQo+
ID4gPiBbb3JnLm92aXJ0LmVuZ2luZS5jb3JlLnZkc2Jyb2tlci52ZHNicm9rZXIuQnJva2VyQ29t
bWFuZEJhc2VdDQo+ID4gPiAoYWpwLS0xMjcuMC4wLjEtODcwMi0xKSBbNDk1Mjc5MGVdIEhvc3RO
YW1lID0gMjI1DQo+ID4gPiAyMDEzLTAyLTI2IDE1OjA5OjA4LDIxMiBFUlJPUg0KPiA+ID4gW29y
Zy5vdmlydC5lbmdpbmUuY29yZS52ZHNicm9rZXIuVkRTQ29tbWFuZEJhc2VdDQo+ID4gPiAoYWpw
LS0xMjcuMC4wLjEtODcwMi0xKSBbNDk1Mjc5MGVdIENvbW1hbmQgRm9ybWF0U3RvcmFnZURvbWFp
blZEUw0KPiA+ID4gZXhlY3V0aW9uIGZhaWxlZC4gRXhjZXB0aW9uOiBWRFNFcnJvckV4Y2VwdGlv
bjoNCj4gPiA+IFZEU0dlbmVyaWNFeGNlcHRpb246DQo+ID4gPiBWRFNFcnJvckV4Y2VwdGlvbjog
RmFpbGVkIHRvIEZvcm1hdFN0b3JhZ2VEb21haW5WRFMsIGVycm9yID0NCj4gPiA+IENhbm5vdA0K
PiA+ID4gZm9ybWF0IGF0dGFjaGVkIHN0b3JhZ2UgZG9tYWluOg0KPiA+ID4gKCczNzhlZjJlNi1l
MTJkLTRlYWUtOGM2Yy05YmMyYjk4M2Q0Y2UnLCkNCj4gPiA+IDIwMTMtMDItMjYgMTU6MDk6MDgs
MjE0IElORk8NCj4gPiA+IFtvcmcub3ZpcnQuZW5naW5lLmNvcmUudmRzYnJva2VyLnZkc2Jyb2tl
ci5Gb3JtYXRTdG9yYWdlRG9tYWluVkRTQ29tbWFuZF0NCj4gPiA+IChhanAtLTEyNy4wLjAuMS04
NzAyLTEpIFs0OTUyNzkwZV0gRklOSVNILA0KPiA+ID4gRm9ybWF0U3RvcmFnZURvbWFpblZEU0Nv
bW1hbmQsIGxvZyBpZDogMWY0OTg3OTkNCj4gPiA+IDIwMTMtMDItMjYgMTU6MDk6MDgsMjE1IEVS
Uk9SDQo+ID4gPiBbb3JnLm92aXJ0LmVuZ2luZS5jb3JlLmJsbC5zdG9yYWdlLlJlbW92ZVN0b3Jh
Z2VEb21haW5Db21tYW5kXQ0KPiA+ID4gKGFqcC0tMTI3LjAuMC4xLTg3MDItMSkgWzQ5NTI3OTBl
XSBDb21tYW5kDQo+ID4gPiBvcmcub3ZpcnQuZW5naW5lLmNvcmUuYmxsLnN0b3JhZ2UuUmVtb3Zl
U3RvcmFnZURvbWFpbkNvbW1hbmQNCj4gPiA+IHRocm93DQo+ID4gPiBWZGMgQmxsIGV4Y2VwdGlv
bi4gV2l0aCBlcnJvciBtZXNzYWdlIFZkY0JMTEV4Y2VwdGlvbjoNCj4gPiA+IG9yZy5vdmlydC5l
bmdpbmUuY29yZS52ZHNicm9rZXIudmRzYnJva2VyLlZEU0Vycm9yRXhjZXB0aW9uOg0KPiA+ID4g
VkRTR2VuZXJpY0V4Y2VwdGlvbjogVkRTRXJyb3JFeGNlcHRpb246IEZhaWxlZCB0bw0KPiA+ID4g
Rm9ybWF0U3RvcmFnZURvbWFpblZEUywgZXJyb3IgPSBDYW5ub3QgZm9ybWF0IGF0dGFjaGVkIHN0
b3JhZ2UNCj4gPiA+IGRvbWFpbjogKCczNzhlZjJlNi1lMTJkLTRlYWUtOGM2Yy05YmMyYjk4M2Q0
Y2UnLCkNCj4gPiA+IDIwMTMtMDItMjYgMTU6MDk6MDgsMjIxIElORk8NCj4gPiA+IFtvcmcub3Zp
cnQuZW5naW5lLmNvcmUuYmxsLnN0b3JhZ2UuUmVtb3ZlU3RvcmFnZURvbWFpbkNvbW1hbmRdDQo+
ID4gPiAoYWpwLS0xMjcuMC4wLjEtODcwMi0xKSBbNDk1Mjc5MGVdIExvY2sgZnJlZWQgdG8gb2Jq
ZWN0DQo+ID4gPiBFbmdpbmVMb2NrDQo+ID4gPiBbZXhjbHVzaXZlTG9ja3M9IGtleTogMzc4ZWYy
ZTYtZTEyZC00ZWFlLThjNmMtOWJjMmI5ODNkNGNlIHZhbHVlOg0KPiA+ID4gU1RPUkFHRQ0KPiA+
ID4gLCBzaGFyZWRMb2Nrcz0gXQ0KPiA+ID4gMjAxMy0wMi0yNiAxNTowOTo0MiwwNjcgV0FSTg0K
PiA+ID4gW29yZy5vdmlydC5lbmdpbmUuY29yZS5ibGwuc3RvcmFnZS5VcGRhdGVTdG9yYWdlUG9v
bENvbW1hbmRdDQo+ID4gPiAoYWpwLS0xMjcuMC4wLjEtODcwMi02KSBbYThjNzcyN10gQ2FuRG9B
Y3Rpb24gb2YgYWN0aW9uDQo+ID4gPiBVcGRhdGVTdG9yYWdlUG9vbCBmYWlsZWQuDQo+ID4gPiBS
ZWFzb25zOlZBUl9fVFlQRV9fU1RPUkFHRV9fUE9PTCxBQ1RJT05fVFlQRV9GQUlMRURfU1RPUkFH
RV9QT09MX1dJVEhfREVGQVVMVF9WRFNfR1JPVVBfQ0FOTk9UX0JFX0xPQ0FMRlMsVkFSX19BQ1RJ
T05fX1VQREFURQ0KPiA+ID4gMjAxMy0wMi0yNiAxNTowOTo1OSwyMjQgSU5GTw0KPiA+ID4gW29y
Zy5vdmlydC5lbmdpbmUuY29yZS5ibGwuc3RvcmFnZS5VcGRhdGVTdG9yYWdlUG9vbENvbW1hbmRd
DQo+ID4gPiAoYWpwLS0xMjcuMC4wLjEtODcwMi0zKSBbM2Q4ZmFhNWZdIFJ1bm5pbmcgY29tbWFu
ZDoNCj4gPiA+IFVwZGF0ZVN0b3JhZ2VQb29sQ29tbWFuZCBpbnRlcm5hbDogZmFsc2UuIEVudGl0
aWVzIGFmZmVjdGVkIDogSUQ6DQo+ID4gPiBkYTU4NzBlMC03YWFlLTExZTItOWRhNS0wMDE4OGJl
NGRlMjkgVHlwZTogU3RvcmFnZVBvb2wNCj4gPiA+IDIwMTMtMDItMjYgMTU6MTA6MDAsMDAwIElO
Rk8NCj4gPiA+IFtvcmcub3ZpcnQuZW5naW5lLmNvcmUuYmxsLkF1dG9SZWNvdmVyeU1hbmFnZXJd
DQo+ID4gPiAoUXVhcnR6U2NoZWR1bGVyX1dvcmtlci04MCkgQXV0b3JlY292ZXJpbmcgaG9zdHMg
aXMgZGlzYWJsZWQsDQo+ID4gPiBza2lwcGluZw0KPiA+ID4gMjAxMy0wMi0yNiAxNToxMDowMCww
MDEgSU5GTw0KPiA+ID4gW29yZy5vdmlydC5lbmdpbmUuY29yZS5ibGwuQXV0b1JlY292ZXJ5TWFu
YWdlcl0NCj4gPiA+IChRdWFydHpTY2hlZHVsZXJfV29ya2VyLTgwKSBBdXRvcmVjb3ZlcmluZyBz
dG9yYWdlIGRvbWFpbnMgaXMNCj4gPiA+IGRpc2FibGVkLCBza2lwcGluZw0KPiA+ID4gMjAxMy0w
Mi0yNiAxNToxMDoyMyw4MTQgSU5GTw0KPiA+ID4gW29yZy5vdmlydC5lbmdpbmUuY29yZS52ZHNi
cm9rZXIudmRzYnJva2VyLkdldERldmljZUxpc3RWRFNDb21tYW5kXQ0KPiA+ID4gKGFqcC0tMTI3
LjAuMC4xLTg3MDItMikgU1RBUlQsIEdldERldmljZUxpc3RWRFNDb21tYW5kKEhvc3ROYW1lID0N
Cj4gPiA+IDIyNSwgSG9zdElkID0gMzQyYjExMWEtN2ZkZi0xMWUyLWE5NjMtMDAxODhiZTRkZTI5
LA0KPiA+ID4gc3RvcmFnZVR5cGU9SVNDU0kpLCBsb2cgaWQ6IDQ4NGVjY2VmDQo+ID4gPiAyMDEz
LTAyLTI2IDE1OjEwOjI0LDExOSBJTkZPDQo+ID4gPiBbb3JnLm92aXJ0LmVuZ2luZS5jb3JlLnZk
c2Jyb2tlci52ZHNicm9rZXIuR2V0RGV2aWNlTGlzdFZEU0NvbW1hbmRdDQo+ID4gPiAoYWpwLS0x
MjcuMC4wLjEtODcwMi0yKSBGSU5JU0gsIEdldERldmljZUxpc3RWRFNDb21tYW5kLCByZXR1cm46
DQo+ID4gPiBbb3JnLm92aXJ0LmVuZ2luZS5jb3JlLmNvbW1vbi5idXNpbmVzc2VudGl0aWVzLkxV
TnNAYjQyMGNjNl0sIGxvZw0KPiA+ID4gaWQ6IDQ4NGVjY2VmDQo+ID4gPiAyMDEzLTAyLTI2IDE1
OjEwOjMyLDUyMyBJTkZPDQo+ID4gPiBbb3JnLm92aXJ0LmVuZ2luZS5jb3JlLmJsbC5zdG9yYWdl
LkFkZFNBTlN0b3JhZ2VEb21haW5Db21tYW5kXQ0KPiA+ID4gKGFqcC0tMTI3LjAuMC4xLTg3MDIt
NCkgWzY2ZmE5NzhjXSBSdW5uaW5nIGNvbW1hbmQ6DQo+ID4gPiBBZGRTQU5TdG9yYWdlRG9tYWlu
Q29tbWFuZCBpbnRlcm5hbDogZmFsc2UuIEVudGl0aWVzIGFmZmVjdGVkIDoNCj4gPiA+IElEOg0K
PiA+ID4gYWFhMDAwMDAtMDAwMC0wMDAwLTAwMDAtMTIzNDU2Nzg5YWFhIFR5cGU6IFN5c3RlbQ0K
PiA+ID4gMjAxMy0wMi0yNiAxNToxMDozMiw1MzkgSU5GTw0KPiA+ID4gW29yZy5vdmlydC5lbmdp
bmUuY29yZS52ZHNicm9rZXIudmRzYnJva2VyLkNyZWF0ZVZHVkRTQ29tbWFuZF0NCj4gPiA+IChh
anAtLTEyNy4wLjAuMS04NzAyLTQpIFs2NmZhOTc4Y10gU1RBUlQsDQo+ID4gPiBDcmVhdGVWR1ZE
U0NvbW1hbmQoSG9zdE5hbWUgPSAyMjUsIEhvc3RJZCA9DQo+ID4gPiAzNDJiMTExYS03ZmRmLTEx
ZTItYTk2My0wMDE4OGJlNGRlMjksDQo+ID4gPiBzdG9yYWdlRG9tYWluSWQ9YzEzMjYwYzQtZDFh
YS00NTVjLTkwMzEtMDcxMWE3YTRjYzhkLA0KPiA+ID4gZGV2aWNlTGlzdD1bMTQ5NDU1NDAwMDAw
MDAwMDA3ODc5N2EwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMF0sDQo+ID4gPiBmb3JjZT1mYWxz
ZSksIGxvZyBpZDogNGYxNjUxZjENCj4gPiA+IDIwMTMtMDItMjYgMTU6MTA6MzIsNTc4IEVSUk9S
DQo+ID4gPiBbb3JnLm92aXJ0LmVuZ2luZS5jb3JlLnZkc2Jyb2tlci52ZHNicm9rZXIuQnJva2Vy
Q29tbWFuZEJhc2VdDQo+ID4gPiAoYWpwLS0xMjcuMC4wLjEtODcwMi00KSBbNjZmYTk3OGNdIEZh
aWxlZCBpbiBDcmVhdGVWR1ZEUyBtZXRob2QNCj4gPiA+IDIwMTMtMDItMjYgMTU6MTA6MzIsNTc5
IEVSUk9SDQo+ID4gPiBbb3JnLm92aXJ0LmVuZ2luZS5jb3JlLnZkc2Jyb2tlci52ZHNicm9rZXIu
QnJva2VyQ29tbWFuZEJhc2VdDQo+ID4gPiAoYWpwLS0xMjcuMC4wLjEtODcwMi00KSBbNjZmYTk3
OGNdIEVycm9yIGNvZGUgdW5leHBlY3RlZCBhbmQNCj4gPiA+IGVycm9yDQo+ID4gPiBtZXNzYWdl
IFZEU0dlbmVyaWNFeGNlcHRpb246IFZEU0Vycm9yRXhjZXB0aW9uOiBGYWlsZWQgdG8NCj4gPiA+
IENyZWF0ZVZHVkRTLCBlcnJvciA9IFVuZXhwZWN0ZWQgZXhjZXB0aW9uDQo+ID4gPiAyMDEzLTAy
LTI2IDE1OjEwOjMyLDU4MSBJTkZPDQo+ID4gPiBbb3JnLm92aXJ0LmVuZ2luZS5jb3JlLnZkc2Jy
b2tlci52ZHNicm9rZXIuQnJva2VyQ29tbWFuZEJhc2VdDQo+ID4gPiAoYWpwLS0xMjcuMC4wLjEt
ODcwMi00KSBbNjZmYTk3OGNdIENvbW1hbmQNCj4gPiA+IG9yZy5vdmlydC5lbmdpbmUuY29yZS52
ZHNicm9rZXIudmRzYnJva2VyLkNyZWF0ZVZHVkRTQ29tbWFuZA0KPiA+ID4gcmV0dXJuDQo+ID4g
PiB2YWx1ZQ0KPiA+ID4gQ2xhc3MgTmFtZToNCj4gPiA+IG9yZy5vdmlydC5lbmdpbmUuY29yZS52
ZHNicm9rZXIuaXJzYnJva2VyLk9uZVV1aWRSZXR1cm5Gb3JYbWxScGMNCj4gPiA+IG1VdWlkIE51
bGwNCj4gPiA+IG1TdGF0dXMgQ2xhc3MgTmFtZToNCj4gPiA+IG9yZy5vdmlydC5lbmdpbmUuY29y
ZS52ZHNicm9rZXIudmRzYnJva2VyLlN0YXR1c0ZvclhtbFJwYw0KPiA+ID4gbUNvZGUgMTYNCj4g
PiA+IG1NZXNzYWdlIFVuZXhwZWN0ZWQgZXhjZXB0aW9uDQo+ID4gPiANCj4gPiA+IDIwMTMtMDIt
MjYgMTU6MTA6MzIsNTg1IElORk8NCj4gPiA+IFtvcmcub3ZpcnQuZW5naW5lLmNvcmUudmRzYnJv
a2VyLnZkc2Jyb2tlci5Ccm9rZXJDb21tYW5kQmFzZV0NCj4gPiA+IChhanAtLTEyNy4wLjAuMS04
NzAyLTQpIFs2NmZhOTc4Y10gSG9zdE5hbWUgPSAyMjUNCj4gPiA+IDIwMTMtMDItMjYgMTU6MTA6
MzIsNTg2IEVSUk9SDQo+ID4gPiBbb3JnLm92aXJ0LmVuZ2luZS5jb3JlLnZkc2Jyb2tlci5WRFND
b21tYW5kQmFzZV0NCj4gPiA+IChhanAtLTEyNy4wLjAuMS04NzAyLTQpIFs2NmZhOTc4Y10gQ29t
bWFuZCBDcmVhdGVWR1ZEUyBleGVjdXRpb24NCj4gPiA+IGZhaWxlZC4gRXhjZXB0aW9uOiBWRFNF
cnJvckV4Y2VwdGlvbjogVkRTR2VuZXJpY0V4Y2VwdGlvbjoNCj4gPiA+IFZEU0Vycm9yRXhjZXB0
aW9uOiBGYWlsZWQgdG8gQ3JlYXRlVkdWRFMsIGVycm9yID0gVW5leHBlY3RlZA0KPiA+ID4gZXhj
ZXB0aW9uDQo+ID4gPiAyMDEzLTAyLTI2IDE1OjEwOjMyLDU4OCBJTkZPDQo+ID4gPiBbb3JnLm92
aXJ0LmVuZ2luZS5jb3JlLnZkc2Jyb2tlci52ZHNicm9rZXIuQ3JlYXRlVkdWRFNDb21tYW5kXQ0K
PiA+ID4gKGFqcC0tMTI3LjAuMC4xLTg3MDItNCkgWzY2ZmE5NzhjXSBGSU5JU0gsIENyZWF0ZVZH
VkRTQ29tbWFuZCwNCj4gPiA+IGxvZw0KPiA+ID4gaWQ6IDRmMTY1MWYxDQo+ID4gPiAyMDEzLTAy
LTI2IDE1OjEwOjMyLDU4OSBFUlJPUg0KPiA+ID4gW29yZy5vdmlydC5lbmdpbmUuY29yZS5ibGwu
c3RvcmFnZS5BZGRTQU5TdG9yYWdlRG9tYWluQ29tbWFuZF0NCj4gPiA+IChhanAtLTEyNy4wLjAu
MS04NzAyLTQpIFs2NmZhOTc4Y10gQ29tbWFuZA0KPiA+ID4gb3JnLm92aXJ0LmVuZ2luZS5jb3Jl
LmJsbC5zdG9yYWdlLkFkZFNBTlN0b3JhZ2VEb21haW5Db21tYW5kDQo+ID4gPiB0aHJvdw0KPiA+
ID4gVmRjIEJsbCBleGNlcHRpb24uIFdpdGggZXJyb3IgbWVzc2FnZSBWZGNCTExFeGNlcHRpb246
DQo+ID4gPiBvcmcub3ZpcnQuZW5naW5lLmNvcmUudmRzYnJva2VyLnZkc2Jyb2tlci5WRFNFcnJv
ckV4Y2VwdGlvbjoNCj4gPiA+IFZEU0dlbmVyaWNFeGNlcHRpb246IFZEU0Vycm9yRXhjZXB0aW9u
OiBGYWlsZWQgdG8gQ3JlYXRlVkdWRFMsDQo+ID4gPiBlcnJvcg0KPiA+ID4gPSBVbmV4cGVjdGVk
IGV4Y2VwdGlvbg0KPiA+ID4gMjAxMy0wMi0yNiAxNToxMDozMiw2MDAgSU5GTw0KPiA+ID4gW29y
Zy5vdmlydC5lbmdpbmUuY29yZS5ibGwuc3RvcmFnZS5BZGRTQU5TdG9yYWdlRG9tYWluQ29tbWFu
ZF0NCj4gPiA+IChhanAtLTEyNy4wLjAuMS04NzAyLTQpIFs2NmZhOTc4Y10gQ29tbWFuZA0KPiA+
ID4gW2lkPTYyNTY3YzA3LWU3MzYtNDkwOS1hNTAxLWVlODY2M2Q3MWVhY106IENvbXBlbnNhdGlu
Zw0KPiA+ID4gTkVXX0VOVElUWV9JRCBvZg0KPiA+ID4gb3JnLm92aXJ0LmVuZ2luZS5jb3JlLmNv
bW1vbi5idXNpbmVzc2VudGl0aWVzLnN0b3JhZ2VfZG9tYWluX2R5bmFtaWM7DQo+ID4gPiBzbmFw
c2hvdDogYzEzMjYwYzQtZDFhYS00NTVjLTkwMzEtMDcxMWE3YTRjYzhkLg0KPiA+ID4gMjAxMy0w
Mi0yNiAxNToxMDozMiw2MDcgSU5GTw0KPiA+ID4gW29yZy5vdmlydC5lbmdpbmUuY29yZS5ibGwu
c3RvcmFnZS5BZGRTQU5TdG9yYWdlRG9tYWluQ29tbWFuZF0NCj4gPiA+IChhanAtLTEyNy4wLjAu
MS04NzAyLTQpIFs2NmZhOTc4Y10gQ29tbWFuZA0KPiA+ID4gW2lkPTYyNTY3YzA3LWU3MzYtNDkw
OS1hNTAxLWVlODY2M2Q3MWVhY106IENvbXBlbnNhdGluZw0KPiA+ID4gTkVXX0VOVElUWV9JRCBv
Zg0KPiA+ID4gb3JnLm92aXJ0LmVuZ2luZS5jb3JlLmNvbW1vbi5idXNpbmVzc2VudGl0aWVzLnN0
b3JhZ2VfZG9tYWluX3N0YXRpYzsNCj4gPiA+IHNuYXBzaG90OiBjMTMyNjBjNC1kMWFhLTQ1NWMt
OTAzMS0wNzExYTdhNGNjOGQuDQo+ID4gPiAyMDEzLTAyLTI2IDE1OjEwOjMyLDYxNyBFUlJPUg0K
PiA+ID4gW29yZy5vdmlydC5lbmdpbmUuY29yZS5ibGwuc3RvcmFnZS5BZGRTQU5TdG9yYWdlRG9t
YWluQ29tbWFuZF0NCj4gPiA+IChhanAtLTEyNy4wLjAuMS04NzAyLTQpIFs2NmZhOTc4Y10gVHJh
bnNhY3Rpb24gcm9sbGVkLWJhY2sgZm9yDQo+ID4gPiBjb21tYW5kOg0KPiA+ID4gb3JnLm92aXJ0
LmVuZ2luZS5jb3JlLmJsbC5zdG9yYWdlLkFkZFNBTlN0b3JhZ2VEb21haW5Db21tYW5kLg0KPiA+
ID4gdmRzbSBsb2cNCj4gPiA+IA0KPiA+ID4gDQo+ID4gPiANCj4gPiA+IFRocmVhZC0xMjk2OjpE
RUJVRzo6MjAxMy0wMi0yNg0KPiA+ID4gMTU6MTk6MjMsMjAwOjpyZXNvdXJjZU1hbmFnZXI6Ojg0
NDo6UmVzb3VyY2VNYW5hZ2VyLk93bmVyOjooY2FuY2VsQWxsKQ0KPiA+ID4gT3duZXIuY2FuY2Vs
QWxsIHJlcXVlc3RzIHt9DQo+ID4gPiBUaHJlYWQtMTI5Njo6REVCVUc6OjIwMTMtMDItMjYNCj4g
PiA+IDE1OjE5OjIzLDIwMDo6dGFzazo6OTc4OjpUYXNrTWFuYWdlci5UYXNrOjooX2RlY3JlZikN
Cj4gPiA+IFRhc2s9YGQ5NzE2ZWNhLWRhODgtNDcyZC04ZmRkLTE5YjhiZThhMDJhYmA6OnJlZiAw
IGFib3J0aW5nIEZhbHNlDQo+ID4gPiBUaHJlYWQtMTMwMjo6REVCVUc6OjIwMTMtMDItMjYNCj4g
PiA+IDE1OjE5OjMzLDM2Nzo6dGFzazo6NTg4OjpUYXNrTWFuYWdlci5UYXNrOjooX3VwZGF0ZVN0
YXRlKQ0KPiA+ID4gVGFzaz1gMzAzNTJlNjUtNjdiZS00Y2VhLWEwOTQtOTgzMGM1YmRhMjFmYDo6
bW92aW5nIGZyb20gc3RhdGUNCj4gPiA+IGluaXQNCj4gPiA+IC0+IHN0YXRlIHByZXBhcmluZw0K
PiA+ID4gVGhyZWFkLTEzMDI6OklORk86OjIwMTMtMDItMjYNCj4gPiA+IDE1OjE5OjMzLDM2Nzo6
bG9nVXRpbHM6OjM3OjpkaXNwYXRjaGVyOjood3JhcHBlcikgUnVuIGFuZA0KPiA+ID4gcHJvdGVj
dDoNCj4gPiA+IHJlcG9TdGF0cyhvcHRpb25zPU5vbmUpDQo+ID4gPiBUaHJlYWQtMTMwMjo6SU5G
Tzo6MjAxMy0wMi0yNg0KPiA+ID4gMTU6MTk6MzMsMzY4Ojpsb2dVdGlsczo6Mzk6OmRpc3BhdGNo
ZXI6Oih3cmFwcGVyKSBSdW4gYW5kDQo+ID4gPiBwcm90ZWN0Og0KPiA+ID4gcmVwb1N0YXRzLCBS
ZXR1cm4gcmVzcG9uc2U6IHt9DQo+ID4gPiBUaHJlYWQtMTMwMjo6REVCVUc6OjIwMTMtMDItMjYN
Cj4gPiA+IDE1OjE5OjMzLDM2ODo6dGFzazo6MTE3Mjo6VGFza01hbmFnZXIuVGFzazo6KHByZXBh
cmUpDQo+ID4gPiBUYXNrPWAzMDM1MmU2NS02N2JlLTRjZWEtYTA5NC05ODMwYzViZGEyMWZgOjpm
aW5pc2hlZDoge30NCj4gPiA+IFRocmVhZC0xMzAyOjpERUJVRzo6MjAxMy0wMi0yNg0KPiA+ID4g
MTU6MTk6MzMsMzY4Ojp0YXNrOjo1ODg6OlRhc2tNYW5hZ2VyLlRhc2s6OihfdXBkYXRlU3RhdGUp
DQo+ID4gPiBUYXNrPWAzMDM1MmU2NS02N2JlLTRjZWEtYTA5NC05ODMwYzViZGEyMWZgOjptb3Zp
bmcgZnJvbSBzdGF0ZQ0KPiA+ID4gcHJlcGFyaW5nIC0+IHN0YXRlIGZpbmlzaGVkDQo+ID4gPiBU
aHJlYWQtMTMwMjo6REVCVUc6OjIwMTMtMDItMjYNCj4gPiA+IDE1OjE5OjMzLDM2ODo6cmVzb3Vy
Y2VNYW5hZ2VyOjo4MDk6OlJlc291cmNlTWFuYWdlci5Pd25lcjo6KHJlbGVhc2VBbGwpDQo+ID4g
PiBPd25lci5yZWxlYXNlQWxsIHJlcXVlc3RzIHt9IHJlc291cmNlcyB7fQ0KPiA+ID4gVGhyZWFk
LTEzMDI6OkRFQlVHOjoyMDEzLTAyLTI2DQo+ID4gPiAxNToxOTozMywzNjg6OnJlc291cmNlTWFu
YWdlcjo6ODQ0OjpSZXNvdXJjZU1hbmFnZXIuT3duZXI6OihjYW5jZWxBbGwpDQo+ID4gPiBPd25l
ci5jYW5jZWxBbGwgcmVxdWVzdHMge30NCj4gPiA+IFRocmVhZC0xMzAyOjpERUJVRzo6MjAxMy0w
Mi0yNg0KPiA+ID4gMTU6MTk6MzMsMzY4Ojp0YXNrOjo5Nzg6OlRhc2tNYW5hZ2VyLlRhc2s6Oihf
ZGVjcmVmKQ0KPiA+ID4gVGFzaz1gMzAzNTJlNjUtNjdiZS00Y2VhLWEwOTQtOTgzMGM1YmRhMjFm
YDo6cmVmIDAgYWJvcnRpbmcgRmFsc2UNCj4gPiA+IF9fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fDQo+ID4gPiBVc2VycyBtYWlsaW5nIGxpc3QNCj4gPiA+IFVz
ZXJzQG92aXJ0Lm9yZw0KPiA+ID4gaHR0cDovL2xpc3RzLm92aXJ0Lm9yZy9tYWlsbWFuL2xpc3Rp
bmZvL3VzZXJzDQo+ID4gPg==
------=_001_NextPart631437114282_=----
Content-Type: text/html;
charset="utf-8"
Content-Transfer-Encoding: quoted-printable
=EF=BB=BF<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
<HTML><HEAD
<META
content=3D"text/html; charset=3Dutf-8" http-equiv=3DContent-Type
<STYLE
BLOCKQUOTE {
MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; MARGIN-LEFT: 2em
}
OL {
MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px
}
UL {
MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px
}
P {
MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px
}
BODY {
LINE-HEIGHT: 1.5; FONT-FAMILY: =E5=BE=AE=E8=BD=AF=E9=9B=85=E9=BB=91; COLO=
R: #000080; FONT-SIZE: 10.5pt
}
</STYLE
<META name=3DGENERATOR content=3D"MSHTML 8.00.7601.17744"></HEAD
<BODY style=3D"MARGIN: 10px"
<DIV>hi</DIV
<DIV>Thank you very much for your help
</DIV=
<DIV> This problem I have solved
</DIV
<DIV> </DIV
<HR style=3D"WIDTH: 210px; HEIGHT: 1px"
align=3Dleft color=3D#b5c4df SIZE=
=3D1
<DIV><SPAN>xianghuadu</SPAN></DIV
<DIV> </DIV
<DIV=20
style=3D"BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOT=
TOM: 0cm; PADDING-LEFT: 0cm; PADDING-RIGHT: 0cm; BORDER-TOP: #b5c4df 1pt s=
olid; BORDER-RIGHT: medium none; PADDING-TOP: 3pt"
<DIV=20
style=3D"PADDING-BOTTOM: 8px; PADDING-LEFT: 8px; PADDING-RIGHT: 8px; BACKG=
ROUND: #efefef; COLOR: #000000; FONT-SIZE: 12px; PADDING-TOP: 8px"
<DIV><B>From:</B> <A
href=3D"mailto:laravot@redhat.com">Liron=20
Aravot</A></DIV
<DIV><B>Date:</B> 2013-02-27 21:58</DIV
<DIV><B>To:</B> <A
href=3D"mailto:xianghuadu@gmail.com">xianghuadu</A=
></DIV
<DIV><B>CC:</B> <A
href=3D"mailto:users@ovirt.org">users</A></DIV
<DIV><B>Subject:</B> Re: [Users]
ovirt Connection Storage=20
error</DIV></DIV></DIV
<DIV
<DIV>Hi,</DIV
<DIV>can you please tell me what's the =
DC version?</DIV
<DIV>can you also please run the following&n=
bsp;query and reply with the results?</DIV
<DIV> </DIV
<DIV>select * from vdc_options where option_name&=
nbsp;like '%SupportForceCreateVG%';</DIV
<DIV> </DIV
<DIV>----- Original Message -----</DIV
<DIV>> From: "xianghuadu" <xianghuadu@gmail.com></=
DIV
<DIV>> To: "Liron Aravot" <laravot@redhat.com>=
;</DIV
<DIV>> Cc: "users" <users@ovirt.org></DIV
<DIV>> Sent: Wednesday, February 27, 2013 =
;10:30:09 AM</DIV
<DIV>> Subject: Re: Re: [Users] ovirt Con=
nection Storage error</DIV
<DIV>> </DIV
<DIV>> =EF=BB=BF</DIV
<DIV>> hi liron aravot</DIV
<DIV>> Thank you for your help</DIV
<DIV>> </DIV
<DIV>> </DIV
<DIV>> </DIV
<DIV>&gt;&nbsp;[root(a)kvm1&nbsp;libvirt]#&nbsp;cat&nbsp;libvirtd.conf</DIV
<DIV>> # Master libvirt daemon configuration&n=
bsp;file</DIV
<DIV>> #</DIV
<DIV>> # For further information consult =
http://libvirt.org/format.html</DIV
<DIV>> #</DIV
<DIV>> # NOTE: the tests/daemon-conf regressio=
n test script requires</DIV
<DIV>> # that each "PARAMETER =3D VALUE"&=
nbsp;line in this file have the parameter</D=
IV
<DIV>> # name just after a leading "=
#".</DIV
<DIV>> </DIV
<DIV>> ###########################################################=
######</DIV
<DIV>> #</DIV
<DIV>> # Network connectivity controls</DIV
<DIV>> #</DIV
<DIV>> </DIV
<DIV>> # Flag listening for secure TLS&nb=
sp;connections on the public TCP/IP</DIV
<DIV>> port.</DIV
<DIV>> # NB, must pass the --listen =
flag to the libvirtd process for this t=
o</DIV
<DIV>> # have any effect.</DIV
<DIV>> #</DIV
<DIV>> # It is necessary to setup a&=
nbsp;CA and issue server certificates before</DIV=
<DIV>> # using this capability.</DIV
<DIV>> #</DIV
<DIV>> # This is enabled by default, =
;uncomment this to disable it</DIV
<DIV>> #listen_tls =3D 0</DIV
<DIV>> </DIV
<DIV>> # Listen for unencrypted TCP conne=
ctions on the public TCP/IP port.</DIV
<DIV>> # NB, must pass the --listen =
flag to the libvirtd process for this t=
o</DIV
<DIV>> # have any effect.</DIV
<DIV>> #</DIV
<DIV>> # Using the TCP socket requires&nb=
sp;SASL authentication by default. Only</DIV
<DIV>> # SASL mechanisms which support da=
ta encryption are allowed. This is</DIV
<DIV>> # DIGEST_MD5 and GSSAPI (Kerberos5)</DI=
V
<DIV>> #</DIV
<DIV>> # This is disabled by default,&nbs=
p;uncomment this to enable it.</DIV
<DIV>> #listen_tcp =3D 1</DIV
<DIV>> </DIV
<DIV>> </DIV
<DIV>> </DIV
<DIV>> # Override the port for accepting&=
nbsp;secure TLS connections</DIV
<DIV>> # This can be a port number,&=
nbsp;or service name</DIV
<DIV>> #</DIV
<DIV>> #tls_port =3D "16514"</DIV
<DIV>> </DIV
<DIV>> # Override the port for accepting&=
nbsp;insecure TCP connections</DIV
<DIV>> # This can be a port number,&=
nbsp;or service name</DIV
<DIV>> #</DIV
<DIV>> #tcp_port =3D "16509"</DIV
<DIV>> </DIV
<DIV>> </DIV
<DIV>> # Override the default configuration&nb=
sp;which binds to all network</DIV
<DIV>> # interfaces. This can be a n=
umeric IPv4/6 address, or hostname</DIV
<DIV>> #</DIV
<DIV>> #listen_addr =3D "192.168.0.1"</DIV
<DIV>> </DIV
<DIV>> </DIV
<DIV>> # Flag toggling mDNS advertizement =
;of the libvirt service.</DIV
<DIV>> #</DIV
<DIV>> # Alternatively can disable for al=
l services on a host by</DIV
<DIV>> # stopping the Avahi daemon</DIV
<DIV>> #</DIV
<DIV>> # This is enabled by default, =
;uncomment this to disable it</DIV
<DIV>> #mdns_adv =3D 0</DIV
<DIV>> </DIV
<DIV>> # Override the default mDNS advert=
izement name. This must be</DIV
<DIV>> # unique on the immediate broadcas=
t network.</DIV
<DIV>> #</DIV
<DIV>> # The default is "Virtualization H=
ost HOSTNAME", where HOSTNAME</DIV
<DIV>> # is subsituted for the short =
;hostname of the machine (without</DIV
<DIV>> domain)</DIV
<DIV>> #</DIV
<DIV>> #mdns_name =3D "Virtualization Host Joe=
Demo"</DIV
<DIV>> </DIV
<DIV>> </DIV
<DIV>> ###########################################################=
######</DIV
<DIV>> #</DIV
<DIV>> # UNIX socket access controls</DIV
<DIV>> #</DIV
<DIV>> </DIV
<DIV>> # Set the UNIX domain socket =
group ownership. This can be used to</DIV
<DIV>> # allow a 'trusted' set of us=
ers access to management capabilities</DIV
<DIV>> # without becoming root.</DIV
<DIV>> #</DIV
<DIV>> # This is restricted to 'root'&nbs=
p;by default.</DIV
<DIV>> #unix_sock_group =3D "libvirt"</DIV
<DIV>> </DIV
<DIV>> # Set the UNIX socket permissions&=
nbsp;for the R/O socket. This is used</DIV
<DIV>> # for monitoring VM status only</D=
IV
<DIV>> #</DIV
<DIV>> # Default allows any user. If =
;setting group ownership may want to</DIV
<DIV>> # restrict this to:</DIV
<DIV>> #unix_sock_ro_perms =3D "0777"</DIV
<DIV>> </DIV
<DIV>> # Set the UNIX socket permissions&=
nbsp;for the R/W socket. This is used</DIV
<DIV>> # for full management of VMs</DIV
<DIV>> #</DIV
<DIV>> # Default allows only root. If&nbs=
p;PolicyKit is enabled on the socket,</DIV
<DIV>> # the default will change to =
allow everyone (eg, 0777)</DIV
<DIV>> #</DIV
<DIV>> # If not using PolicyKit and =
setting group ownership for access</DIV
<DIV>> # control then you may want t=
o relax this to:</DIV
<DIV>> #unix_sock_rw_perms =3D "0770"</DIV
<DIV>> </DIV
<DIV>> # Set the name of the directo=
ry in which sockets will be</DIV
<DIV>> found/created.</DIV
<DIV>> #unix_sock_dir =3D "/var/run/libvirt"</DIV
<DIV>> </DIV
<DIV>> ###########################################################=
######</DIV
<DIV>> #</DIV
<DIV>> # Authentication.</DIV
<DIV>> #</DIV
<DIV>> # - none: do not perform auth=
checks. If you can connect to the</DIV=
<DIV>> # socket you are allowed. This&nbs=
p;is suitable if there are</DIV
<DIV>> # restrictions on connecting to th=
e socket (eg, UNIX</DIV
<DIV>> # socket permissions), or if there=
is a lower layer in</DIV
<DIV>> # the network providing auth (eg,&=
nbsp;TLS/x509 certificates)</DIV
<DIV>> #</DIV
<DIV>> # - sasl: use SASL infrastructure.=
The actual auth scheme is then</DIV
<DIV>> # controlled from /etc/sasl2/libvirt.conf.&n=
bsp;For the TCP</DIV
<DIV>> # socket only GSSAPI & DIGEST-=
MD5 mechanisms will be used.</DIV
<DIV>> # For non-TCP or TLS sockets, =
;any scheme is allowed.</DIV
<DIV>> #</DIV
<DIV>> # - polkit: use PolicyKit to =
authenticate. This is only suitable</DIV
<DIV>> # for use on the UNIX sockets=
. The default policy will</DIV
<DIV>> # require a user to supply th=
eir own password to gain</DIV
<DIV>> # full read/write access (aka sudo=
like), while anyone</DIV
<DIV>> # is allowed read/only access.</DIV
<DIV>> #</DIV
<DIV>> # Set an authentication scheme for=
UNIX read-only sockets</DIV
<DIV>> # By default socket permissions al=
low anyone to connect</DIV
<DIV>> #</DIV
<DIV>> # To restrict monitoring of domain=
s you may wish to enable</DIV
<DIV>> # an authentication mechanism here</DIV=
<DIV>> #auth_unix_ro =3D "none"</DIV
<DIV>> </DIV
<DIV>> # Set an authentication scheme for=
UNIX read-write sockets</DIV
<DIV>> # By default socket permissions on=
ly allow root. If PolicyKit</DIV
<DIV>> # support was compiled into libvir=
t, the default will be to</DIV
<DIV>> # use 'polkit' auth.</DIV
<DIV>> #</DIV
<DIV>> # If the unix_sock_rw_perms are ch=
anged you may wish to enable</DIV
<DIV>> # an authentication mechanism here</DIV=
<DIV>> #auth_unix_rw =3D "none"</DIV
<DIV>> </DIV
<DIV>> # Change the authentication scheme =
;for TCP sockets.</DIV
<DIV>> #</DIV
<DIV>> # If you don't enable SASL, t=
hen all TCP traffic is cleartext.</DIV
<DIV>> # Don't do this outside of a&=
nbsp;dev/test scenario. For real world</DIV
<DIV>> # use, always enable SASL and =
;use the GSSAPI or DIGEST-MD5</DIV
<DIV>> # mechanism in /etc/sasl2/libvirt.conf</DIV
<DIV>> #auth_tcp =3D "sasl"</DIV
<DIV>> </DIV
<DIV>> # Change the authentication scheme =
;for TLS sockets.</DIV
<DIV>> #</DIV
<DIV>> # TLS sockets already have encrypt=
ion provided by the TLS</DIV
<DIV>> # layer, and limited authentication&nbs=
p;is done by certificates</DIV
<DIV>> #</DIV
<DIV>> # It is possible to make use&=
nbsp;of any SASL authentication</DIV
<DIV>> # mechanism as well, by using =
;'sasl' for this option</DIV
<DIV>> #auth_tls =3D "none"</DIV
<DIV>> </DIV
<DIV>> </DIV
<DIV>> </DIV
<DIV>> ###########################################################=
######</DIV
<DIV>> #</DIV
<DIV>> # TLS x509 certificate configuration</D=
IV
<DIV>> #</DIV
<DIV>> </DIV
<DIV>> </DIV
<DIV>> # Override the default server key&=
nbsp;file path</DIV
<DIV>> #</DIV
<DIV>> #key_file =3D "/etc/pki/libvirt/private/serverkey=
.pem"</DIV
<DIV>> </DIV
<DIV>> # Override the default server cert=
ificate file path</DIV
<DIV>> #</DIV
<DIV>> #cert_file =3D "/etc/pki/libvirt/servercert.pem"<=
/DIV
<DIV>> </DIV
<DIV>> # Override the default CA certific=
ate path</DIV
<DIV>> #</DIV
<DIV>> #ca_file =3D "/etc/pki/CA/cacert.pem"</DIV
<DIV>> </DIV
<DIV>> # Specify a certificate revocation =
;list.</DIV
<DIV>> #</DIV
<DIV>> # Defaults to not using a CRL=
, uncomment to enable it</DIV
<DIV>> #crl_file =3D "/etc/pki/CA/crl.pem"</DIV
<DIV>> </DIV
<DIV>> </DIV
<DIV>> </DIV
<DIV>> ###########################################################=
######</DIV
<DIV>> #</DIV
<DIV>> # Authorization controls</DIV
<DIV>> #</DIV
<DIV>> </DIV
<DIV>> </DIV
<DIV>> # Flag to disable verification of&=
nbsp;our own server certificates</DIV
<DIV>> #</DIV
<DIV>> # When libvirtd starts it performs=
some sanity checks against</DIV
<DIV>> # its own certificates.</DIV
<DIV>> #</DIV
<DIV>> # Default is to always run sa=
nity checks. Uncommenting this</DIV
<DIV>> # will disable sanity checks which=
is not a good idea</DIV
<DIV>> #tls_no_sanity_certificate =3D 1</DIV
<DIV>> </DIV
<DIV>> # Flag to disable verification of&=
nbsp;client certificates</DIV
<DIV>> #</DIV
<DIV>> # Client certificate verification is&nb=
sp;the primary authentication</DIV
<DIV>> mechanism.</DIV
<DIV>> # Any client which does not p=
resent a certificate signed by the CA</DIV
<DIV>> # will be rejected.</DIV
<DIV>> #</DIV
<DIV>> # Default is to always verify.&nbs=
p;Uncommenting this will disable</DIV
<DIV>> # verification - make sure an =
;IP whitelist is set</DIV
<DIV>> #tls_no_verify_certificate =3D 1</DIV
<DIV>> </DIV
<DIV>> </DIV
<DIV>> # A whitelist of allowed x509 =
;Distinguished Names</DIV
<DIV>> # This list may contain wildcards&=
nbsp;such as</DIV
<DIV>> #</DIV
<DIV>> # "C=3DGB,ST=3DLondon,L=3DLondon,O=3DRed Hat,CN=
=3D*"</DIV
<DIV>> #</DIV
<DIV>> # See the POSIX fnmatch function&n=
bsp;for the format of the wildcards.</DIV
<DIV>> #</DIV
<DIV>> # NB If this is an empty =
;list, no client can connect, so comment&nbs=
p;out</DIV
<DIV>> # entirely rather than using empty=
list to disable these checks</DIV
<DIV>> #</DIV
<DIV>> # By default, no DN's are che=
cked</DIV
<DIV>> #tls_allowed_dn_list =3D ["DN1", "DN2"]</DIV=
<DIV>> </DIV
<DIV>> </DIV
<DIV>> # A whitelist of allowed SASL =
;usernames. The format for usernames</DIV
<DIV>> # depends on the SASL authenticati=
on mechanism. Kerberos usernames</DIV
<DIV>> # look like username@REALM</DIV
<DIV>> #</DIV
<DIV>> # This list may contain wildcards&=
nbsp;such as</DIV
<DIV>> #</DIV
<DIV>&gt;&nbsp;#&nbsp;"*(a)EXAMPLE.COM"</DIV
<DIV>> #</DIV
<DIV>> # See the POSIX fnmatch function&n=
bsp;for the format of the wildcards.</DIV
<DIV>> #</DIV
<DIV>> # NB If this is an empty =
;list, no client can connect, so comment&nbs=
p;out</DIV
<DIV>> # entirely rather than using empty=
list to disable these checks</DIV
<DIV>> #</DIV
<DIV>> # By default, no Username's are&nb=
sp;checked</DIV
<DIV>&gt;&nbsp;#sasl_allowed_username_list&nbsp;=3D&nbsp;["joe(a)EXAMPLE.COM=
",&nbsp;"fred(a)EXAMPLE.COM"</DIV
<DIV>> ]</DIV
<DIV>> </DIV
<DIV>> </DIV
<DIV>> </DIV
<DIV>> ###########################################################=
######</DIV
<DIV>> #</DIV
<DIV>> # Processing controls</DIV
<DIV>> #</DIV
<DIV>> </DIV
<DIV>> # The maximum number of concurrent=
client connections to allow</DIV
<DIV>> # over all sockets combined.</DIV
<DIV>> #max_clients =3D 20</DIV
<DIV>> </DIV
<DIV>> </DIV
<DIV>> # The minimum limit sets the =
number of workers to start up</DIV
<DIV>> # initially. If the number of =
;active clients exceeds this,</DIV
<DIV>> # then more threads are spawned,&n=
bsp;upto max_workers limit.</DIV
<DIV>> # Typically you'd want max_workers =
;to equal maximum number</DIV
<DIV>> # of clients allowed</DIV
<DIV>> #min_workers =3D 5</DIV
<DIV>> #max_workers =3D 20</DIV
<DIV>> </DIV
<DIV>> </DIV
<DIV>> # The number of priority workers.&=
nbsp;If all workers from above</DIV
<DIV>> # pool will stuck, some calls =
;marked as high priority</DIV
<DIV>> # (notably domainDestroy) can be e=
xecuted in this pool.</DIV
<DIV>> #prio_workers =3D 5</DIV
<DIV>> </DIV
<DIV>> # Total global limit on concurrent=
RPC calls. Should be</DIV
<DIV>> # at least as large as max_wo=
rkers. Beyond this, RPC requests</DIV
<DIV>> # will be read into memory an=
d queued. This directly impact</DIV
<DIV>> # memory usage, currently each req=
uest requires 256 KB of</DIV
<DIV>> # memory. So by default upto =
5 MB of memory is used</DIV
<DIV>> #</DIV
<DIV>> # XXX this isn't actually enforced=
yet, only the per-client</DIV
<DIV>> # limit is used so far</DIV
<DIV>> #max_requests =3D 20</DIV
<DIV>> </DIV
<DIV>> # Limit on concurrent requests fro=
m a single client</DIV
<DIV>> # connection. To avoid one client&=
nbsp;monopolizing the server</DIV
<DIV>> # this should be a small frac=
tion of the global max_requests</DIV
<DIV>> # and max_workers parameter</DIV
<DIV>> #max_client_requests =3D 5</DIV
<DIV>> </DIV
<DIV>> ###########################################################=
######</DIV
<DIV>> #</DIV
<DIV>> # Logging controls</DIV
<DIV>> #</DIV
<DIV>> </DIV
<DIV>> # Logging level: 4 errors, 3 =
warnings, 2 information, 1 debug</DIV
<DIV>> # basically 1 will log everything&=
nbsp;possible</DIV
<DIV>> #log_level =3D 3</DIV
<DIV>> </DIV
<DIV>> # Logging filters:</DIV
<DIV>> # A filter allows to select a=
different logging level for a given</DIV
<DIV>> category</DIV
<DIV>> # of logs</DIV
<DIV>> # The format for a filter is:=
</DIV
<DIV>> # x:name</DIV
<DIV>> # where name is a match strin=
g e.g. remote or qemu</DIV
<DIV>> # the x prefix is the minimal=
level where matching messages should be</DI=
V
<DIV>> logged</DIV
<DIV>> # 1: DEBUG</DIV
<DIV>> # 2: INFO</DIV
<DIV>> # 3: WARNING</DIV
<DIV>> # 4: ERROR</DIV
<DIV>> #</DIV
<DIV>> # Multiple filter can be defined&n=
bsp;in a single @filters, they just need</DI=
V
<DIV>> to be</DIV
<DIV>> # separated by spaces.</DIV
<DIV>> #</DIV
<DIV>> # e.g:</DIV
<DIV>> # log_filters=3D"3:remote 4:event"</DIV
<DIV>> # to only get warning or erro=
rs from the remote layer and only error=
s</DIV
<DIV>> from</DIV
<DIV>> # the event layer.</DIV
<DIV>> </DIV
<DIV>> # Logging outputs:</DIV
<DIV>> # An output is one of the&nbs=
p;places to save logging information</DIV
<DIV>> # The format for an output ca=
n be:</DIV
<DIV>> # x:stderr</DIV
<DIV>> # output goes to stderr</DIV
<DIV>> # x:syslog:name</DIV
<DIV>> # use syslog for the output a=
nd use the given name as the ident</DIV=
<DIV>> # x:file:file_path</DIV
<DIV>> # output to a file, with the&=
nbsp;given filepath</DIV
<DIV>> # In all case the x prefix&nb=
sp;is the minimal level, acting as a fi=
lter</DIV
<DIV>> # 1: DEBUG</DIV
<DIV>> # 2: INFO</DIV
<DIV>> # 3: WARNING</DIV
<DIV>> # 4: ERROR</DIV
<DIV>> #</DIV
<DIV>> # Multiple output can be defined,&=
nbsp;they just need to be separated by</DIV
<DIV>> spaces.</DIV
<DIV>> # e.g.:</DIV
<DIV>> # log_outputs=3D"3:syslog:libvirtd"</DIV
<DIV>> # to log all warnings and err=
ors to syslog under the libvirtd ident</DIV
<DIV>> </DIV
<DIV>> # Log debug buffer size: default&n=
bsp;64</DIV
<DIV>> # The daemon keeps an internal&nbs=
p;debug log buffer which will be dumped</DIV=
<DIV>> in case</DIV
<DIV>> # of crash or upon receiving =
a SIGUSR2 signal. This setting allows to</DI=
V
<DIV>> override</DIV
<DIV>> # the default buffer size in =
kilobytes.</DIV
<DIV>> # If value is 0 or less =
the debug log buffer is deactivated</DIV
<DIV>> #log_buffer_size =3D 64</DIV
<DIV>> </DIV
<DIV>> </DIV
<DIV>> ###########################################################=
#######</DIV
<DIV>> #</DIV
<DIV>> # Auditing</DIV
<DIV>> #</DIV
<DIV>> # This setting allows usage of&nbs=
p;the auditing subsystem to be altered:</DIV
<DIV>> #</DIV
<DIV>> # audit_level =3D=3D 0 -> disab=
le all auditing</DIV
<DIV>> # audit_level =3D=3D 1 -> enabl=
e auditing, only if enabled on host</DIV
<DIV>> (default)</DIV
<DIV>> # audit_level =3D=3D 2 -> enabl=
e auditing, and exit if disabled on hos=
t</DIV
<DIV>> #</DIV
<DIV>> #audit_level =3D 2</DIV
<DIV>> #</DIV
<DIV>> # If set to 1, then audit&nbs=
p;messages will also be sent</DIV
<DIV>> # via libvirt logging infrastructure.&n=
bsp;Defaults to 0</DIV
<DIV>> #</DIV
<DIV>> #audit_logging =3D 1</DIV
<DIV>> </DIV
<DIV>> ###########################################################=
########</DIV
<DIV>> # UUID of the host:</DIV
<DIV>> # Provide the UUID of the hos=
t here in case the command</DIV
<DIV>> # 'dmidecode -s system-uuid' does =
not provide a valid uuid. In case</DIV
<DIV>> # 'dmidecode' does not provide a&n=
bsp;valid UUID and none is provided</DIV
<DIV>> here, a</DIV
<DIV>> # temporary UUID will be generated=
.</DIV
<DIV>> # Keep the format of the exam=
ple UUID below. UUID must not have all<=
/DIV
<DIV>> digits</DIV
<DIV>> # be the same.</DIV
<DIV>> </DIV
<DIV>> # NB This default all-zeros UUID&n=
bsp;will not work. Replace</DIV
<DIV>> # it with the output of the&n=
bsp;'uuidgen' command and then</DIV
<DIV>> # uncomment this entry</DIV
<DIV>> #host_uuid =3D "00000000-0000-0000-0000-000000000=
000"</DIV
<DIV>> </DIV
<DIV>> ###########################################################=
########</DIV
<DIV>> # Keepalive protocol:</DIV
<DIV>> # This allows libvirtd to detect&n=
bsp;broken client connections or even</DIV
<DIV>> # dead client. A keepalive message=
is sent to a client after</DIV
<DIV>> # keepalive_interval seconds of inactiv=
ity to check if the client is</DIV
<DIV>> # still responding; keepalive_count is&=
nbsp;a maximum number of keepalive</DIV
<DIV>> # messages that are allowed to&nbs=
p;be sent to the client without getting</DIV=
<DIV>> # any response before the connecti=
on is considered broken. In other</DIV
<DIV>> # words, the connection is automat=
ically closed approximately after</DIV
<DIV>> # keepalive_interval * (keepalive_count =
;+ 1) seconds since the last</DIV
<DIV>> # message received from the client=
. If keepalive_interval is set to</DIV
<DIV>> # -1, libvirtd will never send&nbs=
p;keepalive requests; however clients</DIV
<DIV>> # can still send them and the=
deamon will send responses. When</DIV
<DIV>> # keepalive_count is set to 0,&nbs=
p;connections will be automatically</DIV
<DIV>> # closed after keepalive_interval secon=
ds of inactivity without</DIV
<DIV>> # sending any keepalive messages. =
Disabled by default.</DIV
<DIV>> #</DIV
<DIV>> #keepalive_interval =3D 5</DIV
<DIV>> #keepalive_count =3D 5</DIV
<DIV>> #</DIV
<DIV>> # If set to 1, libvirtd will&=
nbsp;refuse to talk to clients that do =
not</DIV
<DIV>> # support keepalive protocol. Defaults&=
nbsp;to 0.</DIV
<DIV>> #</DIV
<DIV>> #keepalive_required =3D 1</DIV
<DIV>> ## beginning of configuration section&n=
bsp;by vdsm-4.9.6</DIV
<DIV>> listen_addr=3D"0.0.0.0"</DIV
<DIV>> unix_sock_group=3D"kvm"</DIV
<DIV>> unix_sock_rw_perms=3D"0770"</DIV
<DIV>> auth_unix_rw=3D"sasl"</DIV
<DIV>> save_image_format=3D"lzop"</DIV
<DIV>> log_outputs=3D"1:file:/var/log/libvirtd.log"</DIV
<DIV>> log_filters=3D"1:libvirt 3:event 3:json 1:ut=
il 1:qemu"</DIV
<DIV>> ca_file=3D"/etc/pki/vdsm/certs/cacert.pem"</DIV
<DIV>> cert_file=3D"/etc/pki/vdsm/certs/vdsmcert.pem"</DIV
<DIV>> key_file=3D"/etc/pki/vdsm/keys/vdsmkey.pem"</DIV
<DIV>> ## end of configuration section by=
vdsm-4.9.6</DIV
<DIV>> </DIV
<DIV>> </DIV
<DIV>> </DIV
<DIV>> [root@kvm1 libvirt]# tail /var/log/libvirt/l=
ibvirtd.log -n 20</DIV
<DIV>> 2013-02-26 06:33:27.063+0000: 2128: error&nb=
sp;:</DIV
<DIV>> remoteDispatchAuthPolkit:2559 : Policy kit&n=
bsp;denied action</DIV
<DIV>> org.libvirt.unix.manage from pid 4031, =
uid 36: exit status 2</DIV
<DIV>> 2013-02-26 06:33:27.063+0000: 2128: error&nb=
sp;:</DIV
<DIV>> remoteDispatchAuthPolkit:2588 : authentication&nb=
sp;failed: Authorization</DIV
<DIV>> requires authentication but no agent&nb=
sp;is available.</DIV
<DIV>> </DIV
<DIV>> 2013-02-26 06:33:27.098+0000: 2119: error&nb=
sp;: virNetSocketReadWire:999</DIV
<DIV>> : End of file while reading d=
ata: Input/output error</DIV
<DIV>> 2013-02-26 06:33:27.333+0000: 2120: error&nb=
sp;:</DIV
<DIV>> remoteDispatchAuthPolkit:2559 : Policy kit&n=
bsp;denied action</DIV
<DIV>> org.libvirt.unix.manage from pid 4041, =
uid 36: exit status 2</DIV
<DIV>> 2013-02-26 06:33:27.333+0000: 2120: error&nb=
sp;:</DIV
<DIV>> remoteDispatchAuthPolkit:2588 : authentication&nb=
sp;failed: Authorization</DIV
<DIV>> requires authentication but no agent&nb=
sp;is available.</DIV
<DIV>> </DIV
<DIV>> 2013-02-26 06:33:27.368+0000: 2119: error&nb=
sp;: virNetSocketReadWire:999</DIV
<DIV>> : End of file while reading d=
ata: Input/output error</DIV
<DIV>> 2013-02-26 06:33:27.603+0000: 2122: error&nb=
sp;:</DIV
<DIV>> remoteDispatchAuthPolkit:2559 : Policy kit&n=
bsp;denied action</DIV
<DIV>> org.libvirt.unix.manage from pid 4051, =
uid 36: exit status 2</DIV
<DIV>> 2013-02-26 06:33:27.603+0000: 2122: error&nb=
sp;:</DIV
<DIV>> remoteDispatchAuthPolkit:2588 : authentication&nb=
sp;failed: Authorization</DIV
<DIV>> requires authentication but no agent&nb=
sp;is available.</DIV
<DIV>> </DIV
<DIV>> 2013-02-26 06:33:27.636+0000: 2119: error&nb=
sp;: virNetSocketReadWire:999</DIV
<DIV>> : End of file while reading d=
ata: Input/output error</DIV
<DIV>> 2013-02-26 06:33:27.871+0000: 2124: error&nb=
sp;:</DIV
<DIV>> remoteDispatchAuthPolkit:2559 : Policy kit&n=
bsp;denied action</DIV
<DIV>> org.libvirt.unix.manage from pid 4061, =
uid 36: exit status 2</DIV
<DIV>> 2013-02-26 06:33:27.872+0000: 2124: error&nb=
sp;:</DIV
<DIV>> remoteDispatchAuthPolkit:2588 : authentication&nb=
sp;failed: Authorization</DIV
<DIV>> requires authentication but no agent&nb=
sp;is available.</DIV
<DIV>> </DIV
<DIV>> 2013-02-26 06:33:27.904+0000: 2119: error&nb=
sp;: virNetSocketReadWire:999</DIV
<DIV>> : End of file while reading d=
ata: Input/output error</DIV
<DIV>> 2013-02-26 06:33:28.142+0000: 2126: error&nb=
sp;:</DIV
<DIV>> remoteDispatchAuthPolkit:2559 : Policy kit&n=
bsp;denied action</DIV
<DIV>> org.libvirt.unix.manage from pid 4071, =
uid 36: exit status 2</DIV
<DIV>> 2013-02-26 06:33:28.142+0000: 2126: error&nb=
sp;:</DIV
<DIV>> remoteDispatchAuthPolkit:2588 : authentication&nb=
sp;failed: Authorization</DIV
<DIV>> requires authentication but no agent&nb=
sp;is available.</DIV
<DIV>> </DIV
<DIV>> 2013-02-26 06:33:28.176+0000: 2119: error&nb=
sp;: virNetSocketReadWire:999</DIV
<DIV>> : End of file while reading d=
ata: Input/output error</DIV
<DIV>> </DIV
<DIV>> </DIV
<DIV>> xianghuadu</DIV
<DIV>> </DIV
<DIV>> </DIV
<DIV>> </DIV
<DIV>> From: Liron Aravot</DIV
<DIV>> Date: 2013-02-27 16:01</DIV
<DIV>> To: xianghuadu</DIV
<DIV>> CC: users</DIV
<DIV>> Subject: Re: [Users] ovirt Connection&n=
bsp;Storage error</DIV
<DIV>> </DIV
<DIV>> Hi, looking in the vdsm logs =
i see</DIV
<DIV>> libvirtError: authentication failed: Authori=
zation requires</DIV
<DIV>> authentication but no agent is ava=
ilable.</DIV
<DIV>> </DIV
<DIV>> can you please attach your libvirt=
configuration file and the libvirt</DIV
<DIV>> log perhaps?</DIV
<DIV>> </DIV
<DIV>> ----- Original Message -----</DIV
<DIV>> > From: "xianghuadu" <xianghuadu@gmail=
.com></DIV
<DIV>> > To: "Liron Aravot" <laravot@red=
hat.com></DIV
<DIV>> > Cc: "users" <users@ovirt.org></DI=
V
<DIV>> > Sent: Tuesday, February 26, 2=
013 10:21:57 AM</DIV
<DIV>> > Subject: Re: Re: [Users] ovir=
t Connection Storage error</DIV
<DIV>> > </DIV
<DIV>> > =EF=BB=BF</DIV
<DIV>> > hi liron aravot</DIV
<DIV>> > attached is full vdsm log</DI=
V
<DIV>> > thx</DIV
<DIV>> > </DIV
<DIV>> > </DIV
<DIV>> > xianghuadu</DIV
<DIV>> > </DIV
<DIV>> > </DIV
<DIV>> > </DIV
<DIV>> > From: Liron Aravot</DIV
<DIV>> > Date: 2013-02-26 15:50</DIV
<DIV>> > To: xianghuadu</DIV
<DIV>> > CC: users</DIV
<DIV>> > Subject: Re: [Users] ovirt Co=
nnection Storage error</DIV
<DIV>> > </DIV
<DIV>> > Hi,</DIV
<DIV>> > can you please attach the&nbs=
p;full vdsm log?</DIV
<DIV>> > </DIV
<DIV>> > ----- Original Message -----</DIV
<DIV>> > > From: "xianghuadu" <xiangh=
uadu(a)gmail.com&gt;</DIV
<DIV>> > > To: "users" <users@ovirt.o=
rg></DIV
<DIV>> > > Sent: Tuesday, February =
26, 2013 9:27:05 AM</DIV
<DIV>> > > Subject: [Users] ovirt C=
onnection Storage error</DIV
<DIV>> > > </DIV
<DIV>> > > </DIV
<DIV>> > > </DIV
<DIV>> > > Hi all</DIV
<DIV>> > > Add iscsi storage, Error=
while executing action New SAN storage</DIV=
<DIV>> > > Domain: Unexpected exception.=
</DIV
<DIV>> > > engine log</DIV
<DIV>> > > </DIV
<DIV>> > > </DIV
<DIV>> > > </DIV
<DIV>> > > 2013-02-26 15:09:08,211 INFO<=
/DIV
<DIV>> > > [org.ovirt.engine.core.vdsbroker.vdsbro=
ker.BrokerCommandBase]</DIV
<DIV>> > > (ajp--127.0.0.1-8702-1) [4952790e]=
HostName =3D 225</DIV
<DIV>> > > 2013-02-26 15:09:08,212 ERROR=
</DIV
<DIV>> > > [org.ovirt.engine.core.vdsbroker.VDSCom=
mandBase]</DIV
<DIV>> > > (ajp--127.0.0.1-8702-1) [4952790e]=
Command FormatStorageDomainVDS</DIV
<DIV>> > > execution failed. Exception:&=
nbsp;VDSErrorException:</DIV
<DIV>> > > VDSGenericException:</DIV
<DIV>> > > VDSErrorException: Failed to&=
nbsp;FormatStorageDomainVDS, error =3D</DIV
<DIV>> > > Cannot</DIV
<DIV>> > > format attached storage =
domain:</DIV
<DIV>> > > ('378ef2e6-e12d-4eae-8c6c-9bc2b983d4ce'=
,)</DIV
<DIV>> > > 2013-02-26 15:09:08,214 INFO<=
/DIV
<DIV>> > > [org.ovirt.engine.core.vdsbroker.vdsbro=
ker.FormatStorageDomainVDSCommand]</DIV
<DIV>> > > (ajp--127.0.0.1-8702-1) [4952790e]=
FINISH,</DIV
<DIV>> > > FormatStorageDomainVDSCommand, log=
id: 1f498799</DIV
<DIV>> > > 2013-02-26 15:09:08,215 ERROR=
</DIV
<DIV>> > > [org.ovirt.engine.core.bll.storage.Remo=
veStorageDomainCommand]</DIV
<DIV>> > > (ajp--127.0.0.1-8702-1) [4952790e]=
Command</DIV
<DIV>> > > org.ovirt.engine.core.bll.storage.Remov=
eStorageDomainCommand</DIV
<DIV>> > > throw</DIV
<DIV>> > > Vdc Bll exception. With&=
nbsp;error message VdcBLLException:</DIV
<DIV>> > > org.ovirt.engine.core.vdsbroker.vdsbrok=
er.VDSErrorException:</DIV
<DIV>> > > VDSGenericException: VDSErrorExcep=
tion: Failed to</DIV
<DIV>> > > FormatStorageDomainVDS, error =
;=3D Cannot format attached storage</DIV
<DIV>> > > domain: ('378ef2e6-e12d-4eae-8c6c-=
9bc2b983d4ce',)</DIV
<DIV>> > > 2013-02-26 15:09:08,221 INFO<=
/DIV
<DIV>> > > [org.ovirt.engine.core.bll.storage.Remo=
veStorageDomainCommand]</DIV
<DIV>> > > (ajp--127.0.0.1-8702-1) [4952790e]=
Lock freed to object</DIV
<DIV>> > > EngineLock</DIV
<DIV>> > > [exclusiveLocks=3D key: 378ef=
2e6-e12d-4eae-8c6c-9bc2b983d4ce value:</DIV
<DIV>> > > STORAGE</DIV
<DIV>> > > , sharedLocks=3D ]</DIV
<DIV>> > > 2013-02-26 15:09:42,067 WARN<=
/DIV
<DIV>> > > [org.ovirt.engine.core.bll.storage.Upda=
teStoragePoolCommand]</DIV
<DIV>> > > (ajp--127.0.0.1-8702-6) [a8c7727]&=
nbsp;CanDoAction of action</DIV
<DIV>> > > UpdateStoragePool failed.</DIV
<DIV>> > > Reasons:VAR__TYPE__STORAGE__POOL,ACTION=
_TYPE_FAILED_STORAGE_POOL_WITH_DEFAULT_VDS_GROUP_CANNOT_BE_LOCALFS,VAR__AC=
TION__UPDATE</DIV
<DIV>> > > 2013-02-26 15:09:59,224 INFO<=
/DIV
<DIV>> > > [org.ovirt.engine.core.bll.storage.Upda=
teStoragePoolCommand]</DIV
<DIV>> > > (ajp--127.0.0.1-8702-3) [3d8faa5f]=
Running command:</DIV
<DIV>> > > UpdateStoragePoolCommand internal:=
false. Entities affected : ID:</DIV
<DIV>> > > da5870e0-7aae-11e2-9da5-00188be4de29&nb=
sp;Type: StoragePool</DIV
<DIV>> > > 2013-02-26 15:10:00,000 INFO<=
/DIV
<DIV>> > > [org.ovirt.engine.core.bll.AutoRecovery=
Manager]</DIV
<DIV>> > > (QuartzScheduler_Worker-80) Autore=
covering hosts is disabled,</DIV
<DIV>> > > skipping</DIV
<DIV>> > > 2013-02-26 15:10:00,001 INFO<=
/DIV
<DIV>> > > [org.ovirt.engine.core.bll.AutoRecovery=
Manager]</DIV
<DIV>> > > (QuartzScheduler_Worker-80) Autore=
covering storage domains is</DIV
<DIV>> > > disabled, skipping</DIV
<DIV>> > > 2013-02-26 15:10:23,814 INFO<=
/DIV
<DIV>> > > [org.ovirt.engine.core.vdsbroker.vdsbro=
ker.GetDeviceListVDSCommand]</DIV
<DIV>> > > (ajp--127.0.0.1-8702-2) START,&nbs=
p;GetDeviceListVDSCommand(HostName =3D</DIV
<DIV>> > > 225, HostId =3D 342b111a=
-7fdf-11e2-a963-00188be4de29,</DIV
<DIV>> > > storageType=3DISCSI), log id:=
484eccef</DIV
<DIV>> > > 2013-02-26 15:10:24,119 INFO<=
/DIV
<DIV>> > > [org.ovirt.engine.core.vdsbroker.vdsbro=
ker.GetDeviceListVDSCommand]</DIV
<DIV>> > > (ajp--127.0.0.1-8702-2) FINISH,&nb=
sp;GetDeviceListVDSCommand, return:</DIV
<DIV>> > > [org.ovirt.engine.core.common.businesse=
ntities.LUNs@b420cc6], log</DIV
<DIV>> > > id: 484eccef</DIV
<DIV>> > > 2013-02-26 15:10:32,523 INFO<=
/DIV
<DIV>> > > [org.ovirt.engine.core.bll.storage.AddS=
ANStorageDomainCommand]</DIV
<DIV>> > > (ajp--127.0.0.1-8702-4) [66fa978c]=
Running command:</DIV
<DIV>> > > AddSANStorageDomainCommand interna=
l: false. Entities affected :</DIV
<DIV>> > > ID:</DIV
<DIV>> > > aaa00000-0000-0000-0000-123456789aaa&nb=
sp;Type: System</DIV
<DIV>> > > 2013-02-26 15:10:32,539 INFO<=
/DIV
<DIV>> > > [org.ovirt.engine.core.vdsbroker.vdsbro=
ker.CreateVGVDSCommand]</DIV
<DIV>> > > (ajp--127.0.0.1-8702-4) [66fa978c]=
START,</DIV
<DIV>> > > CreateVGVDSCommand(HostName =3D&nb=
sp;225, HostId =3D</DIV
<DIV>> > > 342b111a-7fdf-11e2-a963-00188be4de29,</=
DIV
<DIV>> > > storageDomainId=3Dc13260c4-d1aa-455c-90=
31-0711a7a4cc8d,</DIV
<DIV>> > > deviceList=3D[1494554000000000078797a00=
000000000000000000000000],</DIV
<DIV>> > > force=3Dfalse), log id: =
4f1651f1</DIV
<DIV>> > > 2013-02-26 15:10:32,578 ERROR=
</DIV
<DIV>> > > [org.ovirt.engine.core.vdsbroker.vdsbro=
ker.BrokerCommandBase]</DIV
<DIV>> > > (ajp--127.0.0.1-8702-4) [66fa978c]=
Failed in CreateVGVDS method</DIV
<DIV>> > > 2013-02-26 15:10:32,579 ERROR=
</DIV
<DIV>> > > [org.ovirt.engine.core.vdsbroker.vdsbro=
ker.BrokerCommandBase]</DIV
<DIV>> > > (ajp--127.0.0.1-8702-4) [66fa978c]=
Error code unexpected and</DIV
<DIV>> > > error</DIV
<DIV>> > > message VDSGenericException: =
VDSErrorException: Failed to</DIV
<DIV>> > > CreateVGVDS, error =3D U=
nexpected exception</DIV
<DIV>> > > 2013-02-26 15:10:32,581 INFO<=
/DIV
<DIV>> > > [org.ovirt.engine.core.vdsbroker.vdsbro=
ker.BrokerCommandBase]</DIV
<DIV>> > > (ajp--127.0.0.1-8702-4) [66fa978c]=
Command</DIV
<DIV>> > > org.ovirt.engine.core.vdsbroker.vdsbrok=
er.CreateVGVDSCommand</DIV
<DIV>> > > return</DIV
<DIV>> > > value</DIV
<DIV>> > > Class Name:</DIV
<DIV>> > > org.ovirt.engine.core.vdsbroker.irsbrok=
er.OneUuidReturnForXmlRpc</DIV
<DIV>> > > mUuid Null</DIV
<DIV>> > > mStatus Class Name:</DIV
<DIV>> > > org.ovirt.engine.core.vdsbroker.vdsbrok=
er.StatusForXmlRpc</DIV
<DIV>> > > mCode 16</DIV
<DIV>> > > mMessage Unexpected exception=
</DIV
<DIV>> > > </DIV
<DIV>> > > 2013-02-26 15:10:32,585 INFO<=
/DIV
<DIV>> > > [org.ovirt.engine.core.vdsbroker.vdsbro=
ker.BrokerCommandBase]</DIV
<DIV>> > > (ajp--127.0.0.1-8702-4) [66fa978c]=
HostName =3D 225</DIV
<DIV>> > > 2013-02-26 15:10:32,586 ERROR=
</DIV
<DIV>> > > [org.ovirt.engine.core.vdsbroker.VDSCom=
mandBase]</DIV
<DIV>> > > (ajp--127.0.0.1-8702-4) [66fa978c]=
Command CreateVGVDS execution</DIV
<DIV>> > > failed. Exception: VDSErrorEx=
ception: VDSGenericException:</DIV
<DIV>> > > VDSErrorException: Failed to&=
nbsp;CreateVGVDS, error =3D Unexpected</DIV
<DIV>> > > exception</DIV
<DIV>> > > 2013-02-26 15:10:32,588 INFO<=
/DIV
<DIV>> > > [org.ovirt.engine.core.vdsbroker.vdsbro=
ker.CreateVGVDSCommand]</DIV
<DIV>> > > (ajp--127.0.0.1-8702-4) [66fa978c]=
FINISH, CreateVGVDSCommand,</DIV
<DIV>> > > log</DIV
<DIV>> > > id: 4f1651f1</DIV
<DIV>> > > 2013-02-26 15:10:32,589 ERROR=
</DIV
<DIV>> > > [org.ovirt.engine.core.bll.storage.AddS=
ANStorageDomainCommand]</DIV
<DIV>> > > (ajp--127.0.0.1-8702-4) [66fa978c]=
Command</DIV
<DIV>> > > org.ovirt.engine.core.bll.storage.AddSA=
NStorageDomainCommand</DIV
<DIV>> > > throw</DIV
<DIV>> > > Vdc Bll exception. With&=
nbsp;error message VdcBLLException:</DIV
<DIV>> > > org.ovirt.engine.core.vdsbroker.vdsbrok=
er.VDSErrorException:</DIV
<DIV>> > > VDSGenericException: VDSErrorExcep=
tion: Failed to CreateVGVDS,</DIV
<DIV>> > > error</DIV
<DIV>> > > =3D Unexpected exception</DIV=
<DIV>> > > 2013-02-26 15:10:32,600 INFO<=
/DIV
<DIV>> > > [org.ovirt.engine.core.bll.storage.AddS=
ANStorageDomainCommand]</DIV
<DIV>> > > (ajp--127.0.0.1-8702-4) [66fa978c]=
Command</DIV
<DIV>> > > [id=3D62567c07-e736-4909-a501-ee8663d71=
eac]: Compensating</DIV
<DIV>> > > NEW_ENTITY_ID of</DIV
<DIV>> > > org.ovirt.engine.core.common.businessen=
tities.storage_domain_dynamic;</DIV
<DIV>> > > snapshot: c13260c4-d1aa-455c-9031-=
0711a7a4cc8d.</DIV
<DIV>> > > 2013-02-26 15:10:32,607 INFO<=
/DIV
<DIV>> > > [org.ovirt.engine.core.bll.storage.AddS=
ANStorageDomainCommand]</DIV
<DIV>> > > (ajp--127.0.0.1-8702-4) [66fa978c]=
Command</DIV
<DIV>> > > [id=3D62567c07-e736-4909-a501-ee8663d71=
eac]: Compensating</DIV
<DIV>> > > NEW_ENTITY_ID of</DIV
<DIV>> > > org.ovirt.engine.core.common.businessen=
tities.storage_domain_static;</DIV
<DIV>> > > snapshot: c13260c4-d1aa-455c-9031-=
0711a7a4cc8d.</DIV
<DIV>> > > 2013-02-26 15:10:32,617 ERROR=
</DIV
<DIV>> > > [org.ovirt.engine.core.bll.storage.AddS=
ANStorageDomainCommand]</DIV
<DIV>> > > (ajp--127.0.0.1-8702-4) [66fa978c]=
Transaction rolled-back for</DIV
<DIV>> > > command:</DIV
<DIV>> > > org.ovirt.engine.core.bll.storage.AddSA=
NStorageDomainCommand.</DIV
<DIV>> > > vdsm log</DIV
<DIV>> > > </DIV
<DIV>> > > </DIV
<DIV>> > > </DIV
<DIV>> > > Thread-1296::DEBUG::2013-02-26</DIV
<DIV>> > > 15:19:23,200::resourceManager::844::Res=
ourceManager.Owner::(cancelAll)</DIV
<DIV>> > > Owner.cancelAll requests {}</=
DIV
<DIV>> > > Thread-1296::DEBUG::2013-02-26</DIV
<DIV>> > > 15:19:23,200::task::978::TaskManager.Ta=
sk::(_decref)</DIV
<DIV>> > > Task=3D`d9716eca-da88-472d-8fdd-19b8be8=
a02ab`::ref 0 aborting False</DIV
<DIV>> > > Thread-1302::DEBUG::2013-02-26</DIV
<DIV>> > > 15:19:33,367::task::588::TaskManager.Ta=
sk::(_updateState)</DIV
<DIV>> > > Task=3D`30352e65-67be-4cea-a094-9830c5b=
da21f`::moving from state</DIV
<DIV>> > > init</DIV
<DIV>> > > -> state preparing</DIV
<DIV>> > > Thread-1302::INFO::2013-02-26</DIV
<DIV>> > > 15:19:33,367::logUtils::37::dispatcher:=
:(wrapper) Run and</DIV
<DIV>> > > protect:</DIV
<DIV>> > > repoStats(options=3DNone)</DIV
<DIV>> > > Thread-1302::INFO::2013-02-26</DIV
<DIV>> > > 15:19:33,368::logUtils::39::dispatcher:=
:(wrapper) Run and</DIV
<DIV>> > > protect:</DIV
<DIV>> > > repoStats, Return response:&n=
bsp;{}</DIV
<DIV>> > > Thread-1302::DEBUG::2013-02-26</DIV
<DIV>> > > 15:19:33,368::task::1172::TaskManager.T=
ask::(prepare)</DIV
<DIV>> > > Task=3D`30352e65-67be-4cea-a094-9830c5b=
da21f`::finished: {}</DIV
<DIV>> > > Thread-1302::DEBUG::2013-02-26</DIV
<DIV>> > > 15:19:33,368::task::588::TaskManager.Ta=
sk::(_updateState)</DIV
<DIV>> > > Task=3D`30352e65-67be-4cea-a094-9830c5b=
da21f`::moving from state</DIV
<DIV>> > > preparing -> state fi=
nished</DIV
<DIV>> > > Thread-1302::DEBUG::2013-02-26</DIV
<DIV>> > > 15:19:33,368::resourceManager::809::Res=
ourceManager.Owner::(releaseAll)</DIV
<DIV>> > > Owner.releaseAll requests {}&=
nbsp;resources {}</DIV
<DIV>> > > Thread-1302::DEBUG::2013-02-26</DIV
<DIV>> > > 15:19:33,368::resourceManager::844::Res=
ourceManager.Owner::(cancelAll)</DIV
<DIV>> > > Owner.cancelAll requests {}</=
DIV
<DIV>> > > Thread-1302::DEBUG::2013-02-26</DIV
<DIV>> > > 15:19:33,368::task::978::TaskManager.Ta=
sk::(_decref)</DIV
<DIV>> > > Task=3D`30352e65-67be-4cea-a094-9830c5b=
da21f`::ref 0 aborting False</DIV
<DIV>> > > _______________________________________=
________</DIV
<DIV>> > > Users mailing list</DIV
<DIV>&gt;&nbsp;&gt;&nbsp;&gt;&nbsp;Users(a)ovirt.org</DIV
<
DIV>> > > http://lists...
/users</DIV
<DIV>> > ></DIV></DIV></BODY></HTML
------=_001_NextPart631437114282_=------