From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: mail.toke.dk; spf=pass smtp.mailfrom=lang.hm; dkim=fail; arc=none (Message is not ARC signed); dmarc=none Received: from mail.lang.hm (wsip-70-167-213-146.ph.ph.cox.net [70.167.213.146]) by mail.toke.dk (Postfix) with ESMTPS id 463B01165691 for ; Mon, 25 May 2026 15:30:30 +0200 (CEST) Received: from [10.2.3.133] (unknown [10.2.3.133]) by mail.lang.hm (Postfix) with ESMTP id 4E8662261D5; Mon, 25 May 2026 06:30:28 -0700 (PDT) Date: Mon, 25 May 2026 06:30:23 -0700 (MST) From: David Lang To: le berger des photons cc: cake@lists.bufferbloat.net In-Reply-To: Message-ID: <2prq86np-841r-40qs-21n1-2881nnr02n1r@ynat.uz> References: <177969642775.1536.5526019656989805631@gauss> MIME-Version: 1.0 Message-ID-Hash: QATIHAIOGTIAFWV6VE4KDD5PKBRTEWQI X-Message-ID-Hash: QATIHAIOGTIAFWV6VE4KDD5PKBRTEWQI X-MailFrom: david@lang.hm X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header Content-Transfer-Encoding: base64 Content-Type: text/plain; charset=UTF-8; format=flowed X-Content-Filtered-By: Mailman/MimeDel 3.3.10 X-Mailman-Version: 3.3.10 Precedence: list Subject: [Cake] Re: Cake Digest, Vol 128, Issue 10 List-Id: Cake - FQ_codel the next generation Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: SSByZW1lbWJlciBoZWFyaW5nIG9mIHBlb3BsZSBwcmVkaWN0aW5nIHN1Y2ggc3lzdGVtcywgYnV0 IG5vdCBvZiBhbnlvbmUgYWN0dWFsbHkgDQpzaGlwcGluZyBhbnkgc3VjaCBzeXN0ZW1zLg0KDQpo b3cgd291bGQgdGhlIHNpZ25hbCBnZXQgdG8gdGhlIGxpZ2h0IGJ1bGI/IG5ldHdvcmtpbmcgb2Yg QUMgcG93ZXIgbGluZXMgaXMgYSANCnRoaW5nIHRoYXQga2VlcHMgYmVpbmcgcHJlZGljdGVkIGFz IGEgJ25leHQgYmlnIHRoaW5nJyBhbmQgd2hpbGUgaXQgY2FuIHdvcmssIA0KaXQncyBvbmx5IHVw IHRvIGEgcG9pbnQuIGEgY29tYmluYXRpb24gaWYgaW50ZXJmZXJlbmNlLCB0aGUgZmFjdCB0aGF0 IHlvdSBzaGFyZSANCndpcmVzIHdpdGggeW91ciBuZWlnaGJvcnMsIGFuZCBqdXN0IHNwZWVkIGxp bWl0cyBmcm9tIG9wZXJhdGluZyBvdmVyIHJhbmRvbSANCndpcmVzIGhhcyBsaW1pdGVkIGl0IHRv IHNob3J0LWxpdmVkIG5pY2hlIHByb2R1Y3RzLg0KDQpBcyBmb3IgdGhlIG9wdGljYWwgc2lkZSwg TEVEcyBjYW4gYmUgbW9kdWxhdGVkIGF0IHZlcnkgaGlnaCBzcGVlZHMsIGFuZCANCnJlY2Vpdmlu Zy9kZWNvZGluZyBzdWNoIHRoaW5ncyBpcyBub3QgdGhhdCBoYXJkLCBidXQgaG93IGRvIHlvdSBy ZXBseT8NCg0KSSd2ZSBzZWVuIHNldmVyYWwgZ2VuZXJhdGlvbnMgb2Ygc3VjaCB0aGluZ3MgcHJv cG9zZWQsIGFuZCB0aGVuIGRpc2FwcGVhciBmb3IgYSANCmZldyB5ZWFycyBiZWZvcmUgc29tZW9u ZSBlbHNlIHJhaXNlcyB0aGUgc2FtZSBzb3J0IG9mIHRoaW5nIHlldCBhZ2Fpbi4NCg0KRGF2aWQg TGFuZw0KDQpPbiBNb24sIDI1IE1heSAyMDI2LCBsZSBiZXJnZXIgZGVzIHBob3RvbnMgd3JvdGU6 DQoNCj4gRGF0ZTogTW9uLCAyNSBNYXkgMjAyNiAxMDozMjoyNCArMDIwMA0KPiBGcm9tOiBsZSBi ZXJnZXIgZGVzIHBob3RvbnMgPHRoZWpvZmZAZ21haWwuY29tPg0KPiBUbzogY2FrZUBsaXN0cy5i dWZmZXJibG9hdC5uZXQNCj4gU3ViamVjdDogW0Nha2VdIFJlOiBDYWtlIERpZ2VzdCwgVm9sIDEy OCwgSXNzdWUgMTANCj4gDQo+IEkgcmVtZW1iZXIgcmVhZGluZyBhYm91dCBhIHRoaW5nIGFuZCBu ZXZlciBzZWVpbmcgYW55dGhpbmcgYWJvdXQgaXQgYWdhaW4uDQo+IElmIG90aGVycyBzYXcgaXQg dG9vIGFuZCBJIGRpZG4ndCBqdXN0IGhhbGx1Y2luYXRlIGl0LCAgaXQgd291bGQgbGlrZWx5IGJl DQo+IHBlb3BsZSBpbiB5b3VyIGdyb3VwLiAgSXQgd2FzIGEgc3lzdGVtIGZvciB2aXNpYmxlIGxp Z2h0IGNvbW11bmljYXRpb24NCj4gb3V0c2lkZSBvZiBmaWJlciBvcHRpY3MsICBqdXN0IGluIHRo ZSBhaXIuICBEZXZpY2VzIHdoaWNoIGNvdWxkIGJlDQo+IGluc3RhbGxlZCBieSB1bnNjcmV3aW5n IGEgbGlnaHQgYnVsYiBpbiBhIGxhbXAsIHNjcmV3aW5nIHRoaXMgaW4sIHRoZW4NCj4gc2NyZXdp bmcgdGhlIGJ1bGQgYmFjayBpbnRvIGl0LiAgQWxsIGNvbW11bmljYXRpb25zIHdlcmUgIldEUyIu ICBBbGwNCj4gcmVwZWF0ZXJzLCBidXQgc28gZmFzdCB0aGF0IHRoZXJlIHdhcyBubyBhZHZhbnRh Z2UgdG8gdXNlIGFuIEFQIGFuZCBjbGllbnQNCj4gbW9kZS4gIFRoZSBwZW9wbGUgd2hvIHdlcmUg d29ya2luZyBvbiBpdCB3ZXJlIGhhdmluZyB0byB1c2UgbW9uZXkgb3V0IG9mDQo+IHRoZWlyIG93 biBwb2NrZXRzIGFuZCBjb3VsZCBnZXQgbm8gY29ycG9yYXRlIHNwb25zb3JzaGlwLiAgTXkgdW5k ZXJzdGFuZGluZw0KPiB3YXMgdGhhdCB0aGUgTmV3IFdvcmxkIE9ET1Igd2FudGVkIHRvIGtlZXAg dGhpcyBmcm9tIGhhcHBlbmluZyBiZWNhdXNlIHRoZXkNCj4gd2VyZSBhZnJhaWQgdGhleSB3b3Vs ZG4ndCBiZSBhYmxlIHRvIGNvbnRyb2wgaXQgY29tcGxldGVseSBhbmQgdGhhdCB3ZSB0aGUNCj4g cGVvcGxlIHdvdWxkIHVzZSBpdCB0byBvdmVydGhyb3cgdGhlaXIgcGF0aG9sb2dpY2FsIGNvbnRy b2wgb3ZlciB1cy4gIHNvLA0KPiBkaWQgSSBpbWFnaW5lIHRoaXM/ICBJJ20gbG9va2luZyBub3cg YW5kIGRpZG4ndCBlYXNpbHkgZmluZCBhbnl0aGluZyBhYm91dA0KPiBpdCwgIHRoaXMgd291bGQg YmUgbm9ybWFsIGluIGEgd29ybGQgd2hlcmUgdGhlIHBlb3BsZSB3aG8gcHJpbnQgbW9uZXkgb3V0 DQo+IG9mIG5vdGhpbmcgdGhlbiBsb2FuIGl0IG91dCBhbmQgaW50ZXJlc3QgYW5kIHRocm93IHVz IGluIGphaWwgZm9yDQo+IGNyaXRpY2l6aW5nIHRoZW0gb3duIGFsbCBvZiB0aGUgbWFqb3IgcHJl c3MgcHJvcGVydGllcy4NCj4NCj4gT24gTW9uLCBNYXkgMjUsIDIwMjYgYXQgMTA6MDfigK9BTSA8 Y2FrZS1yZXF1ZXN0QGxpc3RzLmJ1ZmZlcmJsb2F0Lm5ldD4gd3JvdGU6DQo+DQo+PiBTZW5kIENh a2UgbWFpbGluZyBsaXN0IHN1Ym1pc3Npb25zIHRvDQo+PiAgICAgICAgIGNha2VAbGlzdHMuYnVm ZmVyYmxvYXQubmV0DQo+Pg0KPj4gVG8gc3Vic2NyaWJlIG9yIHVuc3Vic2NyaWJlIHZpYSBlbWFp bCwgc2VuZCBhIG1lc3NhZ2Ugd2l0aCBzdWJqZWN0IG9yDQo+PiBib2R5ICdoZWxwJyB0bw0KPj4g ICAgICAgICBjYWtlLXJlcXVlc3RAbGlzdHMuYnVmZmVyYmxvYXQubmV0DQo+Pg0KPj4gWW91IGNh biByZWFjaCB0aGUgcGVyc29uIG1hbmFnaW5nIHRoZSBsaXN0IGF0DQo+PiAgICAgICAgIGNha2Ut b3duZXJAbGlzdHMuYnVmZmVyYmxvYXQubmV0DQo+Pg0KPj4gV2hlbiByZXBseWluZywgcGxlYXNl IGVkaXQgeW91ciBTdWJqZWN0IGxpbmUgc28gaXQgaXMgbW9yZSBzcGVjaWZpYw0KPj4gdGhhbiAi UmU6IENvbnRlbnRzIG9mIENha2UgZGlnZXN0Li4uIg0KPj4NCj4+IFRvZGF5J3MgVG9waWNzOg0K Pj4NCj4+ICAgIDEuIFJlOiBbQ29kZWxdIFJlOiBbUnBtXSBSZTogW0Jsb2F0XSBSZTogIkZpLVdp IGlzIGEgbmV3IGZvcndhcmRpbmcNCj4+IHBsYW5lIGZvciB3aXJlbGVzcyIgLSBCb2IgTWNNYWhv bg0KPj4gICAgICAgKFNlYmFzdGlhbiBNb2VsbGVyKQ0KPj4gICAgMi4gUmU6IFtScG1dIFJlOiBb QmxvYXRdIFJlOiAiRmktV2kgaXMgYSBuZXcgZm9yd2FyZGluZyBwbGFuZSBmb3INCj4+IHdpcmVs ZXNzIiAtIEJvYiBNY01haG9uDQo+PiAgICAgICAoYm9iLm1jbWFob25AdW1iZXJuZXR3b3Jrcy5j b20pDQo+Pg0KPj4NCj4+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4+DQo+PiBNZXNzYWdlOiAxDQo+PiBEYXRl OiBNb24sIDI1IE1heSAyMDI2IDA4OjU4OjEyICswMjAwDQo+PiBGcm9tOiBTZWJhc3RpYW4gTW9l bGxlciA8bW9lbGxlcjBAZ214LmRlPg0KPj4gU3ViamVjdDogW0Nha2VdIFJlOiBbQ29kZWxdIFJl OiBbUnBtXSBSZTogW0Jsb2F0XSBSZTogIkZpLVdpIGlzIGEgbmV3DQo+PiAgICAgICAgIGZvcndh cmRpbmcgcGxhbmUgZm9yIHdpcmVsZXNzIiAtIEJvYiBNY01haG9uDQo+PiBUbzogY29kZWxAbGlz dHMuYnVmZmVyYmxvYXQubmV0LCBGcmFudGlzZWsgQm9yc2lrDQo+PiAgICAgICAgIDxmcmFudGlz ZWsuYm9yc2lrQGdtYWlsLmNvbT4sIGJvYi5tY21haG9uQHVtYmVybmV0d29ya3MuY29tDQo+PiBD YzogZGFuIDxkYW5kZW5zb25AZ21haWwuY29tPiwgUm9iZXJ0IE1jTWFob24NCj4+ICAgICAgICAg PHJqbWNtYWhvbkByam1jbWFob24uY29tPiwgRGF2aWQgTGFuZyA8ZGF2aWRAbGFuZy5obT4sICJM aXZpbmdvb2QsDQo+PiAgICAgICAgIEphc29uIiA8SmFzb25fTGl2aW5nb29kQGNvbWNhc3QuY29t PiwgQ2FrZSBMaXN0DQo+PiAgICAgICAgIDxjYWtlQGxpc3RzLmJ1ZmZlcmJsb2F0Lm5ldD4sIE1h a2UtV2lmaS1mYXN0DQo+PiAgICAgICAgIDxtYWtlLXdpZmktZmFzdEBsaXN0cy5idWZmZXJibG9h dC5uZXQ+LCBibG9hdA0KPj4gICAgICAgICA8YmxvYXRAbGlzdHMuYnVmZmVyYmxvYXQubmV0Piwg SmVyZW15IEF1c3RpbiB2aWEgUnBtDQo+PiAgICAgICAgIDxycG1AbGlzdHMuYnVmZmVyYmxvYXQu bmV0PiwgIkRhdmUuc2VkZG9uIENhIg0KPj4gICAgICAgICA8ZGF2ZS5zZWRkb24uY2FAZ21haWwu Y29tPiwgV2lsbGlhbSBGaXNoZXIgPHp6eXp4cjk5QGdtYWlsLmNvbT4sDQo+PiBJZ29yDQo+PiAg ICAgICAgIEFsZWluaWtvdiA8aWdvci5hbGVpbmlrb3ZAYWRuYWNvbS5jb20+LCBKaW0gPGppbUBp bmlob2xkaW5ncy5jb20+LA0KPj4gICAgICAgICBKaW1sIDxqaW1sQHF1aWNrc21hcnQuY29tPiwg RG91Z2xhcyBGYWlyYmFpcm4NCj4+ICAgICAgICAgPGRmYWlyYmFpcm5AbWVnYWNoaXBzLmNvbT4s IFRob21hcyA8dGhvbWFzQG1vbmphbG9uLm5ldD4sIFRpbQ0KPj4gICAgICAgICBPZHJpc2NvbGwg PHRpbS5vZHJpc2NvbGxAaW50ZWwuY29tPiwgTW9ydGVuIDxtb3J0ZW5AYnJvZXJ1cC5jb20+LA0K Pj4gICAgICAgICBTZWJhc3RpYW4gTW9lbGxlciA8c2ViYXN0aWFuLm1vZWxsZXJAZ21haWwuY29t PiwgTXQgRGVuaWNvbG8NCj4+ICAgICAgICAgPG10LmRlbmljb2xvQGdtYWlsLmNvbT4sIE1tY21h aG9uMDEgPG1tY21haG9uMDFAZ21haWwuY29tPiwNCj4+IFNhbnRhbnUNCj4+ICAgICAgICAgU2lu aGEgPHNhbnRhbnVzaW5oYUB5YWhvby5jb20+LCBNYXR0aGV3IDxtYXR0aGV3QG10ZWxleS5jb20+ LA0KPj4gS29lbiBEUw0KPj4gICAgICAgICA8a29lbjA2MDdAZ21haWwuY29tPiwgU2hvdGFybyBT YWl0byA8c3NhaXRvQG1lZ2FjaGlwcy5jb20+LCBSb2Jpbg0KPj4gICAgICAgICBKYXJyeSA8cmph cnJ5QHJlZGhhdC5jb20+LCBFaGYgPGVoZkBlaGYubWU+LCBHIFdoaXRlDQo+PiAgICAgICAgIDxn LndoaXRlQGNhYmxlbGFicy5jb20+LCBDaHVueXVodTA3IDxjaHVueXVodTA3QGdtYWlsLmNvbT4s DQo+PiBNYXR0aGV3DQo+PiAgICAgICAgIEZpc2NoZXIgPG1hdHRoZXcuZmlzY2hlckBnbWFpbC5j b20+DQo+PiBNZXNzYWdlLUlEOiA8NzQ1NUUzQjQtN0ZCNC00RDQwLUE5MDAtQjMxMTUxRDEyRjZG QGdteC5kZT4NCj4+IENvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOA0KPj4N Cj4+DQo+Pg0KPj4gT24gTWF5IDI1LCAyMDI2IDc6NDM6MDEgQU0gR01UKzAyOjAwLCBGcmFudGlz ZWsgQm9yc2lrIDwNCj4+IGZyYW50aXNlay5ib3JzaWtAZ21haWwuY29tPiB3cm90ZToNCj4+PiBI ZXkgQm9iLA0KPj4+DQo+Pj4gVGhpcyBpcyBhbGwgbmljZSBhbmQgYWxsLCBidXQgaXQgcmVhbGx5 IGRvZXNuJ3QgbWF0dGVyLiBUaGUgb25seQ0KPj4gbWVhc3VyYWJsZQ0KPj4+IHRlcm0gSU1PIHdl IHJlYWxseSBuZWVkIGlzIHRoaXMgLSBpcyB0aGUgc2V0dXAgd2UgYXJlIHVzaW5nIGdvb2QgZW5v dWdoDQo+PiBhbmQNCj4+PiBkZWxpdmVyaW5nIGFsbCB3ZSBuZWVkPyBBbmQgdGhlIGFuc3dlciBm b3IgSVNQIGxpa2UgRGFuIGFuZCBtYW55IHRoYXQgd2lsbA0KPj4+IGNvbWUgInRvIEplc3VzIiBp cyBzb3VuZGluZyBZRVMuIEl0J3MgaGVyZSwgaXQncyBjaGVhcCwgaXQncyBnZXR0aW5nDQo+PiBi ZXR0ZXIuDQo+Pg0KPj4gTm90IHN1cmUgSSBmdWxseSBidXkgdGhpcywgaWYgSSB1bmRlcnN0YW5k IGNvcnJlY3RseSwgRGFuIHVzZXMgdHJhZmZpYw0KPj4gc2hhcGluZyB0byAibmV1dGVyIiBXaUZp IGZyb20gaXRzIHdvcnN0IHNlbGYgY29uZ2VzdGlvbiB0ZW5kZW5jaWVzLi4uIHRoYXQNCj4+IGlz IGEgY2xldmVyIHdheSB0byB3b3JrIGFyb3VuZCBjbGVhciBzaG9ydCBjb21pbmdzIGluIG1vZGVy biBXaUZpIG5vdA0KPj4gZXZpZGVuY2UgdGhhdCBtb2Rlcm4gV2lGaSBoYXMgbm8gaXNzdWVzLi4u DQo+Pg0KPj4+DQo+Pj4gWW91IHdpbGwgZ2V0IHlvdXIgZXZpZGVuY2UgYW5kIHRoZW4gd2hhdD8g V2hlbiAoYW5kIGJpZyBpRikgRmktV2kgd2lsbA0KPj4+IG1hdGVyaWFsaXplLCB3ZSB3aWxsIGhh dmUgV2ktRmkgOA0KPj4+IDwNCj4+IGh0dHBzOi8vd3d3LmxpbmtlZGluLmNvbS9mZWVkL3VwZGF0 ZS91cm46bGk6YWN0aXZpdHk6NzQ2MDk5ODU4MDQ1NjExNjIyNC8+DQo+Pj4gZm9yIHRob3NlIGlu dGVyZXN0ZWQgaW4gY2hhc2luZyBtYXJnaW5hbCBpbXByb3ZlbWVudHMgYW5kIHRoZSBsYXRlc3QN Cj4+IHRoaW5nLg0KPj4NCj4+IFRoYXQgaXMgdGhlIDNHUFAgcGxheWJvb2ssIGFsd2F5cyBvdmVy cHJvbWlzZSBmb3IgdGhlIGNvbWluZyBnZW5lcmF0aW9uDQo+PiBOKzEgYW5kIG9uY2UgdGhhdCBt YXRlcmlsYWxpemVzIGFuZCB0eXBpY2FsbHkgdW5kZXItZGVsaXZlcnMgcm9sbC1vdmVyIHRoZQ0K Pj4gdW5mdWxmaWxsZWQgcHJvbWlzZXMgc2ltcGx5IGludG8gTisyLCBtYXliZSBhZGQgYSBmZXcg bW9yZSBjbGFpbXMuLi4gU3VyZQ0KPj4gZml0dGluZyBmb3IgdGhlIGxhdGV4c3RhZ2UgY2FwaXRh bHVzbSB3ZSBmaW5kIG91cnNlbHZlcyBpbiwgYnV0IGxldCdzIG5vdA0KPj4gZ2V0IGZvb2xlZCBi eSBtYXJrZXRpbmcgcHJvbWlzZXMgYW5kIGp1ZGdlIFdpRmk4IG9uY2UgaXQgZXhpc3RzIGJ5IGl0 cw0KPj4gbWVyaXRzL3BlcmZvcm1hbmNlLCBwbGVhc2UuDQo+Pg0KPj4+IEpvbmF0aGFuIE1vcnRv biB3aWxsIGRlbGl2ZXIgaGlzIGltcHJvdmVtZW50IG9uIENBS0UsIHdlIG1pZ2h0IGV2ZW4gZ2V0 DQo+Pj4gaW50byBtaWNyb3NlY29uZCB0ZXJyaXRvcnkuDQo+Pg0KPj4gTGFzdCB0aW1lIEkgcmVz ZWFyY2hlZCBoaXMgZGVsdGljIGFwcHJvYWNoIGl0IGxvb2tlZCB2ZXJ5IG11Y2ggbm90IGdvaW5n DQo+PiBpbnRvIHRoZSBtaWNyb3NlY29uZCB0ZXJyaXRvcnksIEkgcmVtZW1iZXIgMjVtcyBhcyBs YXRlbmN5IHRhcmdldA0KPj4gc29tZWhvdy4uLiAyNW1zIGlzIGNlcnRhaW5seSBub3QgYmFkLCBh bmQgbm90IGhpZ2gtbGF0ZW5jeSwgYnV0IHNlZW1zDQo+PiBkaWZmZXJlbnQgZnJvbSB1bHRyYS1s b3ctbGF0ZW5jeSBhcHByb2FjaGVzLiBTbyBJIG1pZ2h0IGhhdmUgbWlzc2VkIHNvbWUNCj4+IGlu dGVyZXN0aW5nIGRldmVsb3BtZW50LCBpZiB5b3UgaGF2ZSBhIGxpbmsgeW91IGNvdWxkIHNoYXJl IHRvIGdldCBtZSB1cCB0bw0KPj4gc3BlZWQgYWdhaW4sIEkgd291bGQgYmUgZ3JhdGVmdWwuDQo+ Pg0KPj4+IFRoZXJlIHdpbGwgYmUgRlEtUElFLCBQVVJQTEUgQ0FLRSwgSFRCLU1RICh0bw0KPj4+ IHN1cHBsZW1lbnQgQ0FLRS1NUSkuLi4NCj4+Pg0KPj4+IEFueXdheSwgeW91IHdpbGwgbGlrZSB0 aGlzOg0KPj4+DQo+PiBodHRwczovL2Fyc3RlY2huaWNhLmNvbS9nYWRnZXRzLzIwMTcvMDIvZ29p bmctaGFuZHMtb24tYW5kLWJlaGluZC10aGUtc2NlbmVzLWF0LXRoZS1wbHVtZS13aS1maS1ocS8N Cj4+Pg0KPj4+IFBsdW1lIHVzZWQgdG8gZG8gdGhpcywgeW91IHdpbGwgaGF2ZSB5b3VyIEZpLVdp IGhvdXNlIHRlc3QgYmVkIHVwIGFuZA0KPj4+IHJ1bm5pbmcsIHNvb24uIExldCdzIGhhdmUgZnVu IGFuZCBkbyBhbm90aGVyIHJvdW5kIG9mIHRoZSBnb29kIG9sZQ0KPj4+IFdpLUZpL21lc2ggcm91 dGVyIHJ1bWJsZToNCj4+Pg0KPj4+DQo+PiBodHRwczovL2Fyc3RlY2huaWNhLmNvbS9nYWRnZXRz LzIwMTYvMDkvdGhlLXJvdXRlci1ydW1ibGUtYXJzLWRpeS1idWlsZC1mYWNlcy1iZXR0ZXItdGVz dHMtdG91Z2hlci1jb21wZXRpdGlvbi8NCj4+Pg0KPj4gaHR0cHM6Ly9hcnN0ZWNobmljYS5jb20v Z2FkZ2V0cy8yMDE2LzEyL3Jldmlldy1jb21wYXJpbmctZ29vZ2xlLXdpZmktdG8tb3RoZXItbWVz aC1uZXR3b3JraW5nLWhlYXZ5d2VpZ2h0cy8NCj4+Pg0KPj4+IE1heWJlIEppbSBhbmQgQXJzIFRl Y2huaWNhIHdvdWxkIGJlIGludGVyZXN0ZWQgaW4gaXQuDQo+Pj4NCj4+Pg0KPj4+IEFsbCB0aGUg YmVzdCwNCj4+Pg0KPj4+IEZyYW5rDQo+Pj4NCj4+PiBGcmFudGlzZWsgKEZyYW5rKSBCb3JzaWsN Cj4+Pg0KPj4+DQo+Pj4gKkluIGxvdmluZyBtZW1vcnkgb2YgRGF2ZSBUw6RodDogKjE5NjUtMjAy NQ0KPj4+DQo+Pj4gaHR0cHM6Ly9saWJyZXFvcy5pby8yMDI1LzA0LzAxL2luLWxvdmluZy1tZW1v cnktb2YtZGF2ZS8NCj4+Pg0KPj4+DQo+Pj4gaHR0cHM6Ly93d3cubGlua2VkaW4uY29tL2luL2Zy YW50aXNla2JvcnNpaw0KPj4+DQo+Pj4gU2lnbmFsLCBUZWxlZ3JhbSwgV2hhdHNBcHA6ICs0MjE5 MTk0MTY3MTQNCj4+Pg0KPj4+IGlNZXNzYWdlLCBtb2JpbGU6ICs0MjA3NzUyMzA4ODUNCj4+Pg0K Pj4+IFNreXBlOiBjYXNpb2E1MzAyY2ENCj4+Pg0KPj4+IGZyYW50aXNlay5ib3JzaWtAZ21haWwu Y29tDQo+Pj4NCj4+Pg0KPj4+IE9uIFN1biwgTWF5IDI0LCAyMDI2IGF0IDExOjU34oCvUE0gPGJv Yi5tY21haG9uQHVtYmVybmV0d29ya3MuY29tPiB3cm90ZToNCj4+Pg0KPj4+PiBIaSBGcmFuaywN Cj4+Pj4NCj4+Pj4gVGhlIHF1ZXN0aW9uIG5lZWRzIHRvIGJlIGZyYW1lZCBpbiBtZWFzdXJhYmxl IHRlcm1zLg0KPj4+Pg0KPj4+PiBUaGUgc3lzdGVtcyB5b3UgbmFtZWQgb3BlcmF0ZSBhdCBkaWZm ZXJlbnQgbGF5ZXJzIHRoYW4gdGhlIDgwMi4xMQ0KPj4gTUFDL1BIWQ0KPj4+PiBsYXllciB3aGVy ZSBUWE9QIGFsbG9jYXRpb24sIHJldHJpZXMsIEVEQ0EgY29udGVudGlvbiwgQU1QRFUgYmVoYXZp b3IsDQo+PiBhbmQNCj4+Pj4gYWlydGltZSB1dGlsaXphdGlvbiBvY2N1ciB0aHJvdWdob3V0IHRo ZSBidWlsZGluZy4gYmF0bWFuLWFkdiByb3V0ZXMNCj4+Pj4gYmV0d2VlbiBtZXNoIG5vZGVzLiBD QUtFIGFuZCBGUS1Db0RlbCBvcGVyYXRlIG9uIElQLWxheWVyIHF1ZXVlcy4gUW9FDQo+Pj4+IG1p ZGRsZS1ib3hlcyBvcGVyYXRlIGZyb20gdGhlIFdBTi9JUCBzaWRlLg0KPj4+Pg0KPj4+PiBTbyB0 aGUgcXVlc3Rpb24gaXMgd2hldGhlciBJUC1sYXllciBBUU1zIG9yIFdBTi1zaWRlIFFvRSBzeXN0 ZW1zIGFmZmVjdA0KPj4+PiBtZWFzdXJhYmxlIDgwMi4xMSBNQUMvUEhZIGJlaGF2aW9yIHVuZGVy IGxvYWQuDQo+Pj4+DQo+Pj4+IElmIHRoZXkgZG8sIHRoZSBwcmVkaWN0ZWQgTUFDL1BIWSBlZmZl Y3RzIHdvdWxkIGluY2x1ZGU6DQo+Pj4+DQo+Pj4+ICAgIC0gbG93ZXIgZmFpbGVkIFRYT1AgcGVy Y2VudGFnZQ0KPj4+PiAgICAtIGxvd2VyIHJldHJhbnNtaXNzaW9uIGFpcnRpbWUgZnJhY3Rpb24N Cj4+Pj4gICAgLSBpbXByb3ZlZCBBTVBEVSBjb21wbGV0aW9uIGVmZmljaWVuY3kNCj4+Pj4gICAg LSBoaWdoZXIgcGF5bG9hZCBkZWxpdmVyZWQgcGVyIFRYT1ANCj4+Pj4gICAgLSBsb3dlciBBTVBE VSB0cnVuY2F0aW9uIGZyZXF1ZW5jeQ0KPj4+PiAgICAtIHJlZHVjZWQgRURDQSB3YWl0IGRpc3Ry aWJ1dGlvbnMNCj4+Pj4gICAgLSBpbXByb3ZlZCBhaXJ0aW1lIHV0aWxpemF0aW9uDQo+Pj4+ICAg IC0gcmVkdWNlZCBzZXJ2aWNlLXRpbWUgdmFyaWFuY2UNCj4+Pj4gICAgLSBjaGFuZ2VkIE1DUyBk aXN0cmlidXRpb25zIGFjcm9zcyBzdGF0aW9ucyB1bmRlciByZWFsaXN0aWMgc3BhdGlhbA0KPj4+ PiAgICB0b3BvbG9neSwgcGFydGljdWxhcmx5IGF0IGNvdmVyYWdlIGVkZ2VzIGFuZCB3aGVyZSBt dWx0aXBsZSBBUHMgb3INCj4+IFJSSHMgYXJlDQo+Pj4+ICAgIGNhbmRpZGF0ZXMgZm9yIG5vZGUg c2VsZWN0aW9uDQo+Pj4+DQo+Pj4+IFRoYXQgaXMgdGhlIG1lYXN1cmVtZW50IGdhcCBJIGFtIHBv aW50aW5nIGF0LiBUaGUgaW5kdXN0cnkgaGFzIGV4dGVuc2l2ZQ0KPj4+PiA4MDIuMTEgZmVhdHVy ZSBsaXN0cyBhbmQgbWFya2V0aW5nIGNsYWltcywgd2l0aCBjb21wYXJhdGl2ZWx5IGxpdHRsZQ0K Pj4gb3Blbg0KPj4+PiB0b29saW5nIHRvIGZhbHNpZnkgd2hhdCB0aG9zZSBhY3R1YWxseSBkbyB0 byBidWlsZGluZyB3aWRlIDgwMi4xMQ0KPj4gTUFDL1BIWQ0KPj4+PiBiZWhhdmlvciB1bmRlciBy ZWFsIG11bHRpLWNsaWVudCwgbXVsdGktQVAgbG9hZC4NCj4+Pj4NCj4+Pj4gSSBkZXZlbG9wZWQg YW5kIHN0aWxsIG1haW50YWluIGlwZXJmMiBiZWNhdXNlIHRocm91Z2hwdXQgYWxvbmUgaGFzDQo+ PiBwcm92ZW4NCj4+Pj4gYW4gaW5zdWZmaWNpZW50IG1lYXN1cmVtZW50IG1vZGVsIGZvciBuZXR3 b3JrIGJlaGF2aW9yLCBlLmcuIGxhdGVuY2llcw0KPj4gYW5kDQo+Pj4+IHJlc3BvbnNpdmVuZXNz IHVuZGVyIGxvYWQuIEZlYXR1cmVzIGFkZGVkIHRvIGlwZXJmMiBpbmNsdWRlOg0KPj4+Pg0KPj4+ PiAgICAtIHRyaXAtdGltZXMNCj4+Pj4gICAgLSBib3VuY2ViYWNrIHRlc3RpbmcNCj4+Pj4gICAg LSBvbmUtd2F5IElQIHBhY2tldCB0aW1pbmcgbWVhc3VyZW1lbnRzDQo+Pj4+ICAgIC0gcGFja2V0 LWxldmVsIGxhdGVuY3kgaGlzdG9ncmFtcw0KPj4+PiAgICAtIG1lc3NhZ2UtbGV2ZWwgKFRDUCB3 cml0ZS9yZWFkIGNvbXBsZXRpb24pIGxhdGVuY3kgaGlzdG9ncmFtcw0KPj4+PiAgICAtIHJlc3Bv bnNpdmVuZXNzIHVuZGVyIGxvYWQgbWVhc3VyZW1lbnRzDQo+Pj4+ICAgIC0gZW5oYW5jZWQgcGVy LWludGVydmFsIHJlcG9ydGluZw0KPj4+PiAgICAtIENXTkQgcmVwb3J0aW5nDQo+Pj4+ICAgIC0g UlRUIHJlcG9ydGluZw0KPj4+PiAgICAtIGJ5dGVzL3BhY2tldHMgaW4tZmxpZ2h0IHJlcG9ydGlu Zw0KPj4+PiAgICAtIFRDUCByZXRyYW5zbWlzc2lvbiByZXBvcnRpbmcNCj4+Pj4gICAgLSBUQ1Ag Y29uZ2VzdGlvbi1jb250cm9sIHNlbGVjdGlvbiAoQ1VCSUMsIEJCUiwgUHJhZ3VlLCBldGMuKQ0K Pj4+PiAgICAtIHVkcC1sNHMgaW5jbHVkaW5nIENFIGNvdW50ZXJzIGFuZCBkdXJhdGlvbnMNCj4+ Pj4gICAgLSBpc29jaHJvbm91cyB0cmFmZmljIGdlbmVyYXRpb24NCj4+Pj4gICAgLSBzb2NrZXQt bGF5ZXIgcGFjaW5nIHZpYSBTT19NQVhfUEFDSU5HX1JBVEUNCj4+Pj4gICAgLSB0b2tlbi1idWNr ZXQgd3JpdGUtcmF0ZSBjb250cm9sDQo+Pj4+ICAgIC0gTWFya292LWNoYWluIHBhY2tldC1zaXpl IGdlbmVyYXRpb24NCj4+Pj4gICAgLSBVRFAgbGF0ZW5jeS9qaXR0ZXIgYW5hbHlzaXMNCj4+Pj4g ICAgLSBtdWx0aWNhc3QgdGVzdGluZw0KPj4+Pg0KPj4+PiBUaG9zZSBtZWFzdXJlbWVudHMgb3Bl cmF0ZSBhYm92ZSB0aGUgODAyLjExIE1BQy9QSFkuIFRoZSBtaXNzaW5nIGxheWVyDQo+Pj4+IHJl bWFpbnMgb3BlbiA4MDIuMTEgTUFDL1BIWSB0ZWxlbWV0cnksIHdoaWNoIGlzIHdoYXQgSSdtIGJ1 aWxkaW5nIG5vdy4NCj4+Pj4NCj4+Pj4gVGhpcyBtZWFzdXJlbWVudCBzdGFuZGFyZCBzaG91bGQg YXBwbHkgZXF1YWxseSB0byBhbnkgY2xhaW0gZnJvbSBhbnkNCj4+Pj4gYXJjaGl0ZWN0dXJlLCBp bmNsdWRpbmcgRmktV2kuDQo+Pj4+DQo+Pj4+IFRoZSBxdWVzdGlvbiBiZWNvbWVzOiBkb2VzIGNl bnRyYWxpemVkIE1BQyB0ZWxlbWV0cnkgYW5kIGNvb3JkaW5hdGVkDQo+Pj4+IGFpcnRpbWUgY29u dHJvbCBhZmZlY3QgbWVhc3VyYWJsZSA4MDIuMTEgTUFDL1BIWSBiZWhhdmlvciB1bmRlciBsb2Fk DQo+Pj4+IHJlbGF0aXZlIHRvIGF1dG9ub21vdXMgQVAgb3BlcmF0aW9uPw0KPj4+Pg0KPj4+PiBN ZWFzdXJlIHRoZSBzYW1lIE1BQy9QSFkgbWV0cmljcyB1bmRlciBlcXVpdmFsZW50IHRvcG9sb2d5 LCBvZmZlcmVkDQo+PiBsb2FkLA0KPj4+PiBhbmQgY2xpZW50IG1peC4gSWYgdGhvc2UgbWVhc3Vy ZW1lbnRzIGRvIG5vdCBpbXByb3ZlIHJlbGF0aXZlIHRvDQo+PiBiYXNlbGluZSwNCj4+Pj4gdGhl IGFyY2hpdGVjdHVyYWwgY2xhaW0gb2YgRmktV2kgZmFpbHMuIFdlIHdvbid0IGtub3cgdW50aWwg RmktV2kgaXMNCj4+Pj4gZGVzaWduZWQsIGJ1aWx0LCBkZXBsb3llZCBhbmQgbWVhc3VyZWQgYXQg bWFueSBkaWZmZXJlbnQgbG9jYXRpb25zLiBUaGUNCj4+Pj4gdGhlb3JldGljYWwgY2FzZSBpcyBz dHJvbmcuICBDZW50cmFsaXplZCBzY2hlZHVsaW5nLCBqb2ludCBvcHRpbWl6YXRpb24sDQo+Pj4+ IGFuZCBvYnNlcnZhYmlsaXR5IGFsbCBhcmd1ZSBmb3IgaXQuIFRoZSBkZXNpZ24gYW5kIG1lYXN1 cmVtZW50cyBhcmUgdGhlDQo+Pj4+IG5leHQgc3RlcHMuIFRoZW4gd2UnbGwgc2VlIGJhc2VkIG9u IGV2aWRlbmNlLg0KPj4+Pg0KPj4+PiBCb2INCj4+Pj4NCj4+Pj4gVGVjaG5pY2FsbHksIEJldGFt YXggd2FzIHN1cGVyaW9yIHRvIFZIUywgYW5kIHlldC4uLg0KPj4+Pg0KPj4+PiBJZiB3ZSB3b3Vs ZCBiZSB0YWxraW5nIGFib3V0IEZpV2kgcHJlLWp1bXAgZnJvbSBXaS1GaSA1IHRvIFdpLUZpNi9F LzcsIEkNCj4+Pj4gd291bGQgZXZlbiB0cnkgdG8gZG8gbXkgYmVzdCBhbmQgaWdub3JlIGh0dHBz Oi8vZmFzdGdvb2QuY2hlYXAuDQo+Pj4+IEJ1dCB3ZSBhcmUgbm90IHRoZXJlLCBmb3IgYmV0dGVy IG9yIGZvciB3b3JzZS4NCj4+Pj4NCj4+Pj4gSVNQcyBsaWtlIERhbiB0aGF0IHVzZSBXaS1GaSA2 ICh3aXRoIG1lc2gsIGVzcGVjaWFsbHkgYmFzZWQgb24NCj4+IGJhdG1hbi1hZHYNCj4+Pj4gYW5k IEZRLUNvRGVsIC8gQ0FLRSkgYW5kIGFib3ZlIGF0IGN1c3RvbWVyIHByZW1pc2VzIGFuZCBRdWFs aXR5IG9mDQo+Pj4+IEV4cGVyaWVuY2UgbWlkZGxlLWJveCBvbiB0aGVpciBsYXN0LW1pbGUsIHdo aWxlIHByb3ZpZGluZyBnb29kLCBwZXJzb25hbA0KPj4+PiBjdXN0b21lciBzZXJ2aWNlIChub3Qg c29tZSBjcmFwcHkgb3V0c291cmNpbmcgb2YgaXQgdG8gSW5kaWEgb3IgIkFJIikNCj4+IHdpbGwN Cj4+Pj4gYmUgaGFyZCB0byBiZWF0LCBldmVuIGZvciBhIGJpZyB0ZWxjby9JU1Agb2ZmZXJpbmcg Y2hlYXBlciBwcmljZS4gWWVzLA0KPj4gc29tZQ0KPj4+PiBwZW9wbGUgd2lsbCBsZWF2ZSBidXQg dGhlIG1vc3Qgb2YgdGhlbSB3aWxsIGJlIGNvbWluZyBiYWNrLg0KPj4+Pg0KPj4+PiBUaGlzIGlz LCBiZWxpZXZlIGl0IG9yIG5vdCwgbm90IGEgaGlnaCBiYXIgdG8ganVtcCBvdmVyLCBldmVuIHRo b3VnaCBub3QNCj4+Pj4gbWFueSBJU1BzIGFyZSBnZXR0aW5nIGl0IGFscmVhZHkuIFdlIGFsbCBr bm93IHRoYXQgbW9yZSBvciBsZXNzOg0KPj4gIkJhbmR3aWR0aA0KPj4+PiBpcyBhIGxpZSwgQmFu ZHdpZHRoIGlzIGRlYWQsIiBzbyBpdCdzIGNvbWluZy4gVGhleSB3aWxsIGJlIHRocm93aW5nIG1v cmUNCj4+Pj4gYmFuZHdpZHRoIG9uIGl0IGZvciBzb21lIHRpbWUsIGJ1dCB3ZSB3aWxsIGJlIGdl dHRpbmcgZnJvbSAiaW5ub3ZhdG9ycyINCj4+IHRvDQo+Pj4+ICJlYXJseSBhZG9wdGVycyIgc29v biBhbmQgdGhlbiwgYWxsIHdlIG5lZWQgaXMganVzdCB0aGF0ICJjcm9zc2luZyB0aGUNCj4+Pj4g Y2hhc20uIg0KPj4+Pg0KPj4+PiBEZXNwaXRlIGFsbCB0aGUgZGlmZmljdWx0aWVzLCBpdCB3aWxs IGJlIGZhc3RlciBhbmQgY2hlYXBlciAtIGFsc28gImdvb2QNCj4+Pj4gZW5vdWdoLCIgdGhhbiBG aVdpLiBPciByYXRoZXIsIGl0J3MgaGVyZSBhbHJlYWR5LCBpdCdzIGp1c3Qgbm90IGV2ZW5seQ0K Pj4+PiBkaXN0cmlidXRlZC4NCj4+Pj4gVGhlcmUgbWlnaHQgYmUgc29tZSBnb29kIG5pY2hlIHVz ZSBjYXNlIGZvciBGaVdpLCB0aG91Z2gsIG9uY2UgaXQgd2lsbA0KPj4+PiBtYXR1cmUgYW5kIGdl dCB0aGVyZS4NCj4+Pj4NCj4+Pj4gQWxsIHRoZSBiZXN0LA0KPj4+Pg0KPj4+Pg0KPj4+PiBGcmFu aw0KPj4+Pg0KPj4+Pg0KPj4+Pg0KPj4+PiBGcmFudGlzZWsgKEZyYW5rKSBCb3JzaWsNCj4+Pj4N Cj4+Pj4NCj4+Pj4NCj4+Pj4gKkluIGxvdmluZyBtZW1vcnkgb2YgRGF2ZSBUw6RodDogKjE5NjUt MjAyNQ0KPj4+Pg0KPj4+PiBodHRwczovL2xpYnJlcW9zLmlvLzIwMjUvMDQvMDEvaW4tbG92aW5n LW1lbW9yeS1vZi1kYXZlLw0KPj4+Pg0KPj4+Pg0KPj4+Pg0KPj4+PiBodHRwczovL3d3dy5saW5r ZWRpbi5jb20vaW4vZnJhbnRpc2VrYm9yc2lrDQo+Pj4+DQo+Pj4+IFNpZ25hbCwgVGVsZWdyYW0s IFdoYXRzQXBwOiArNDIxOTE5NDE2NzE0DQo+Pj4+DQo+Pj4+IGlNZXNzYWdlLCBtb2JpbGU6ICs0 MjA3NzUyMzA4ODUNCj4+Pj4NCj4+Pj4gU2t5cGU6IGNhc2lvYTUzMDJjYQ0KPj4+Pg0KPj4+PiBm cmFudGlzZWsuYm9yc2lrQGdtYWlsLmNvbQ0KPj4+Pg0KPj4+PiBPbiBTdW4sIE1heSAyNCwgMjAy NiBhdCAyOjEy4oCvQU0gZGFuIDxkYW5kZW5zb25AZ21haWwuY29tPiB3cm90ZToNCj4+Pj4NCj4+ Pj4NCj4+Pj4NCj4+Pj4gT24gU2F0LCBNYXkgMjMsIDIwMjYgYXQgMTA6MzbigK9BTSA8Ym9iLm1j bWFob25AdW1iZXJuZXR3b3Jrcy5jb20+IHdyb3RlOg0KPj4+Pg0KPj4+Pj4gSSBkb24ndCBoYXZl IGFyZ3VtZW50cyBvbiB0aGUgdGVjaG5pY2FsIGJpdHMgb2YgeW91ciByZXBseS4NCj4+Pj4NCj4+ Pj4gVGhlIGluZHVzdHJ5IGhhc24ndCBwcm92aWRlZCBvcGVuIHNvdXJjZSB0b29scyB0byBhbmFs eXplIDgwMi4xMQ0KPj4gcHJvcGVybHkuDQo+Pj4+IFRoZSBwcm9wcmlldGFyeSBvbmVzIGFyZSB0 aWdodGx5IGNvdXBsZWQgdG8gY2hpcCBmaXJtd2FyZSwgb3duZWQgYnkNCj4+IDgwMi4xMQ0KPj4+ PiB2ZW5kb3JzLCBhbmQgbm90IGZvciBzYWxlLg0KPj4+Pg0KPj4+PiBZb3UndmUgYnVpbHQgc29s aWQgbmV0d29ya3MsIGVzcGVjaWFsbHkgZ2l2ZW4gaG93IGxpdHRsZSA4MDIuMTENCj4+IE1BQy1s YXllcg0KPj4+PiBhbmQgTUNTIG9ic2VydmFiaWxpdHkgY3VycmVudCB0b29saW5nIGV4cG9zZXMu IEkgaG9wZSB0byBtYWtlIG9wZW4NCj4+IHNvdXJjZQ0KPj4+PiA4MDIuMTEgTUFDIHRlbGVtZXRy eSB0b29scyBhdmFpbGFibGUgc29vbmVyIHJhdGhlciB0aGFuIGxhdGVyLiBUaGVzZQ0KPj4gd2ls bA0KPj4+PiBydW4gb24gYm90aCBhbiBFU1AzMi1DNSBhbmQgYW4gUlBpNS4gVGhlIGluZXhwZW5z aXZlIEVTUDMyIGFsbG93cw0KPj4gbW9uaXRvcnMNCj4+Pj4gdG8gYmUgcGxhY2VkIHRocm91Z2hv dXQgYSB2ZW51ZSBhdCBsb3cgY29zdC4NCj4+Pj4NCj4+Pj4gQSBrZXkgaXNzdWUgaXMgd2hhdCdz IGJlaW5nIG1lYXN1cmVkLiBZb3VyIGRlcGxveW1lbnQgZGF0YSBpcyBhIGNhcGFjaXR5DQo+Pj4+ IGFuYWx5c2lzLiBPbmNlIGJhc2VsaW5lIGNhcGFjaXR5IGlzIGFkZXF1YXRlLCB1c2VyIGV4cGVy aWVuY2UgaXMgZHJpdmVuDQo+PiBieQ0KPj4+PiB0YWlsIGxhdGVuY3kgYW5kIHNlcnZpY2UtdGlt ZSB2YXJpYW5jZSByYXRoZXIgdGhhbiB0aHJvdWdocHV0LiBBIG5ldHdvcmsNCj4+Pj4gY2FuIHNh dHVyYXRlIGFnZ3JlZ2F0ZSB0aHJvdWdocHV0IHdoaWxlIHN0aWxsIHNob3dpbmcgbGFyZ2Ugc2Vy dmljZS10aW1lDQo+Pj4+IHZhcmlhbmNlIGFuZCBsb25nIHBlci1mbG93IHRhaWxzIHVuZGVyIGNv bnRlbnRpb24uIFRoZXNlIGFyZSBkaWZmZXJlbnQNCj4+Pj4gbWVhc3VyZW1lbnRzLg0KPj4+Pg0K Pj4+PiBBbmQgQ09ERUwgYW5kIENBS0UgYXJlIElQLWxheWVyIG1lY2hhbmlzbXMuIFRoZXkgZG9u J3Qgb3BlcmF0ZSBvbiA4MDIuMTENCj4+Pj4gVFhPUHMgb3IgYWlydGltZSBzb2pvdXJuLCB3aGlj aCBpcyB3aGVyZSB0aGUgY29udGVudGlvbiBhbmQgc2VydmljZS10aW1lDQo+Pj4+IHZhcmlhbmNl IGFjdHVhbGx5IGxpdmUuIEFRTCBpcyBjbG9zZXIuIEl0IG9wZXJhdGVzIG9uIGFpcnRpbWUgYXQg dGhlDQo+Pj4+IGRyaXZlci9maXJtd2FyZSBib3VuZGFyeSwgYnV0IGl0J3Mgc3RpbGwgcGVyLUFQ LiBUaGVyZSdzIG5vIGNvb3JkaW5hdGlvbg0KPj4+PiBhY3Jvc3MgQVBzIGFuZCBubyBNQUMgdGVs ZW1ldHJ5IGV4cG9zZWQgdXB3YXJkLg0KPj4+Pg0KPj4+PiBTbGlkZSA2IG9mIG15IERQREsgU3Vt bWl0IFN0b2NraG9sbSB0YWxrIGxheXMgb3V0IHRoZSBsYXllcmluZzoNCj4+Pj4gaHR0cHM6Ly93 d3cudW1iZXJuZXR3b3Jrcy5jb20vRFBES19XaUZpX1N0b2NraG9sbV9QcmVzLmh0bWwNCj4+Pj4N Cj4+Pj4gQ2hlY2sgb3V0IGlwZXJmMidzIGFkdmFuY2VkIGZlYXR1cmVzIGFyb3VuZCAtLWJvdW5j ZWJhY2ssIC0tdHJpcC10aW1lcywNCj4+Pj4gYW5kIC0taGlzdG9ncmFtcy4gVGhlc2UgYXJlIGF2 YWlsYWJsZSBhcyBvcGVuIHNvdXJjZS4gTWFuIHBhZ2U6DQo+Pj4+IGh0dHBzOi8vaXBlcmYyLnNv dXJjZWZvcmdlLmlvL2lwZXJmLW1hbnBhZ2UuaHRtbA0KPj4+Pg0KPj4+PiBJJ2xsIHRyeSB0byBy ZXNwb25kIHdpdGggc29tZSBtZXRyaWNzIHNvb24uIE15IHJpZyBpcyBkb3duIGF0IHRoZQ0KPj4g bW9tZW50LA0KPj4+PiBzbyBnaXZlIG1lIGEgZmV3IGRheXMuDQo+Pj4+DQo+Pj4+IEJvYg0KPj4+ Pg0KPj4+Pg0KPj4+PiBJIGFncmVlLiAgSG93ZXZlciwgSSdtIG5vdCBhY3R1YWxseSBqdXN0IG1l YXN1cmluZyB0aHJvdWdocHV0LCBidXQNCj4+IHJ1bm5pbmcNCj4+Pj4gbGF0ZW5jeSBzZW5zaXRp dmUgYXBwbGljYXRpb25zIHdpdGhvdXQgaXNzdWVzLiAgRnJhbmsgbWlnaHQgYXR0ZXN0IHRvIG15 DQo+Pj4+IGVmZm9ydHMgdG8gcmVkdWNlIGxhdGVuY3kgYW5kIEkgcm91dGluZWx5IHNoYXJlIGRh dGEgb24gbHFvcyAoYW5kDQo+PiBhbm90aGVyDQo+Pj4+IFFvRSBwcm9kdWN0J3MpIFRDUCBtZWFz dXJlbWVudHMgZm9yIGxhdGVuY3kgYW5kIGFtb25nIFFvRSB1c2VycywgSQ0KPj4gYmVsaWV2ZQ0K Pj4+PiBteSBuZXR3b3JrIGlzIHRvcCAxJSBpbiBsYXRlbmN5IGFuZCBqaXR0ZXIgYW5kIGluIHRo ZSBXSVNQIHNwYWNlLg0KPj4+PiBPYnZpb3VzbHkgSSdtIG5vdCBnb2luZyB0byBjb21wZXRlIHdp dGggWEdTUE9OIG9wZXJhdG9ycy4uICh0aG91Z2ggSSdtDQo+PiBvbmx5DQo+Pj4+IG1lYXN1cmlu ZyBUQ1AgYmVjYXVzZSB0aGF0J3MgdGhlICdlYXNpZXN0JyB0byBtZWFzdXJlIHBhc3NpdmVseQ0K Pj4+PiBwcmFjdGljYWxseSkuICBXaGlsZSB0aGlzIGlzIG5vdCBhbiBlbmdpbmVlcmluZyBhZGVx dWF0ZSBiZW5jaG1hcmssIGlmDQo+PiBteQ0KPj4+PiBWb0lQIGhhbmRzZXRzIHdvcmsgb3ZlciB3 aXJlbGVzcyB0aGVuIHRoZSB3aXJlbGVzcyBpcyBnb29kIGlzIGEgdmVyeQ0KPj4+PiByZWFzb25h YmxlIGxhdGVuY3ksIGppdHRlciwgbG9zcyBhcmd1bWVudC4gIEFuZCBJIHJ1biBhIGZldyBicmFu ZHMgb2YNCj4+IFdpRmkNCj4+Pj4gYmFzZWQgVm9JUCBwaG9uZXMgKEZhbnZpbGwgV3h4eCBzZXJp ZXMsIFllYWxpbmsgV3h4IGFuZCBBWHh4IHNlcmllcykuDQo+Pj4+IFNpbWlsYXJseSwgaWYgdGhl IHNvbm9zIHdvcmtzIGFuZCBpcyBpbiBzeW5jLCB0aGUgd2lmaSBpcyBnb29kLg0KPj4+Pg0KPj4+ PiBBcyBhIHNlcnZpY2UgY29tcGFueSBhbmQgYXMgYSB1c2VyLCBJIGRvbid0IHJlYWxseSBjYXJl IHNvIG11Y2ggd2hlcmUNCj4+IHRoZQ0KPj4+PiBnb29kbmVzcyBpcyBpbiB0aGUgc3lzdGVtLCBt YWMgbGF5ZXIgb3IgSVAgaGF2aW5nIGNha2Ugd29yayBpdCdzIG1hZ2ljLg0KPj4+PiBCYXNpY2Fs bHkgcnVubmluZyBhbiBBUCBvbiBPRk1EQSAoYXMgbXVjaCBhcyBwb3NzaWJsZSkgYW5kIHdlbGwg dW5kZXINCj4+IHRoZQ0KPj4+PiAncmVkIGxpbmUnIGNhcGFjaXR5IGRlbGl2ZXJzIGdyZWF0IHJl c3VsdHMgb24gV2lGaTcgcmFkaW9zIChhbmQgc29tZQ0KPj4gV2lGaTYNCj4+Pj4gcmFkaW9zKS4g IEkgaGF2ZSBubyBkb3VidCB0aGF0IEZpV2kgY291bGQgZ2V0IG1vcmUgb2YgdGhlIHRoZW9yZXRp Y2FsDQo+Pj4+IHRocm91Z2hwdXQgZGVsaXZlcmVkIGF0IHRoZSBtYWMgbGF5ZXIuDQo+Pj4+DQo+ Pj4+IERlbGl2ZXJhYmxlcyBhcmUgYWxsIHRoYXQgbWF0dGVyIHRvIG1lIGFuZCBJIHRoaW5rIHRv IGJ1eWVycyBhbmQgdXNlcnMuDQo+Pj4+IEJlbmNobWFya3MgdGVzdCBkZWxpdmVyYWJsZXMgd2hp Y2ggaXMgZ3JlYXQgYW5kIEknbSBhIHJvdXRpbmcgaXBlcmYqDQo+PiB1c2VyLg0KPj4+PiBJdCdz IGVuZ2luZWVyaW5nJ3MgcHJvYmxlbSB0byBkZXZlbG9wIHRoZSBuZXh0IHRlY2ggKkFORCogc29s aWNpdA0KPj4gZnVuZGluZw0KPj4+PiB0byBkbyBzby4NCj4+Pj4NCj4+Pj4NCj4+Pj4NCj4+PiBf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0KPj4+IENvZGVs IG1haWxpbmcgbGlzdCAtLSBjb2RlbEBsaXN0cy5idWZmZXJibG9hdC5uZXQNCj4+PiBUbyB1bnN1 YnNjcmliZSBzZW5kIGFuIGVtYWlsIHRvIGNvZGVsLWxlYXZlQGxpc3RzLmJ1ZmZlcmJsb2F0Lm5l dA0KPj4NCj4+IC0tDQo+PiBTZW50IGZyb20gbXkgQW5kcm9pZCBkZXZpY2Ugd2l0aCBLLTkgTWFp bC4gUGxlYXNlIGV4Y3VzZSBteSBicmV2aXR5Lg0KPj4NCj4+IC0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQ0KPj4NCj4+IE1lc3NhZ2U6IDINCj4+IERhdGU6IFN1biwgMjQgTWF5IDIwMjYg MTQ6NTc6MjUgLTA3MDANCj4+IEZyb206IGJvYi5tY21haG9uQHVtYmVybmV0d29ya3MuY29tDQo+ PiBTdWJqZWN0OiBbQ2FrZV0gUmU6IFtScG1dIFJlOiBbQmxvYXRdIFJlOiAiRmktV2kgaXMgYSBu ZXcgZm9yd2FyZGluZw0KPj4gICAgICAgICBwbGFuZSBmb3Igd2lyZWxlc3MiIC0gQm9iIE1jTWFo b24NCj4+IFRvOiBGcmFudGlzZWsgQm9yc2lrIDxmcmFudGlzZWsuYm9yc2lrQGdtYWlsLmNvbT4N Cj4+IENjOiBkYW4gPGRhbmRlbnNvbkBnbWFpbC5jb20+LCBSb2JlcnQgTWNNYWhvbg0KPj4gICAg ICAgICA8cmptY21haG9uQHJqbWNtYWhvbi5jb20+LCBEYXZpZCBMYW5nIDxkYXZpZEBsYW5nLmht PiwgIkxpdmluZ29vZCwNCj4+ICAgICAgICAgSmFzb24iIDxKYXNvbl9MaXZpbmdvb2RAY29tY2Fz dC5jb20+LCBDYWtlIExpc3QNCj4+ICAgICAgICAgPGNha2VAbGlzdHMuYnVmZmVyYmxvYXQubmV0 PiwgTWFrZS1XaWZpLWZhc3QNCj4+ICAgICAgICAgPG1ha2Utd2lmaS1mYXN0QGxpc3RzLmJ1ZmZl cmJsb2F0Lm5ldD4sIGJsb2F0DQo+PiAgICAgICAgIDxibG9hdEBsaXN0cy5idWZmZXJibG9hdC5u ZXQ+LCBKZXJlbXkgQXVzdGluIHZpYSBScG0NCj4+ICAgICAgICAgPHJwbUBsaXN0cy5idWZmZXJi bG9hdC5uZXQ+LCBjb2RlbEBsaXN0cy5idWZmZXJibG9hdC5uZXQsDQo+PiAiRGF2ZS5zZWRkb24N Cj4+ICAgICAgICAgQ2EiIDxkYXZlLnNlZGRvbi5jYUBnbWFpbC5jb20+LCBXaWxsaWFtIEZpc2hl ciA8enp5enhyOTlAZ21haWwuY29tDQo+Pj4gLA0KPj4gICAgICAgICBJZ29yIEFsZWluaWtvdiA8 aWdvci5hbGVpbmlrb3ZAYWRuYWNvbS5jb20+LCBKaW0NCj4+ICAgICAgICAgPGppbUBpbmlob2xk aW5ncy5jb20+LCBKaW1sIDxqaW1sQHF1aWNrc21hcnQuY29tPiwgRG91Z2xhcw0KPj4gRmFpcmJh aXJuDQo+PiAgICAgICAgIDxkZmFpcmJhaXJuQG1lZ2FjaGlwcy5jb20+LCBUaG9tYXMgPHRob21h c0Btb25qYWxvbi5uZXQ+LCBUaW0NCj4+ICAgICAgICAgT2RyaXNjb2xsIDx0aW0ub2RyaXNjb2xs QGludGVsLmNvbT4sIE1vcnRlbiA8bW9ydGVuQGJyb2VydXAuY29tPiwNCj4+ICAgICAgICAgU2Vi YXN0aWFuIE1vZWxsZXIgPHNlYmFzdGlhbi5tb2VsbGVyQGdtYWlsLmNvbT4sIE10IERlbmljb2xv DQo+PiAgICAgICAgIDxtdC5kZW5pY29sb0BnbWFpbC5jb20+LCBNbWNtYWhvbjAxIDxtbWNtYWhv bjAxQGdtYWlsLmNvbT4sDQo+PiBTYW50YW51DQo+PiAgICAgICAgIFNpbmhhIDxzYW50YW51c2lu aGFAeWFob28uY29tPiwgTWF0dGhldyA8bWF0dGhld0BtdGVsZXkuY29tPiwNCj4+IEtvZW4gRFMN Cj4+ICAgICAgICAgPGtvZW4wNjA3QGdtYWlsLmNvbT4sIFNob3Rhcm8gU2FpdG8gPHNzYWl0b0Bt ZWdhY2hpcHMuY29tPiwgUm9iaW4NCj4+ICAgICAgICAgSmFycnkgPHJqYXJyeUByZWRoYXQuY29t PiwgRWhmIDxlaGZAZWhmLm1lPiwgRyBXaGl0ZQ0KPj4gICAgICAgICA8Zy53aGl0ZUBjYWJsZWxh YnMuY29tPiwgQ2h1bnl1aHUwNyA8Y2h1bnl1aHUwN0BnbWFpbC5jb20+LA0KPj4gTWF0dGhldw0K Pj4gICAgICAgICBGaXNjaGVyIDxtYXR0aGV3LmZpc2NoZXJAZ21haWwuY29tPg0KPj4gTWVzc2Fn ZS1JRDogPDA1NWU0MjY4NWNkZGZhNGMxYTRmZjRkYTA4OTk5NmViQHVtYmVybmV0d29ya3MuY29t Pg0KPj4gQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04OyBmb3JtYXQ9Zmxv d2VkDQo+Pg0KPj4gSGkgRnJhbmssDQo+Pg0KPj4gVGhlIHF1ZXN0aW9uIG5lZWRzIHRvIGJlIGZy YW1lZCBpbiBtZWFzdXJhYmxlIHRlcm1zLg0KPj4NCj4+IFRoZSBzeXN0ZW1zIHlvdSBuYW1lZCBv cGVyYXRlIGF0IGRpZmZlcmVudCBsYXllcnMgdGhhbiB0aGUgODAyLjExDQo+PiBNQUMvUEhZIGxh eWVyIHdoZXJlIFRYT1AgYWxsb2NhdGlvbiwgcmV0cmllcywgRURDQSBjb250ZW50aW9uLCBBTVBE VQ0KPj4gYmVoYXZpb3IsIGFuZCBhaXJ0aW1lIHV0aWxpemF0aW9uIG9jY3VyIHRocm91Z2hvdXQg dGhlIGJ1aWxkaW5nLg0KPj4gYmF0bWFuLWFkdiByb3V0ZXMgYmV0d2VlbiBtZXNoIG5vZGVzLiBD QUtFIGFuZCBGUS1Db0RlbCBvcGVyYXRlIG9uDQo+PiBJUC1sYXllciBxdWV1ZXMuIFFvRSBtaWRk bGUtYm94ZXMgb3BlcmF0ZSBmcm9tIHRoZSBXQU4vSVAgc2lkZS4NCj4+DQo+PiBTbyB0aGUgcXVl c3Rpb24gaXMgd2hldGhlciBJUC1sYXllciBBUU1zIG9yIFdBTi1zaWRlIFFvRSBzeXN0ZW1zIGFm ZmVjdA0KPj4gbWVhc3VyYWJsZSA4MDIuMTEgTUFDL1BIWSBiZWhhdmlvciB1bmRlciBsb2FkLg0K Pj4NCj4+IElmIHRoZXkgZG8sIHRoZSBwcmVkaWN0ZWQgTUFDL1BIWSBlZmZlY3RzIHdvdWxkIGlu Y2x1ZGU6DQo+Pg0KPj4gICAgICAgICAqIGxvd2VyIGZhaWxlZCBUWE9QIHBlcmNlbnRhZ2UNCj4+ ICAgICAgICAgKiBsb3dlciByZXRyYW5zbWlzc2lvbiBhaXJ0aW1lIGZyYWN0aW9uDQo+PiAgICAg ICAgICogaW1wcm92ZWQgQU1QRFUgY29tcGxldGlvbiBlZmZpY2llbmN5DQo+PiAgICAgICAgICog aGlnaGVyIHBheWxvYWQgZGVsaXZlcmVkIHBlciBUWE9QDQo+PiAgICAgICAgICogbG93ZXIgQU1Q RFUgdHJ1bmNhdGlvbiBmcmVxdWVuY3kNCj4+ICAgICAgICAgKiByZWR1Y2VkIEVEQ0Egd2FpdCBk aXN0cmlidXRpb25zDQo+PiAgICAgICAgICogaW1wcm92ZWQgYWlydGltZSB1dGlsaXphdGlvbg0K Pj4gICAgICAgICAqIHJlZHVjZWQgc2VydmljZS10aW1lIHZhcmlhbmNlDQo+PiAgICAgICAgICog Y2hhbmdlZCBNQ1MgZGlzdHJpYnV0aW9ucyBhY3Jvc3Mgc3RhdGlvbnMgdW5kZXIgcmVhbGlzdGlj DQo+PiBzcGF0aWFsDQo+PiB0b3BvbG9neSwgcGFydGljdWxhcmx5IGF0IGNvdmVyYWdlIGVkZ2Vz IGFuZCB3aGVyZSBtdWx0aXBsZSBBUHMgb3IgUlJIcw0KPj4gYXJlIGNhbmRpZGF0ZXMgZm9yIG5v ZGUgc2VsZWN0aW9uDQo+Pg0KPj4gVGhhdCBpcyB0aGUgbWVhc3VyZW1lbnQgZ2FwIEkgYW0gcG9p bnRpbmcgYXQuIFRoZSBpbmR1c3RyeSBoYXMgZXh0ZW5zaXZlDQo+PiA4MDIuMTEgZmVhdHVyZSBs aXN0cyBhbmQgbWFya2V0aW5nIGNsYWltcywgd2l0aCBjb21wYXJhdGl2ZWx5IGxpdHRsZQ0KPj4g b3BlbiB0b29saW5nIHRvIGZhbHNpZnkgd2hhdCB0aG9zZSBhY3R1YWxseSBkbyB0byBidWlsZGlu ZyB3aWRlIDgwMi4xMQ0KPj4gTUFDL1BIWSBiZWhhdmlvciB1bmRlciByZWFsIG11bHRpLWNsaWVu dCwgbXVsdGktQVAgbG9hZC4NCj4+DQo+PiBJIGRldmVsb3BlZCBhbmQgc3RpbGwgbWFpbnRhaW4g aXBlcmYyIGJlY2F1c2UgdGhyb3VnaHB1dCBhbG9uZSBoYXMNCj4+IHByb3ZlbiBhbiBpbnN1ZmZp Y2llbnQgbWVhc3VyZW1lbnQgbW9kZWwgZm9yIG5ldHdvcmsgYmVoYXZpb3IsIGUuZy4NCj4+IGxh dGVuY2llcyBhbmQgcmVzcG9uc2l2ZW5lc3MgdW5kZXIgbG9hZC4gRmVhdHVyZXMgYWRkZWQgdG8g aXBlcmYyDQo+PiBpbmNsdWRlOg0KPj4NCj4+ICAgICAgICAgKiB0cmlwLXRpbWVzDQo+PiAgICAg ICAgICogYm91bmNlYmFjayB0ZXN0aW5nDQo+PiAgICAgICAgICogb25lLXdheSBJUCBwYWNrZXQg dGltaW5nIG1lYXN1cmVtZW50cw0KPj4gICAgICAgICAqIHBhY2tldC1sZXZlbCBsYXRlbmN5IGhp c3RvZ3JhbXMNCj4+ICAgICAgICAgKiBtZXNzYWdlLWxldmVsIChUQ1Agd3JpdGUvcmVhZCBjb21w bGV0aW9uKSBsYXRlbmN5IGhpc3RvZ3JhbXMNCj4+ICAgICAgICAgKiByZXNwb25zaXZlbmVzcyB1 bmRlciBsb2FkIG1lYXN1cmVtZW50cw0KPj4gICAgICAgICAqIGVuaGFuY2VkIHBlci1pbnRlcnZh bCByZXBvcnRpbmcNCj4+ICAgICAgICAgKiBDV05EIHJlcG9ydGluZw0KPj4gICAgICAgICAqIFJU VCByZXBvcnRpbmcNCj4+ICAgICAgICAgKiBieXRlcy9wYWNrZXRzIGluLWZsaWdodCByZXBvcnRp bmcNCj4+ICAgICAgICAgKiBUQ1AgcmV0cmFuc21pc3Npb24gcmVwb3J0aW5nDQo+PiAgICAgICAg ICogVENQIGNvbmdlc3Rpb24tY29udHJvbCBzZWxlY3Rpb24gKENVQklDLCBCQlIsIFByYWd1ZSwg ZXRjLikNCj4+ICAgICAgICAgKiB1ZHAtbDRzIGluY2x1ZGluZyBDRSBjb3VudGVycyBhbmQgZHVy YXRpb25zDQo+PiAgICAgICAgICogaXNvY2hyb25vdXMgdHJhZmZpYyBnZW5lcmF0aW9uDQo+PiAg ICAgICAgICogc29ja2V0LWxheWVyIHBhY2luZyB2aWEgU09fTUFYX1BBQ0lOR19SQVRFDQo+PiAg ICAgICAgICogdG9rZW4tYnVja2V0IHdyaXRlLXJhdGUgY29udHJvbA0KPj4gICAgICAgICAqIE1h cmtvdi1jaGFpbiBwYWNrZXQtc2l6ZSBnZW5lcmF0aW9uDQo+PiAgICAgICAgICogVURQIGxhdGVu Y3kvaml0dGVyIGFuYWx5c2lzDQo+PiAgICAgICAgICogbXVsdGljYXN0IHRlc3RpbmcNCj4+DQo+ PiBUaG9zZSBtZWFzdXJlbWVudHMgb3BlcmF0ZSBhYm92ZSB0aGUgODAyLjExIE1BQy9QSFkuIFRo ZSBtaXNzaW5nIGxheWVyDQo+PiByZW1haW5zIG9wZW4gODAyLjExIE1BQy9QSFkgdGVsZW1ldHJ5 LCB3aGljaCBpcyB3aGF0IEknbSBidWlsZGluZyBub3cuDQo+Pg0KPj4gVGhpcyBtZWFzdXJlbWVu dCBzdGFuZGFyZCBzaG91bGQgYXBwbHkgZXF1YWxseSB0byBhbnkgY2xhaW0gZnJvbSBhbnkNCj4+ IGFyY2hpdGVjdHVyZSwgaW5jbHVkaW5nIEZpLVdpLg0KPj4NCj4+IFRoZSBxdWVzdGlvbiBiZWNv bWVzOiBkb2VzIGNlbnRyYWxpemVkIE1BQyB0ZWxlbWV0cnkgYW5kIGNvb3JkaW5hdGVkDQo+PiBh aXJ0aW1lIGNvbnRyb2wgYWZmZWN0IG1lYXN1cmFibGUgODAyLjExIE1BQy9QSFkgYmVoYXZpb3Ig dW5kZXIgbG9hZA0KPj4gcmVsYXRpdmUgdG8gYXV0b25vbW91cyBBUCBvcGVyYXRpb24/DQo+Pg0K Pj4gTWVhc3VyZSB0aGUgc2FtZSBNQUMvUEhZIG1ldHJpY3MgdW5kZXIgZXF1aXZhbGVudCB0b3Bv bG9neSwgb2ZmZXJlZA0KPj4gbG9hZCwgYW5kIGNsaWVudCBtaXguIElmIHRob3NlIG1lYXN1cmVt ZW50cyBkbyBub3QgaW1wcm92ZSByZWxhdGl2ZSB0bw0KPj4gYmFzZWxpbmUsIHRoZSBhcmNoaXRl Y3R1cmFsIGNsYWltIG9mIEZpLVdpIGZhaWxzLiBXZSB3b24ndCBrbm93IHVudGlsDQo+PiBGaS1X aSBpcyBkZXNpZ25lZCwgYnVpbHQsIGRlcGxveWVkIGFuZCBtZWFzdXJlZCBhdCBtYW55IGRpZmZl cmVudA0KPj4gbG9jYXRpb25zLiBUaGUgdGhlb3JldGljYWwgY2FzZSBpcyBzdHJvbmcuICBDZW50 cmFsaXplZCBzY2hlZHVsaW5nLA0KPj4gam9pbnQgb3B0aW1pemF0aW9uLCBhbmQgb2JzZXJ2YWJp bGl0eSBhbGwgYXJndWUgZm9yIGl0LiBUaGUgZGVzaWduIGFuZA0KPj4gbWVhc3VyZW1lbnRzIGFy ZSB0aGUgbmV4dCBzdGVwcy4gVGhlbiB3ZSdsbCBzZWUgYmFzZWQgb24gZXZpZGVuY2UuDQo+Pg0K Pj4gQm9iDQo+Pg0KPj4+IFRlY2huaWNhbGx5LCBCZXRhbWF4IHdhcyBzdXBlcmlvciB0byBWSFMs IGFuZCB5ZXQuLi4NCj4+Pg0KPj4+IElmIHdlIHdvdWxkIGJlIHRhbGtpbmcgYWJvdXQgRmlXaSBw cmUtanVtcCBmcm9tIFdpLUZpIDUgdG8gV2ktRmk2L0UvNywNCj4+PiBJIHdvdWxkIGV2ZW4gdHJ5 IHRvIGRvIG15IGJlc3QgYW5kIGlnbm9yZSBodHRwczovL2Zhc3Rnb29kLmNoZWFwLg0KPj4+IEJ1 dCB3ZSBhcmUgbm90IHRoZXJlLCBmb3IgYmV0dGVyIG9yIGZvciB3b3JzZS4NCj4+Pg0KPj4+IElT UHMgbGlrZSBEYW4gdGhhdCB1c2UgV2ktRmkgNiAod2l0aCBtZXNoLCBlc3BlY2lhbGx5IGJhc2Vk IG9uDQo+Pj4gYmF0bWFuLWFkdiBhbmQgRlEtQ29EZWwgLyBDQUtFKSBhbmQgYWJvdmUgYXQgY3Vz dG9tZXIgcHJlbWlzZXMgYW5kDQo+Pj4gUXVhbGl0eSBvZiBFeHBlcmllbmNlIG1pZGRsZS1ib3gg b24gdGhlaXIgbGFzdC1taWxlLCB3aGlsZSBwcm92aWRpbmcNCj4+PiBnb29kLCBwZXJzb25hbCBj dXN0b21lciBzZXJ2aWNlIChub3Qgc29tZSBjcmFwcHkgb3V0c291cmNpbmcgb2YgaXQgdG8NCj4+ PiBJbmRpYSBvciAiQUkiKSB3aWxsIGJlIGhhcmQgdG8gYmVhdCwgZXZlbiBmb3IgYSBiaWcgdGVs Y28vSVNQIG9mZmVyaW5nDQo+Pj4gY2hlYXBlciBwcmljZS4gWWVzLCBzb21lIHBlb3BsZSB3aWxs IGxlYXZlIGJ1dCB0aGUgbW9zdCBvZiB0aGVtIHdpbGwgYmUNCj4+PiBjb21pbmcgYmFjay4NCj4+ Pg0KPj4+IFRoaXMgaXMsIGJlbGlldmUgaXQgb3Igbm90LCBub3QgYSBoaWdoIGJhciB0byBqdW1w IG92ZXIsIGV2ZW4gdGhvdWdoDQo+Pj4gbm90IG1hbnkgSVNQcyBhcmUgZ2V0dGluZyBpdCBhbHJl YWR5LiBXZSBhbGwga25vdyB0aGF0IG1vcmUgb3IgbGVzczoNCj4+PiAiQmFuZHdpZHRoIGlzIGEg bGllLCBCYW5kd2lkdGggaXMgZGVhZCwiIHNvIGl0J3MgY29taW5nLiBUaGV5IHdpbGwgYmUNCj4+ PiB0aHJvd2luZyBtb3JlIGJhbmR3aWR0aCBvbiBpdCBmb3Igc29tZSB0aW1lLCBidXQgd2Ugd2ls bCBiZSBnZXR0aW5nDQo+Pj4gZnJvbSAiaW5ub3ZhdG9ycyIgdG8gImVhcmx5IGFkb3B0ZXJzIiBz b29uIGFuZCB0aGVuLCBhbGwgd2UgbmVlZCBpcw0KPj4+IGp1c3QgdGhhdCAiY3Jvc3NpbmcgdGhl IGNoYXNtLiINCj4+Pg0KPj4+IERlc3BpdGUgYWxsIHRoZSBkaWZmaWN1bHRpZXMsIGl0IHdpbGwg YmUgZmFzdGVyIGFuZCBjaGVhcGVyIC0gYWxzbw0KPj4+ICJnb29kIGVub3VnaCwiIHRoYW4gRmlX aS4gT3IgcmF0aGVyLCBpdCdzIGhlcmUgYWxyZWFkeSwgaXQncyBqdXN0IG5vdA0KPj4+IGV2ZW5s eSBkaXN0cmlidXRlZC4NCj4+PiBUaGVyZSBtaWdodCBiZSBzb21lIGdvb2QgbmljaGUgdXNlIGNh c2UgZm9yIEZpV2ksIHRob3VnaCwgb25jZSBpdCB3aWxsDQo+Pj4gbWF0dXJlIGFuZCBnZXQgdGhl cmUuDQo+Pj4NCj4+PiBBbGwgdGhlIGJlc3QsDQo+Pj4NCj4+PiBGcmFuaw0KPj4+DQo+Pj4gRnJh bnRpc2VrIChGcmFuaykgQm9yc2lrDQo+Pj4NCj4+PiBJbiBsb3ZpbmcgbWVtb3J5IG9mIERhdmUg VMOkaHQ6IDE5NjUtMjAyNQ0KPj4+DQo+Pj4gaHR0cHM6Ly9saWJyZXFvcy5pby8yMDI1LzA0LzAx L2luLWxvdmluZy1tZW1vcnktb2YtZGF2ZS8NCj4+Pg0KPj4+IGh0dHBzOi8vd3d3LmxpbmtlZGlu LmNvbS9pbi9mcmFudGlzZWtib3JzaWsNCj4+Pg0KPj4+IFNpZ25hbCwgVGVsZWdyYW0sIFdoYXRz QXBwOiArNDIxOTE5NDE2NzE0DQo+Pj4NCj4+PiBpTWVzc2FnZSwgbW9iaWxlOiArNDIwNzc1MjMw ODg1DQo+Pj4NCj4+PiBTa3lwZTogY2FzaW9hNTMwMmNhDQo+Pj4NCj4+PiBmcmFudGlzZWsuYm9y c2lrQGdtYWlsLmNvbQ0KPj4+DQo+Pj4gT24gU3VuLCBNYXkgMjQsIDIwMjYgYXQgMjoxMuKAr0FN IGRhbiA8ZGFuZGVuc29uQGdtYWlsLmNvbT4gd3JvdGU6DQo+Pj4NCj4+PiBPbiBTYXQsIE1heSAy MywgMjAyNiBhdCAxMDozNuKAr0FNIDxib2IubWNtYWhvbkB1bWJlcm5ldHdvcmtzLmNvbT4gd3Jv dGU6DQo+Pj4NCj4+Pj4gSSBkb24ndCBoYXZlIGFyZ3VtZW50cyBvbiB0aGUgdGVjaG5pY2FsIGJp dHMgb2YgeW91ciByZXBseS4NCj4+Pg0KPj4+IFRoZSBpbmR1c3RyeSBoYXNuJ3QgcHJvdmlkZWQg b3BlbiBzb3VyY2UgdG9vbHMgdG8gYW5hbHl6ZSA4MDIuMTENCj4+PiBwcm9wZXJseS4gVGhlIHBy b3ByaWV0YXJ5IG9uZXMgYXJlIHRpZ2h0bHkgY291cGxlZCB0byBjaGlwIGZpcm13YXJlLA0KPj4+ IG93bmVkIGJ5IDgwMi4xMSB2ZW5kb3JzLCBhbmQgbm90IGZvciBzYWxlLg0KPj4+DQo+Pj4gWW91 J3ZlIGJ1aWx0IHNvbGlkIG5ldHdvcmtzLCBlc3BlY2lhbGx5IGdpdmVuIGhvdyBsaXR0bGUgODAy LjExDQo+Pj4gTUFDLWxheWVyIGFuZCBNQ1Mgb2JzZXJ2YWJpbGl0eSBjdXJyZW50IHRvb2xpbmcg ZXhwb3Nlcy4gSSBob3BlIHRvIG1ha2UNCj4+PiBvcGVuIHNvdXJjZSA4MDIuMTEgTUFDIHRlbGVt ZXRyeSB0b29scyBhdmFpbGFibGUgc29vbmVyIHJhdGhlciB0aGFuDQo+Pj4gbGF0ZXIuIFRoZXNl IHdpbGwgcnVuIG9uIGJvdGggYW4gRVNQMzItQzUgYW5kIGFuIFJQaTUuIFRoZSBpbmV4cGVuc2l2 ZQ0KPj4+IEVTUDMyIGFsbG93cyBtb25pdG9ycyB0byBiZSBwbGFjZWQgdGhyb3VnaG91dCBhIHZl bnVlIGF0IGxvdyBjb3N0Lg0KPj4+DQo+Pj4gQSBrZXkgaXNzdWUgaXMgd2hhdCdzIGJlaW5nIG1l YXN1cmVkLiBZb3VyIGRlcGxveW1lbnQgZGF0YSBpcyBhDQo+Pj4gY2FwYWNpdHkgYW5hbHlzaXMu IE9uY2UgYmFzZWxpbmUgY2FwYWNpdHkgaXMgYWRlcXVhdGUsIHVzZXIgZXhwZXJpZW5jZQ0KPj4+ IGlzIGRyaXZlbiBieSB0YWlsIGxhdGVuY3kgYW5kIHNlcnZpY2UtdGltZSB2YXJpYW5jZSByYXRo ZXIgdGhhbg0KPj4+IHRocm91Z2hwdXQuIEEgbmV0d29yayBjYW4gc2F0dXJhdGUgYWdncmVnYXRl IHRocm91Z2hwdXQgd2hpbGUgc3RpbGwNCj4+PiBzaG93aW5nIGxhcmdlIHNlcnZpY2UtdGltZSB2 YXJpYW5jZSBhbmQgbG9uZyBwZXItZmxvdyB0YWlscyB1bmRlcg0KPj4+IGNvbnRlbnRpb24uIFRo ZXNlIGFyZSBkaWZmZXJlbnQgbWVhc3VyZW1lbnRzLg0KPj4+DQo+Pj4gQW5kIENPREVMIGFuZCBD QUtFIGFyZSBJUC1sYXllciBtZWNoYW5pc21zLiBUaGV5IGRvbid0IG9wZXJhdGUgb24NCj4+PiA4 MDIuMTEgVFhPUHMgb3IgYWlydGltZSBzb2pvdXJuLCB3aGljaCBpcyB3aGVyZSB0aGUgY29udGVu dGlvbiBhbmQNCj4+PiBzZXJ2aWNlLXRpbWUgdmFyaWFuY2UgYWN0dWFsbHkgbGl2ZS4gQVFMIGlz IGNsb3Nlci4gSXQgb3BlcmF0ZXMgb24NCj4+PiBhaXJ0aW1lIGF0IHRoZSBkcml2ZXIvZmlybXdh cmUgYm91bmRhcnksIGJ1dCBpdCdzIHN0aWxsIHBlci1BUC4gVGhlcmUncw0KPj4+IG5vIGNvb3Jk aW5hdGlvbiBhY3Jvc3MgQVBzIGFuZCBubyBNQUMgdGVsZW1ldHJ5IGV4cG9zZWQgdXB3YXJkLg0K Pj4+DQo+Pj4gU2xpZGUgNiBvZiBteSBEUERLIFN1bW1pdCBTdG9ja2hvbG0gdGFsayBsYXlzIG91 dCB0aGUgbGF5ZXJpbmc6DQo+Pj4gaHR0cHM6Ly93d3cudW1iZXJuZXR3b3Jrcy5jb20vRFBES19X aUZpX1N0b2NraG9sbV9QcmVzLmh0bWwNCj4+Pg0KPj4+IENoZWNrIG91dCBpcGVyZjIncyBhZHZh bmNlZCBmZWF0dXJlcyBhcm91bmQgLS1ib3VuY2ViYWNrLCAtLXRyaXAtdGltZXMsDQo+Pj4gYW5k IC0taGlzdG9ncmFtcy4gVGhlc2UgYXJlIGF2YWlsYWJsZSBhcyBvcGVuIHNvdXJjZS4gTWFuIHBh Z2U6DQo+Pj4gaHR0cHM6Ly9pcGVyZjIuc291cmNlZm9yZ2UuaW8vaXBlcmYtbWFucGFnZS5odG1s DQo+Pj4NCj4+PiBJJ2xsIHRyeSB0byByZXNwb25kIHdpdGggc29tZSBtZXRyaWNzIHNvb24uIE15 IHJpZyBpcyBkb3duIGF0IHRoZQ0KPj4+IG1vbWVudCwgc28gZ2l2ZSBtZSBhIGZldyBkYXlzLg0K Pj4+DQo+Pj4gQm9iDQo+Pj4NCj4+PiBJIGFncmVlLiAgSG93ZXZlciwgSSdtIG5vdCBhY3R1YWxs eSBqdXN0IG1lYXN1cmluZyB0aHJvdWdocHV0LCBidXQNCj4+PiBydW5uaW5nIGxhdGVuY3kgc2Vu c2l0aXZlIGFwcGxpY2F0aW9ucyB3aXRob3V0IGlzc3Vlcy4gIEZyYW5rIG1pZ2h0DQo+Pj4gYXR0 ZXN0IHRvIG15IGVmZm9ydHMgdG8gcmVkdWNlIGxhdGVuY3kgYW5kIEkgcm91dGluZWx5IHNoYXJl IGRhdGEgb24NCj4+PiBscW9zIChhbmQgYW5vdGhlciBRb0UgcHJvZHVjdCdzKSBUQ1AgbWVhc3Vy ZW1lbnRzIGZvciBsYXRlbmN5IGFuZCBhbW9uZw0KPj4+IFFvRSB1c2VycywgSSBiZWxpZXZlIG15 IG5ldHdvcmsgaXMgdG9wIDElIGluIGxhdGVuY3kgYW5kIGppdHRlciBhbmQgaW4NCj4+PiB0aGUg V0lTUCBzcGFjZS4gIE9idmlvdXNseSBJJ20gbm90IGdvaW5nIHRvIGNvbXBldGUgd2l0aCBYR1NQ T04NCj4+PiBvcGVyYXRvcnMuLiAodGhvdWdoIEknbSBvbmx5IG1lYXN1cmluZyBUQ1AgYmVjYXVz ZSB0aGF0J3MgdGhlICdlYXNpZXN0Jw0KPj4+IHRvIG1lYXN1cmUgcGFzc2l2ZWx5IHByYWN0aWNh bGx5KS4gIFdoaWxlIHRoaXMgaXMgbm90IGFuIGVuZ2luZWVyaW5nDQo+Pj4gYWRlcXVhdGUgYmVu Y2htYXJrLCBpZiBteSBWb0lQIGhhbmRzZXRzIHdvcmsgb3ZlciB3aXJlbGVzcyB0aGVuIHRoZQ0K Pj4+IHdpcmVsZXNzIGlzIGdvb2QgaXMgYSB2ZXJ5IHJlYXNvbmFibGUgbGF0ZW5jeSwgaml0dGVy LCBsb3NzIGFyZ3VtZW50Lg0KPj4+IEFuZCBJIHJ1biBhIGZldyBicmFuZHMgb2YgV2lGaSBiYXNl ZCBWb0lQIHBob25lcyAoRmFudmlsbCBXeHh4IHNlcmllcywNCj4+PiBZZWFsaW5rIFd4eCBhbmQg QVh4eCBzZXJpZXMpLiAgU2ltaWxhcmx5LCBpZiB0aGUgc29ub3Mgd29ya3MgYW5kIGlzIGluDQo+ Pj4gc3luYywgdGhlIHdpZmkgaXMgZ29vZC4NCj4+Pg0KPj4+IEFzIGEgc2VydmljZSBjb21wYW55 IGFuZCBhcyBhIHVzZXIsIEkgZG9uJ3QgcmVhbGx5IGNhcmUgc28gbXVjaCB3aGVyZQ0KPj4+IHRo ZSBnb29kbmVzcyBpcyBpbiB0aGUgc3lzdGVtLCBtYWMgbGF5ZXIgb3IgSVAgaGF2aW5nIGNha2Ug d29yayBpdCdzDQo+Pj4gbWFnaWMuICBCYXNpY2FsbHkgcnVubmluZyBhbiBBUCBvbiBPRk1EQSAo YXMgbXVjaCBhcyBwb3NzaWJsZSkgYW5kIHdlbGwNCj4+PiB1bmRlciB0aGUgJ3JlZCBsaW5lJyBj YXBhY2l0eSBkZWxpdmVycyBncmVhdCByZXN1bHRzIG9uIFdpRmk3IHJhZGlvcw0KPj4+IChhbmQg c29tZSBXaUZpNiByYWRpb3MpLiAgSSBoYXZlIG5vIGRvdWJ0IHRoYXQgRmlXaSBjb3VsZCBnZXQg bW9yZSBvZg0KPj4+IHRoZSB0aGVvcmV0aWNhbCB0aHJvdWdocHV0IGRlbGl2ZXJlZCBhdCB0aGUg bWFjIGxheWVyLg0KPj4+DQo+Pj4gRGVsaXZlcmFibGVzIGFyZSBhbGwgdGhhdCBtYXR0ZXIgdG8g bWUgYW5kIEkgdGhpbmsgdG8gYnV5ZXJzIGFuZCB1c2Vycy4NCj4+PiAgQmVuY2htYXJrcyB0ZXN0 IGRlbGl2ZXJhYmxlcyB3aGljaCBpcyBncmVhdCBhbmQgSSdtIGEgcm91dGluZyBpcGVyZioNCj4+ PiB1c2VyLiAgSXQncyBlbmdpbmVlcmluZydzIHByb2JsZW0gdG8gZGV2ZWxvcCB0aGUgbmV4dCB0 ZWNoICpBTkQqDQo+Pj4gc29saWNpdCBmdW5kaW5nIHRvIGRvIHNvLg0KPj4NCj4+IC0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPj4NCj4+IFN1YmplY3Q6IERpZ2VzdCBGb290ZXINCj4+ DQo+PiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0KPj4g Q2FrZSBtYWlsaW5nIGxpc3QgLS0gY2FrZUBsaXN0cy5idWZmZXJibG9hdC5uZXQNCj4+IFRvIHVu c3Vic2NyaWJlIHNlbmQgYW4gZW1haWwgdG8gY2FrZS1sZWF2ZUBsaXN0cy5idWZmZXJibG9hdC5u ZXQNCj4+DQo+Pg0KPj4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+Pg0KPj4gRW5k IG9mIENha2UgRGlnZXN0LCBWb2wgMTI4LCBJc3N1ZSAxMA0KPj4gKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKg0KPj4NCj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18NCj4gQ2FrZSBtYWlsaW5nIGxpc3QgLS0gY2FrZUBsaXN0cy5idWZm ZXJibG9hdC5uZXQNCj4gVG8gdW5zdWJzY3JpYmUgc2VuZCBhbiBlbWFpbCB0byBjYWtlLWxlYXZl QGxpc3RzLmJ1ZmZlcmJsb2F0Lm5ldA==