Re: Assertion ¡®state() & Thread_vcpu_user' in kernel vgic interrupt processing

Adam Lackorzynski <[email protected]> Mon, 6 Oct 2025 00:00:44 +0200
Newsgroups gmane.comp.micro-kernel.l4.devel
Message-ID <[email protected]>
SGkgU3RlcGhlbiwNCg0KSSBkb3VidCB0aGlzIGlzIGhhcmR3YXJlLCBpdCBzZWxkb21seSBpcy4g
V291bGQgeW91IGJlIGFibGUgdG8gc2hhcmUNCndoaWNoIEFybSBjb3JlIGl0IGlzIGlmIHlvdSBj
YW4/DQpJJ2xsIHRyeSB0byByZXByb2R1Y2UgaGVyZSwgeW91ciBpbmRpY2F0aW9uIG9mIGluY3Jl
YXNpbmcgdGhlIHRpbWVyDQpmcmVxdWVuY3kgaXMgYSBnb29kIGhpbnQuIEFuZCBrbm93aW5nIHdo
aWNoIGNvcmUgb3IgYXQgbGVhc3QgY2F0ZWdvcnkgb2YNCmNvcmUgY2FuIGJlIGhlbHBmdWwuDQoN
Cg0KQlIsIEFkYW0NCg0KT24gVGh1IE9jdCAwMiwgMjAyNSBhdCAxMzowMjo1MCArMDgwMCwgeXkx
ODUxMzY3NjM2NiB3cm90ZToNCj4gSGkgQWRhbSwNCj4gDQo+IA0KPiBJIHRydWx5IGFwcHJlY2lh
dGUgeW91ciByZXBseS4gDQo+IEkgYWN0dWFsbHkgZW5jb3VudGVyZWQgdGhpcyBpc3N1ZSBvbiBy
ZWFsIGhhcmR3YXJlIHJhdGhlciB0aGFuIFFFTVUuIA0KPiBNYXkgSSBhc2sgaWYgdGhpcyBwcm9i
bGVtIGNvdWxkIGJlIHJlbGF0ZWQgdG8gdGhlIGhhcmR3YXJlIGl0c2VsZj8gSeKAmW0gbm90IHF1
aXRlIHN1cmUgSSBmdWxseSB1bmRlcnN0YW5kLg0KPiANCj4gDQo+IEJlc3QgcmVnYXJkcw0KPiBT
dGVwaGVuLnlhbmcNCj4gDQo+IA0KPiANCj4gDQo+IA0KPiANCj4gDQo+IOWcqCAyMDI1LTA5LTMw
IDE1OjUwOjIy77yMIkFkYW0gTGFja29yenluc2tpIiA8YWRhbUBsNHJlLm9yZz4g5YaZ6YGT77ya
DQo+ID5IaSBTdGVwaGVuLA0KPiA+DQo+ID5vaywgdGhhbmtzLCB0aGF0J3MgdHJpY2t5IGluZGVl
ZC4NCj4gPg0KPiA+SW4gY2FzZSB5b3UgYXJlIGRvaW5nIHRoaXMgd2l0aCBRRU1VLCBjb3VsZCB5
b3UgcGxlYXNlIG1ha2Ugc3VyZSB5b3UNCj4gPmhhdmUgdGhlIGZvbGxvd2luZyBjaGFuZ2UgaW4g
eW91ciBRRU1VPzogaHR0cHM6Ly9saXN0cy5nbnUub3JnL2FyY2hpdmUvaHRtbC9xZW11LWRldmVs
LzIwMjQtMDkvbXNnMDIyMDcuaHRtbA0KPiA+DQo+ID5PciBkbyB5b3Ugc2VlIHRoaXMgb24gaGFy
ZHdhcmU/DQo+ID4NCj4gPg0KPiA+VGhhbmtzLA0KPiA+QWRhbQ0KPiA+DQo+ID5PbiBUdWUgU2Vw
IDMwLCAyMDI1IGF0IDExOjE0OjU3ICswODAwLCB5eTE4NTEzNjc2MzY2IHdyb3RlOg0KPiA+PiBI
aSBBZGFtLA0KPiA+PiANCj4gPj4gDQo+ID4+IFRoYW5rIHlvdSB2ZXJ5IG11Y2ggZm9yIHlvdXIg
cmVwbHkg4oCUIGl0IHJlYWxseSBnYXZlIG1lIHNvbWUgaG9wZS4NCj4gPj4gDQo+ID4+IA0KPiA+
PiBUaGlzIGlzc3VlIGlzIGluZGVlZCBkaWZmaWN1bHQgdG8gcmVwcm9kdWNlIHJlbGlhYmx5LCB3
aGljaCBoYXMgYmVlbiBvbmUgb2YgdGhlIG1haW4gY2hhbGxlbmdlcyBkdXJpbmcgbXkgZGVidWdn
aW5nLg0KPiA+PiBTbyBmYXIsIEkgaGF2ZSBmb3VuZCB0aGF0IGluY3JlYXNpbmcgdGhlIHZ0aW1l
ciBpbnRlcnJ1cHQgZnJlcXVlbmN5LCB3aGlsZSBrZWVwaW5nIHRoZSB0cmFkaXRpb25hbCBoYW5k
bGluZyBtb2RlIChpLmUuLCB3aXRob3V0IGRpcmVjdCBpbmplY3Rpb24pLA0KPiA+PiBtYWtlcyB0
aGUgcHJvYmxlbSBzaWduaWZpY2FudGx5IGVhc2llciB0byByZXByb2R1Y2UuIA0KPiA+PiANCj4g
Pj4gDQo+ID4+IFRoZSByZWxldmFudCBjaGFuZ2VzIGFyZSBhcyBmb2xsb3dzLiANCj4gPj4gMeOA
gUluIHRoaXMgc2V0dXAsIHRoZSB2dGltZXIgaXMgYWRqdXN0ZWQgZnJvbSByb3VnaGx5IG9uZSB0
cmlnZ2VyIHBlciBtaWxsaXNlY29uZCB0byBhcHByb3hpbWF0ZWx5IG9uZSB0cmlnZ2VyIHBlciBt
aWNyb3NlY29uZCwgDQo+ID4+IGFuZCB0aGUgc3lzdGVtIHJlbWFpbnMgc3RhYmxlIGFuZCBmdW5j
dGlvbmFsOg0KPiA+PiANCj4gPj4gDQo+ID4+IGRpZmYgLS1naXQgYS9zcmMva2Vybi9hcm0vdGlt
ZXItYXJtLWdlbmVyaWMuY3BwIGIvc3JjL2tlcm4vYXJtL3RpbWVyLWFybS1nZW5lcmljLmNwcA0K
PiA+PiBpbmRleCBhMDQwY2Y0Ni4uYjRjYmJjZWIgMTAwNjQ0DQo+ID4+IC0tLSBhL3NyYy9rZXJu
L2FybS90aW1lci1hcm0tZ2VuZXJpYy5jcHANCj4gPj4gKysrIGIvc3JjL2tlcm4vYXJtL3RpbWVy
LWFybS1nZW5lcmljLmNwcA0KPiA+PiBAQCAtNjQsNyArNjQsOCBAQCB2b2lkIFRpbWVyOjppbml0
KENwdV9udW1iZXIgY3B1KQ0KPiA+PiAgICBpZiAoY3B1ID09IENwdV9udW1iZXI6OmJvb3RfY3B1
KCkpDQo+ID4+ICAgICAgew0KPiA+PiAgICAgICAgX2ZyZXEwID0gZnJlcXVlbmN5KCk7DQo+ID4+
IC0gICAgICBfaW50ZXJ2YWwgPSBVbnNpZ25lZDY0e19mcmVxMH0gKiBDb25maWc6OlNjaGVkdWxl
cl9ncmFudWxhcml0eSAvIDEwMDAwMDA7DQo+ID4+ICsgICAgICAvL19pbnRlcnZhbCA9IFVuc2ln
bmVkNjR7X2ZyZXEwfSAqIENvbmZpZzo6U2NoZWR1bGVyX2dyYW51bGFyaXR5IC8gMTAwMDAwMDsN
Cj4gPj4gKyAgICAgIF9pbnRlcnZhbCA9IFVuc2lnbmVkNjR7X2ZyZXEwfSAqIENvbmZpZzo6U2No
ZWR1bGVyX2dyYW51bGFyaXR5IC8gMTAwMDAwMDAwMDsNCj4gPj4gICAgICAgIHByaW50ZigiQVJN
IGdlbmVyaWMgdGltZXI6IGZyZXE9JWxkIGludGVydmFsPSVsZCBjbnQ9JWxsZFxuIiwNCj4gPj4g
ICAgICAgICAgICAgICBfZnJlcTAsIF9pbnRlcnZhbCwgR3RpbWVyOjpjb3VudGVyKCkpOw0KPiA+
PiAgICAgICAgYXNzZXJ0KF9mcmVxMCk7DQo+ID4+IA0KPiA+PiANCj4gPj4gMuOAgUluIGFkZGl0
aW9uLCBJIHNlbGVjdGVkIHRoZSBtb2RlIHdoZXJlIGludGVycnVwdHMgYXJlIG5vdCBkaXJlY3Rs
eSBpbmplY3RlZDoNCj4gPj4gZGlmZiAtLWdpdCBhL3NyYy9LY29uZmlnIGIvc3JjL0tjb25maWcN
Cj4gPj4gaW5kZXggNDM5MWM5OTYuLjU1ZGVlYjFjIDEwMDY0NA0KPiA+PiAtLS0gYS9zcmMvS2Nv
bmZpZw0KPiA+PiArKysgYi9zcmMvS2NvbmZpZw0KPiA+PiBAQCAtMzY3LDcgKzM2Nyw3IEBAIGNv
bmZpZyBJT01NVQ0KPiA+PiAgY29uZmlnIElSUV9ESVJFQ1RfSU5KRUNUDQo+ID4+ICAgICAgICAg
Ym9vbCAiU3VwcG9ydCBkaXJlY3QgaW50ZXJydXB0IGZvcndhcmRpbmcgdG8gZ3Vlc3RzIg0KPiA+
PiAgICAgICAgIGRlcGVuZHMgb24gQ1BVX1ZJUlQgJiYgSEFTX0lSUV9ESVJFQ1RfSU5KRUNUX09Q
VElPTg0KPiA+PiAtICAgICAgIGRlZmF1bHQgeQ0KPiA+PiArICAgICAgZGVmYXVsdCBuDQo+ID4+
ICAgICAgICAgaGVscA0KPiA+PiAgICAgICAgICAgQWRkcyBzdXBwb3J0IGluIHRoZSBrZXJuZWwg
dG8gYWxsb3cgdGhlIFZNTSB0byBsZXQgRmlhc2NvIGRpcmVjdGx5DQo+ID4+ICAgICAgICAgICBm
b3J3YXJkIGhhcmR3YXJlIGludGVycnVwdHMgdG8gYSBndWVzdC4gVGhpcyBlbmFibGVzIGp1c3Qg
dGhlDQo+ID4+IA0KPiA+PiBBdCB0aGUgbW9tZW50LCB0aGlzIGlzIHRoZSBvbmx5IHdheSBJIGhh
dmUgZm91bmQgdGhhdCBjYW4gbm90aWNlYWJseSBpbmNyZWFzZSB0aGUgcmVwcm9kdWN0aW9uIHJh
dGUuDQo+ID4+IE9uY2UgYWdhaW4sIHRoYW5rIHlvdSBmb3IgeW91ciB2YWx1YWJsZSB0aW1lIGFu
ZCBmZWVkYmFjayENCj4gPj4gDQo+ID4+IEJlc3QgcmVnYXJkcywNCj4gPj4gU3RlcGhlbi55YW5n
DQo+ID4+IA0KPiA+PiANCj4gPj4gDQo+ID4+IA0KPiA+PiBBdCAyMDI1LTA5LTI5IDAwOjExOjQx
LCAiQWRhbSBMYWNrb3J6eW5za2kiIDxhZGFtQGw0cmUub3JnPiB3cm90ZToNCj4gPj4gPkhpLA0K
PiA+PiA+DQo+ID4+ID5PbiBXZWQgU2VwIDE3LCAyMDI1IGF0IDEzOjU3OjQzICswODAwLCB5eTE4
NTEzNjc2MzY2IHdyb3RlOg0KPiA+PiA+PiBXaGVuIHJ1bm5pbmcgYSB2aXJ0dWFsIG1hY2hpbmUs
IEkgZW5jb3VudGVyIGFuIGFzc2VydGlvbiBmYWlsdXJlIGFmdGVyIHRoZSBWTQ0KPiA+PiA+PiBo
YXMgYmVlbiB1cCBmb3Igc29tZSB0aW1lLiBUaGUga2VybmVsIGNyYXNoZXMgaW4gc3JjL2tlcm4v
YXJtLw0KPiA+PiA+PiB0aHJlYWQtYXJtLWh5cC5jcHAsIHNwZWNpZmljYWxseSBpbiB0aGUgZnVu
Y3Rpb24gdmNwdV92Z2ljX3VwY2FsbCh1bnNpZ25lZA0KPiA+PiA+PiB2aXJxKToNCj4gPj4gPj4g
DQo+ID4+ID4+IHZjcHVfdmdpY191cGNhbGwodW5zaWduZWQgdmlycSkNCj4gPj4gPj4gew0KPiA+
PiA+PiAgICAuLi4uLi4NCj4gPj4gPj4gICAgYXNzZXJ0KHN0YXRlKCkgJiBUaHJlYWRfdmNwdV91
c2VyKTsNCj4gPj4gPj4gICAgLi4uLi4uDQo+ID4+ID4+IH0NCj4gPj4gPj4gDQo+ID4+ID4+IEJh
c2VkIG9uIHNvdXJjZSBjb2RlIGluc3BlY3Rpb24gYW5kIHByZWxpbWluYXJ5IGRlYnVnZ2luZywg
dGhlIHByb2JsZW0gc2VlbXMgdG8NCj4gPj4gPj4gYmUgcmVsYXRlZCB0byB0aGUgbWFuYWdlbWVu
dCBvZiB0aGUgVGhyZWFkX3ZjcHVfdXNlciBzdGF0ZS4NCj4gPj4gPj4gDQo+ID4+ID4+ICAgMSAg
VW5kZXIgbm9ybWFsIGNpcmN1bXN0YW5jZXMsIHRoZSB2Y3B1X3Jlc3VtZSBwYXRoICh0cmFuc2l0
aW9uaW5nIGZyb20gdGhlDQo+ID4+ID4+IGtlcm5lbCBiYWNrIHRvIHRoZSBndWVzdCBPUykgdXBk
YXRlcyB0aGUgdkNQVSBzdGF0ZSB0byBpbmNsdWRlDQo+ID4+ID4+IFRocmVhZF92Y3B1X3VzZXIu
IEhvd2V2ZXIsIGlmIGFuIGludGVycnVwdCBpcyBkZWxpdmVyZWQgZHVyaW5nIHRoaXMgdHJhbnNp
dGlvbg0KPiA+PiA+PiB3aGlsZSB0aGUgcmVjZWl2aW5nIHNpZGUgaXMgbm90IHlldCByZWFkeSwg
dGhlIHZDUFUgZnJlcXVlbnRseSByZXR1cm4gdG8gdGhlDQo+ID4+ID4+IGtlcm5lbCAodmlhIHZj
cHVfcmV0dXJuX3RvX2tlcm5lbCkgYW5kIHN1YnNlcXVlbnRseSBwcm9jZXNzIHRoZSBpbnRlcnJ1
cHQNCj4gPj4gPj4gdGhyb3VnaCBndWVzdF9pcnEgaW4gdmNwdV9lbnRyaWVzLiBJbiB0aGlzIHNp
dHVhdGlvbiwgdGhlIGV4cGVjdGVkIHVwZGF0ZSBvZg0KPiA+PiA+PiBUaHJlYWRfdmNwdV91c2Vy
IG1heSBub3QgeWV0IGhhdmUgdGFrZW4gcGxhY2UsIHdoaWNoIHNlZW1zIHJlc3VsdCBpbiB0aGUg
YXNzZXJ0DQo+ID4+ID4+IGJlaW5nIHRyaWdnZXJlZCB3aGVuIGEgVkdJQyBpbnRlcnJ1cHQgaXMg
aW52b2x2ZWQuDQo+ID4+ID4+IA0KPiA+PiA+PiAgIDIgIEEgc2ltaWxhciBjb25kaXRpb24gc2Vl
bXMgdG8gb2NjdXIgaW4gdGhlIHZjcHVfYXN5bmNfaXBjIHBhdGguIEF0IHRoZSBlbmQNCj4gPj4g
Pj4gb2YgSVBDIGhhbmRsaW5nLCB0aGlzIGZ1bmN0aW9uIGV4cGxpY2l0bHkgY2xlYXJzIHRoZSBU
aHJlYWRfdmNwdV91c2VyIGZsYWcuIElmDQo+ID4+ID4+IGEgVkdJQyBpbnRlcnJ1cHQgaXMgZGVs
aXZlcmVkIGR1cmluZyB0aGlzIHBoYXNlLCB0aGUgYWJzZW5jZSBvZiB0aGUgZXhwZWN0ZWQNCj4g
Pj4gPj4gVGhyZWFkX3ZjcHVfdXNlciBzdGF0ZSBzZWVtcyB0byBsZWFkIHRvIHRoZSBzYW1lIGFz
c2VydGlvbiBmYWlsdXJlLg0KPiA+PiA+PiANCj4gPj4gPj4gSSB3b3VsZCBsaWtlIHRvIGNvbmZp
cm0gaWYgdGhlIHR3byBwb2ludHMgYWJvdmUgYXJlIGNvcnJlY3QsIGFuZCB3aGF0IHN0ZXBzIEkN
Cj4gPj4gPj4gc2hvdWxkIHRha2UgbmV4dCB0byBmdXJ0aGVyIGRlYnVnIHRoaXMgaXNzdWUuDQo+
ID4+ID4NCj4gPj4gPlRoYW5rcyBmb3IgcmVwb3JkaW5nLiBBdCBsZWFzdCB0aGUgZGVzY3JpcHRp
b24gc291bmRzIHJlYXNvbmFibGUgdG8gbWUuDQo+ID4+ID4NCj4gPj4gPkRvIHlvdSBoYXZlIGEg
Z29vZCB3YXkgb2YgcmVsaWFibHkgcmVwcm9kdWNpbmcgdGhpcyBzaXR1YXRpb24/DQo+ID4+ID4N
Cj4gPj4gPj4gSW4gYWRkaXRpb24sIEkgaGF2ZSBzb21lIGFzc3VtcHRpb25zIEkgd291bGQgbGlr
ZSB0byBjb25maXJtOg0KPiA+PiA+PiANCj4gPj4gPj4gRmlyc3QsIGZvciBJUEMgYmV0d2VlbiBu
b24tdmNwdSB0aHJlYWRzLCB0aGUgTDQgbWljcm9rZXJuZWwgaGFuZGxlcyBtZXNzYWdlDQo+ID4+
ID4+IGRlbGl2ZXJ5IGFuZCBzY2hlZHVsaW5nICh3YWtlL3NjaGVkdWxlKSBkaXJlY3RseSwgd2l0
aG91dCByZXF1aXJpbmcgYW55DQo+ID4+ID4+IGZvcndhcmRpbmcgdGhyb3VnaCB1dm1tLiBTaW1p
bGFybHksIGludGVycnVwdHMgYm91bmQgdmlhIHRoZSBpbnRlcnJ1cHQNCj4gPj4gPj4gY29udHJv
bGxlciAoSUNVKSB0byBhIG5vbi12Y3B1IHRocmVhZCBvciBoYW5kbGVyIGFyZSBhbHNvIG1hbmFn
ZWQgYnkgdGhlIGtlcm5lbA0KPiA+PiA+PiBhbmQgc2NoZWR1bGVyLCBhbmQgdGhlcmVmb3JlIGRv
IG5vdCBuZWNlc3NhcmlseSBpbnZvbHZlIHV2bW0uDQo+ID4+ID4NCj4gPj4gPklQQ3MgYmV0d2Vl
biB0aHJlYWRzIGFyZSBoYW5kbGVkIGJ5IHRoZSBtaWNyb2tlcm5lbC4gdmNwdS10aHJlYWQgdnMu
DQo+ID4+ID5ub24tdmNwdS10aHJlYWQgaXMganVzdCBtYWtpbmcgdGhlIGRpZmZlcmVuY2UgcmVn
YXJkaW5nIGhvdyBpdCBpcw0KPiA+PiA+ZGVsaXZlcmVkIHRvIHRoZSB0aHJlYWQuIEZvciBhIG5v
bi12Y3B1IHRocmVhZCB0aGUgcmVjZWl2ZXIgaGFzIHRvIHdhaXQNCj4gPj4gPmluIElQQyB0byBn
ZXQgaXQsIGluIHZjcHUgbW9kZSB0aGUgSVBDIGlzIHJlY2VpdmVkIGJ5IGNhdXNpbmcgYSB2Y3B1
DQo+ID4+ID5ldmVudCBhbmQgYnJpbmdpbmcgdGhlIHZjcHUgdG8gaXRzIGVudHJ5LiBUaGlzIGFs
c28gd29ya3Mgd2l0aG91dA0KPiA+PiA+dmlydHVhbGl6YXRpb24gKG5vdGUgdGhhdCB2Y3B1cyBh
bHNvIHdvcmsgd2l0aG91dCBody12aXJ0dWFsaXphdGlvbikuDQo+ID4+ID5Gb3IgaW50ZXJydXB0
cyBpdCBpcyB0aGUgc2FtZS4gRm9yIG5vbi12Y3B1IHRocmVhZHMgdGhleSBoYXZlIHRvIGJsb2Nr
DQo+ID4+ID5pbiBJUEMgdG8gZ2V0IGFuIGludGVycnVwdCwgb3IgZm9yIHZjcHUgdGhyZWFkcywg
dGhleSB3aWxsIGJlIGJyb3VnaHQgdG8NCj4gPj4gPnRoZWlyIGVudHJ5Lg0KPiA+PiA+DQo+ID4+
ID4+IFNlY29uZCwgcGFzc3Rocm91Z2ggaW50ZXJydXB0cywgd2hlbiBub3QgZGVsaXZlcmVkIGlu
IGRpcmVjdC1pbmplY3Rpb24gbW9kZSwNCj4gPj4gPj4gYXJlIHJvdXRlZCB0byB1dm1tIGZvciBo
YW5kbGluZyBpZiB0aGV5IGFyZSBib3VuZCB0byBhIHZDUFUuIExpa2V3aXNlLCBzZXJ2aWNlcw0K
PiA+PiA+PiBwcm92aWRlZCBieSB1dm1tIChzdWNoIGFzIHZpcnEpIGFyZSBhbHNvIGJvdW5kIHRv
IGEgdkNQVSBhbmQgdGhlcmVmb3JlIHJlcXVpcmUNCj4gPj4gPj4gZm9yd2FyZGluZyB0aHJvdWdo
IHV2bW0uDQo+ID4+ID4NCj4gPj4gPlllcy4gRGlyZWN0IGluamVjdGlvbiB3aWxsIG9ubHkgaGFw
cGVuIHdoZW4gdGhlIHZjcHUgaXMgcnVubmluZy4NCj4gPj4gPg0KPiA+PiA+PiBUaGVyZSBzZWVt
cyB0byBoYXZlIGJlZW4gYSBzaW1pbGFyIHF1ZXN0aW9uIGluIHRoZSBwYXN0LCBidXQgaXQgZG9l
cyBub3Qgc2VlbQ0KPiA+PiA+PiB0byBoYXZlIGJlZW4gcmVzb2x2ZWQuDQo+ID4+ID4+IA0KPiA+
PiA+PiBSZTogQXNzZXJ0aW9uIGZhaWx1cmUgZXJyb3IgaW4ga2VybmVsIHZnaWMgaW50ZXJydXB0
IHByb2Nlc3NpbmcgLSBsNC1oYWNrZXJzIC0NCj4gPj4gPj4gT1MgU2l0ZQ0KPiA+PiA+PiANCj4g
Pj4gPj4gSSB3b25kZXIgaWYgbXkgcXVlc3Rpb25zIGFyZSByZWxhdGVkIHRvIHRoYXQgcG9zdCwg
YW5kIGlmIGFueSBzb2x1dGlvbnMgZXhpc3QuDQo+ID4+ID4NCj4gPj4gPlRoYW5rcywgd2UgbmVl
ZCB0byB3b3JrIG9uIGl0LiBSZXByb2R1Y2luZyB0aGlzIHNpdHVhdGlvbiBvbiBvdXIgc2lkZQ0K
PiA+PiA+d291bGQgYmUgdmVyeSB2YWx1YWJsZS4NCj4gPj4gPg0KPiA+PiA+DQo+ID4+ID5UaGFu
a3MsIEFkYW0NCj4gPl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fDQo+ID5sNC1oYWNrZXJzIG1haWxpbmcgbGlzdCAtLSBsNC1oYWNrZXJzQG9zLmluZi50dS1k
cmVzZGVuLmRlDQo+ID5UbyB1bnN1YnNjcmliZSBzZW5kIGFuIGVtYWlsIHRvIGw0LWhhY2tlcnMt
bGVhdmVAb3MuaW5mLnR1LWRyZXNkZW4uZGUNCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fCmw0LWhhY2tlcnMgbWFpbGluZyBsaXN0IC0tIGw0LWhhY2tlcnNA
b3MuaW5mLnR1LWRyZXNkZW4uZGUKVG8gdW5zdWJzY3JpYmUgc2VuZCBhbiBlbWFpbCB0byBsNC1o
YWNrZXJzLWxlYXZlQG9zLmluZi50dS1kcmVzZGVuLmRlCg==