[qt/clang/llvm-project]: Summary of bulk changes made
KDE Git Services - Bulk Change <[email protected]> Wed, 5 Aug 2026 00:14:46 +0000 (UTC)
| Newsgroups | gmane.comp.kde.cvs |
|---|---|
| Message-ID | <[email protected]> |
R2l0IHJlcG9zaXRvcnkgY2hhbmdlIHN1bW1hcnkgZm9yIHF0L2NsYW5nL2xsdm0tcHJvamVjdApQ dXNoZWQgYnkgbWlycm9yLXNlcnZpY2UgaW50byBicmFuY2ggJ3Vwc3RyZWFtL3VzZXJzL21pY2hh bHBhc3prb3dza2kvcGlzYV9iYWNrZW5kX3Vwc3RyZWFtaW5nXzEnLgpDaGFuZ2VkIGZyb20gMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCB0byBmYzJmNDE3NjY0NGM0MmQz YzA0ZDFiYzMzNDdlNjI5ZWE3ZjFlZmJjCkFja25vd2xlZGdlbWVudCB3YXMgcmVjZWl2ZWQgdGhh dCB0aGlzIGNoYW5nZSBpbnRyb2R1Y2VzIG9ubHkgZXhpc3RpbmcgY29kZSB0aGF0IGhhcyBiZWVu IHB1c2hlZCB0byBhbm90aGVyIHB1YmxpYyBvcGVuIHNvdXJjZSByZXBvc2l0b3J5LgoKVGhpcyBj aGFuZ2UgY29udGFpbnMgdGhlIGZvbGxvd2luZyBuZXcgY29tbWl0czoKCkdpdCBjb21taXQgNzYw OWNiODNiZjVmYzVjMjVlMjg3NzcwZGIyNzdkYmIzNGU2NzRiOCBieSBHaXRIdWIgKG9uIGJlaGFs ZiBvZiBGaW5uIFBsdW1tZXIpIG9uIDA0LzA4LzIwMjYgYXQgMTc6MzMuLgpbRGlyZWN0WF0gUHJl dmVudCBgZHhpbC1yZXNvdXJjZS1hY2Nlc3NgIGZyb20gaW5zZXJ0aW5nIGEgcmVzb3VyY2UgYWNj ZXNzIGluLWJldHdlZW4gcGhpIG5vZGVzICgjMjExMzQzKQoKVGhlIHBhc3MgY2FuIGluY29ycmVj dGx5IHBsYWNlIGEgbG9hZC9zdG9yZSB3aXRoaW4gdGhlIHBoaSBub2RlcyBhdCB0b3AKb2YgdGhl IGJhc2ljIGJsb2NrOiBodHRwczovL2dvZGJvbHQub3JnL3oveDVFYzRHV0dUCgpUaGlzIGlzIHJl c29sdmVkIGJ5IHVwZGF0aW5nIGByZXBsYWNlSGFuZGxlV2l0aEluZGljZXNgIHRvIGFkanVzdCB0 aGUKaW5zZXJ0aW9uIHBvaW50IHdoZW4gdGhlIHB0ciBjb21lcyBmcm9tIGEgcGhpIG5vZGUuCgpS ZXNvbHZlcywgaW4gcGFydCwgaHR0cHM6Ly9naXRodWIuY29tL2xsdm0vbGx2bS1wcm9qZWN0L2lz c3Vlcy8yMTExMjEKCkFzc2lzdGVkIGJ5OiBDbGF1ZGUgT3B1cyA0LjgKaHR0cHM6Ly9pbnZlbnQu a2RlLm9yZy9xdC9jbGFuZy9sbHZtLXByb2plY3QvLS9jb21taXQvNzYwOWNiODNiZjVmYzVjMjVl Mjg3NzcwZGIyNzdkYmIzNGU2NzRiOAoKR2l0IGNvbW1pdCA1MzgyZjdkNjRmZjU5ZDE5ODA5MWZm ZDI2M2Q3YWRlY2Y1ZDdkZDVhIGJ5IEdpdEh1YiAob24gYmVoYWxmIG9mIEJlbmphbWluIE1heHdl bGwpIG9uIDA0LzA4LzIwMjYgYXQgMTc6NDguLgpbQ29zdE1vZGVsXVtBQXJjaDY0XSBBZGQgaW5p dGlhbCBjb3N0cyBmb3IgYG1hc2tlZC5jb21wcmVzc3N0b3JlYCAoIzIxMzcxMikKClRoaXMgYWRk cyBhbiBpbml0aWFsIGNvc3QgbW9kZWwgZm9yIGBtYXNrZWQuY29tcHJlc3NzdG9yZWAuIFRoZSB0 ZXN0cwphcmUgYmFzZWQgb24gYG1hc2tlZF9leHBhbmRfbG9hZC5sbGAsIHdoaWNoIGNvdmVycyBh bGwgY29uZmlndXJhdGlvbnMKZm9yIHRoZSBgZXhwYW5kYC9gY29tcGFjdGAgaW5zdHJ1Y3Rpb25z LgoKTm90ZTogUmlnaHQgbm93LCB3ZSBvbmx5IHJlcG9ydCB2YWxpZCBjb3N0cyBmb3IgYG1hc2tl ZC5jb21wcmVzc3N0b3JlYApvcGVyYXRpb25zIHRoYXQgY2FuIGJlIGxvd2VyZWQgd2l0aCBTVkUx IChhcyB0aGF0J3MgYWxsIHdlIGhhbmRsZSBJU0VMCmZvciBhdCB0aGUgbW9tZW50KS4KaHR0cHM6 Ly9pbnZlbnQua2RlLm9yZy9xdC9jbGFuZy9sbHZtLXByb2plY3QvLS9jb21taXQvNTM4MmY3ZDY0 ZmY1OWQxOTgwOTFmZmQyNjNkN2FkZWNmNWQ3ZGQ1YQoKR2l0IGNvbW1pdCBhZjE0NDU2YTJiYWM1 NTAyNmIyZDU3Y2JmMTRiMzkwNWM0NTJiOGE0IGJ5IEdpdEh1YiAob24gYmVoYWxmIG9mIGFyc255 ZGVyMTYpIG9uIDA0LzA4LzIwMjYgYXQgMTc6NTIuLgpbT3Blbk1QXSBTaW1wbGlmeSBnZW5lcmlj IG1pY3JvdGFzayBkaXNwYXRjaCAoIzIxNDAwNCkKClJlcGxhY2UgdGhlIGdlbmVyaWMgbWljcm90 YXNrIGRpc3BhdGNoZXIncyBoYW5kd3JpdHRlbiBmdW5jdGlvbi1wb2ludGVyCnR5cGVzIGFuZCBj YWxscyB3aXRoIGEgdmFyaWFkaWMtdGVtcGxhdGUgaGVscGVyIGFuZCBhIG1hY3JvIGZvciBlYWNo CnN1cHBvcnRlZCBhcmd1bWVudCBjb3VudC4KClRoZSBkaXNwYXRjaGVyIHN0aWxsIGNhc3RzIGVh Y2ggbWljcm90YXNrIHRvIHRoZSBleGFjdCBmaXhlZC1hcml0eQpzaWduYXR1cmUgcmVxdWlyZWQg YnkgcGxhdGZvcm1zIHN1Y2ggYXMgV2ViQXNzZW1ibHkuIFRoaXMgaXMgaW50ZW5kZWQgYXMKYSBy ZWZhY3RvciBvbmx5OiB0aGUgZXhpc3RpbmcgbGltaXQgb2YgMTUgbWljcm90YXNrIGFyZ3VtZW50 cyBhbmQgdGhlCmRpYWdub3N0aWMgZm9yIGxhcmdlciBhcmd1bWVudCBjb3VudHMgcmVtYWluIHVu Y2hhbmdlZC4KClRoaXMgcmVkdWNlcyB0aGUgcmVwZXRpdGl2ZSBjb2RlIGFuZCBtYWtlcyBmdXR1 cmUgY2hhbmdlcyB0byB0aGUKc3VwcG9ydGVkIGFyZ3VtZW50IHJhbmdlIGVhc2llciB0byByZXZp ZXcuCgpTcGxpdCBvdXQgZnJvbSAjMjExMDcxCmh0dHBzOi8vaW52ZW50LmtkZS5vcmcvcXQvY2xh bmcvbGx2bS1wcm9qZWN0Ly0vY29tbWl0L2FmMTQ0NTZhMmJhYzU1MDI2YjJkNTdjYmYxNGIzOTA1 YzQ1MmI4YTQKCkdpdCBjb21taXQgMmEyYWRkZTM1OTM3NjY3ZGQ5M2RjNTU5NGFjNWQ1Mjg0MmUx MTZkMiBieSBHaXRIdWIgKG9uIGJlaGFsZiBvZiBDaGlubWF5IERlc2hwYW5kZSkgb24gMDQvMDgv MjAyNiBhdCAxNzo1Ni4uCltBTURHUFVdW0dJU2VsXSBBZGQgUmVnQmFua0xlZ2FsaXplIHJ1bGVz IGZvciBsbHZtLmFtZGdjbi5mZG90Mi5iZjE2LmJmMTYgKCMyMTQwMTMpCmh0dHBzOi8vaW52ZW50 LmtkZS5vcmcvcXQvY2xhbmcvbGx2bS1wcm9qZWN0Ly0vY29tbWl0LzJhMmFkZGUzNTkzNzY2N2Rk OTNkYzU1OTRhYzVkNTI4NDJlMTE2ZDIKCkdpdCBjb21taXQgNTAwOTYyMjk4ZDYyNGE3NGFkZTU4 YzJhZWI2NTMxM2ZiMzJkZGE1YSBieSBHaXRIdWIgKG9uIGJlaGFsZiBvZiBBbGV4ZXkgQmF0YWV2 KSBvbiAwNC8wOC8yMDI2IGF0IDE3OjU3Li4KW0luc3RDb21iaW5lXUZvbGQgZmNtcCtzZWxlY3Qg dG8gbWluL21heCBpZiBpdHMgemVybyBzaWduIGlzIG1pc3NpbmcKCkxvb2sgdGhyb3VnaCBwaGlz LCBjaGFpbmVkIHNlbGVjdHMgYW5kIHRoZSBsb29wIGJhY2sgZWRnZSB0byB0aGUKc2VsZWN0IGl0 c2VsZiBhbmQgZm9sZCBpZiBubyB1c2UgY2FuIG9ic2VydmUgdGhlIHNpZ24gb2YgemVybyBvZiB0 aGUKcmVzdWx0LiBUaGlzIHJlc3RvcmVzIHRoZSBmb2xkIGZvciBsb29wLWNhcnJpZWQgYW5kIHVu cm9sbGVkIHJ1bm5pbmcKbWluL21heCB2YWx1ZXMgKGZjc2VsIC0+IGZtaW5ubSBvbiBBQXJjaDY0 KSBsb3N0IHRvIHRoZSBzaWduZWQgemVybwpoYW5kbGluZyBmaXggaW4gbWF0Y2hTZWxlY3RQYXR0 ZXJuICgjMjEwMDc3KS4KClJldmlld2VyczogbmlraWMsIGR0Y3h6eXcKClB1bGwgUmVxdWVzdDog aHR0cHM6Ly9naXRodWIuY29tL2xsdm0vbGx2bS1wcm9qZWN0L3B1bGwvMjEzMTMzCmh0dHBzOi8v aW52ZW50LmtkZS5vcmcvcXQvY2xhbmcvbGx2bS1wcm9qZWN0Ly0vY29tbWl0LzUwMDk2MjI5OGQ2 MjRhNzRhZGU1OGMyYWViNjUzMTNmYjMyZGRhNWEKCkdpdCBjb21taXQgNzBlY2M1YmI2MjE4N2Nh NzBlNmZlNGU1NjNkYmQ2MGY4OGMyZTdhMCBieSBHaXRIdWIgKG9uIGJlaGFsZiBvZiBUaW11ciBH b2x1Ym92aWNoKSBvbiAwNC8wOC8yMDI2IGF0IDE3OjU4Li4KUmV2ZXJ0ICJbR2xvYmFsSVNlbF0g Q29tYmluZSBtZXJnZS11bm1lcmdlIHdpdGggbWl4ZWQgc2NhbGFyIGFuZCB2ZWN0b3IgdHlwZXMi ICgjMjE0MDEwKQoKUmV2ZXJ0cyBsbHZtL2xsdm0tcHJvamVjdCMyMTMwODYKaHR0cHM6Ly9pbnZl bnQua2RlLm9yZy9xdC9jbGFuZy9sbHZtLXByb2plY3QvLS9jb21taXQvNzBlY2M1YmI2MjE4N2Nh NzBlNmZlNGU1NjNkYmQ2MGY4OGMyZTdhMAoKR2l0IGNvbW1pdCA2MzI2ZjE0Y2RjMTJiYWJmZGM0 MzU5ZjVkZGQ0ZGZjZDY2YjUzZjMzIGJ5IEdpdEh1YiAob24gYmVoYWxmIG9mIEFkYW0gU21pdGgp IG9uIDA0LzA4LzIwMjYgYXQgMTg6MDMuLgpbQ0lSXSBMb3dlciB2YXJpYWRpYyBjYWxscyBpbiBD YWxsQ29udkxvd2VyaW5nIGZvciB4ODZfNjQgKCMyMTMzMTUpCgpDYWxsQ29udkxvd2VyaW5nIGNs YXNzaWZpZWQgZWFjaCBmdW5jdGlvbiBvbmNlIGZyb20gaXRzIGRlY2xhcmVkCnNpZ25hdHVyZSBh bmQgcmV1c2VkIHRoYXQgY2xhc3NpZmljYXRpb24gYXQgZXZlcnkgY2FsbCBzaXRlLiBBbiBhcmd1 bWVudApwYXNzZWQgdGhyb3VnaCBhbiBlbGxpcHNpcyBoYXMgbm8gZW50cnkgaW4gdGhlIGNhbGxl ZSdzIHBhcmFtZXRlciBsaXN0LApzbyBvbiB4ODZfNjQgYW4gZWxsaXBzaXMgYXJndW1lbnQgdGhh dCBuZWVkZWQgYW4gZXh0ZW5zaW9uIGF0dHJpYnV0ZSwgYQpyZWdpc3RlciBjb2VyY2lvbiwgb3Ig YSBieXZhbCBzbG90IHdhcyBlbWl0dGVkIHVuY2hhbmdlZCB3aGVuZXZlciB0aGUKY2FsbGVlJ3Mg ZGVjbGFyZWQgcGFyYW1ldGVycyBoYXBwZW5lZCB0byBuZWVkIG5vIHJld3JpdGUsIGFuZCByZXBv cnRlZApOWUkgd2hlbiB0aGV5IGRpZC4KCkFuIGVsbGlwc2lzIGFyZ3VtZW50IGNvbXBldGVzIGZv ciB0aGUgc2FtZSByZWdpc3RlcnMgYXMgYSBkZWNsYXJlZCBvbmUsCnNvIHRoZSBzYW1lIHR3by1l aWdodGJ5dGUgcmVjb3JkIGdvZXMgaW4gYSByZWdpc3RlciBwYWlyIGVhcmx5IGluIHRoZQpsaXN0 IGFuZCBieXZhbCBvbmNlIHRoZSBpbnRlZ2VyIHJlZ2lzdGVycyBhcmUgZ29uZS4gVmFyaWFkaWMg Y2FsbCBzaXRlcwp1bmRlciB0aGUgeDg2XzY0IGRyaXZlciBhcmUgbm93IGNsYXNzaWZpZWQgZnJv bSB0aGUgY2FsbCdzIG93biBvcGVyYW5kCnR5cGVzLCBhbmQgdGhlIGRlY2xhcmVkIHBhcmFtZXRl ciBjb3VudCByZWFjaGVzCmBsbHZtOjphYmk6OkZ1bmN0aW9uSW5mbzo6Y3JlYXRlYCBhcyBpdHMg YE51bVJlcXVpcmVkYCBhcmd1bWVudCwgd2hpY2gKaXMgd2hhdCBsZXRzIHRoZSBjbGFzc2lmaWVy IHRlbGwgYSBuYW1lZCBhcmd1bWVudCBmcm9tIG9uZSBwYXNzZWQKdGhyb3VnaCB0aGUgZWxsaXBz aXMuIFRvZGF5IHRoYXQgZmxhZyBvbmx5IGRlY2lkZXMgd2hldGhlciBhIGxhcmdlCnZlY3RvciBn b2VzIGluIGEgcmVnaXN0ZXIsIGFuZCB0aGUgQ0lSIHR5cGUgYnJpZGdlIGFkbWl0cyBubyB2ZWN0 b3IKdHlwZXMsIHNvIHRoZSBib3VuZGFyeSBjaGFuZ2VzIG5vIG91dHB1dCB5ZXQuCgpgcHJlcGVu ZEluZGlyZWN0Q2FsbGVlYCBhbHNvIHJlYnVpbHQgdGhlIGNhbGxlZSBwb2ludGVyJ3MgcG9pbnRl ZQp3aXRob3V0IGBpc1ZhckFyZ2AsIGRyb3BwaW5nIHRoZSBlbGxpcHNpcyBmcm9tIGEgbG93ZXJl ZCBpbmRpcmVjdCBjYWxsCmFuZCB3aXRoIGl0IHRoZSB2ZWN0b3ItcmVnaXN0ZXIgY291bnQgdGhl IHg4Nl82NCBTeXNWIEFCSSBwYXNzZXMgaW4gQUwuCkEgdm9pZCByZXR1cm4gYW5kIGEgcmV0dXJu IHRoZSBBQkkgZHJvcHMsIHN1Y2ggYXMgYW4gZW1wdHkgcmVjb3JkLCBib3RoCmNsYXNzaWZ5IGFz IGBJZ25vcmVgIHdoaWxlIG5lZWRpbmcgb3Bwb3NpdGUgdHJlYXRtZW50LCBzbwpgRnVuY3Rpb25D bGFzc2lmaWNhdGlvbmAgbm93IHJlY29yZHMgd2hpY2ggb25lIGl0IHdhcyB3aGVyZSB0aGUKY2xh c3NpZmljYXRpb24gaXMgcHJvZHVjZWQuIGBuZWVkc1Jld3JpdGVgIG1vdmVzIGZyb20gdGhlIENJ UiByZXdyaXRlcgp0byBgbWxpci9pbmNsdWRlL21saXIvQUJJL0FCSVJld3JpdGVDb250ZXh0Lmhg LCBvdmVyIGEgbmV3IHBlci1hcmd1bWVudApgaXNQYXNzVGhyb3VnaGAsIHNvIHRoZSBwYXNzIGFu ZCB0aGUgcmV3cml0ZXIgc2hhcmUgb25lIGRlZmluaXRpb24uCgpUd28gdGhpbmdzIGFyZSBuZXds eSBkaWFnbm9zZWQgcmF0aGVyIHRoYW4gbmV3bHkgYnJva2VuLiBUaGUKb3BlcmFuZC1jb3VudCBj aGVjayBtb3ZlcyBhaGVhZCBvZiB0aGUgcGFzcy10aHJvdWdoIGVhcmx5IHJldHVybiwgc28gYQpj YWxsIHdob3NlIG9wZXJhbmQgY291bnQgZGlzYWdyZWVzIHdpdGggYSBgbm9fcHJvdG9gIGNhbGxl ZSdzCmRlY2xhcmF0aW9uIGlzIHJlcG9ydGVkIGluc3RlYWQgb2YgbG93ZXJlZCB3aXRoIG9wZXJh bmRzIHRoZQpjbGFzc2lmaWNhdGlvbiBuZXZlciBjb3ZlcmVkLiBBbmQgdGhlIGluZGlyZWN0LWNh bGwgd2FsayB2aXNpdHMKYGNpcjo6Q0lSQ2FsbE9wSW50ZXJmYWNlYCByYXRoZXIgdGhhbiBvbmx5 IGBjaXIuY2FsbGAsIHNvIGEgdmFyaWFkaWMKaW5kaXJlY3QgYGNpci50cnlfY2FsbGAgaXMgYWNj b3VudGVkIGZvciwgYW5kIG9uZSB0aGF0IG5lZWRzIGEgcmV3cml0ZQppcyByZXBvcnRlZCBpbnN0 ZWFkIG9mIGxlZnQgYXMgd3JpdHRlbiB3aGlsZSB0aGUgc2lnbmF0dXJlIGFyb3VuZCBpdCBpcwpj b2VyY2VkLiBBIG5vbi12YXJpYWRpYyBpbmRpcmVjdCBgY2lyLnRyeV9jYWxsYCBpcyBmaWx0ZXJl ZCBvdXQgd2hlcmUKdGhlIHdhbGsgY29sbGVjdHMsIHNpbmNlIHJld3JpdGluZyBvbmUgaXMgdW5p bXBsZW1lbnRlZCBlaXRoZXIgd2F5IGFuZAp0aGF0IGdhcCBoYXMgbm90aGluZyB0byBkbyB3aXRo IHRoZSBlbGxpcHNpcy4gUmVwb3J0ZWQgTllJOiB2YXJpYWRpYwppbmRpcmVjdCBjYWxscyB0aGF0 IG5lZWQgYSByZXdyaXRlLCB2YXJpYWRpYyBjYWxscyB1bmRlciB0aGUgb3RoZXIKZHJpdmVycywg YW5kIGFuIGVsbGlwc2lzIGFyZ3VtZW50IHdob3NlIEFCSSBjb2VyY2lvbiB0aGUgdHlwZSBicmlk Z2UKY2Fubm90IHJlcHJlc2VudC4KaHR0cHM6Ly9pbnZlbnQua2RlLm9yZy9xdC9jbGFuZy9sbHZt LXByb2plY3QvLS9jb21taXQvNjMyNmYxNGNkYzEyYmFiZmRjNDM1OWY1ZGRkNGRmY2Q2NmI1M2Yz MwoKR2l0IGNvbW1pdCBjOWYyYmEyMjg0OWU1MGRmMTI3N2RiODIyNWE2NDEwYmE5ZGRjYjVlIGJ5 IEdpdEh1YiAob24gYmVoYWxmIG9mIFNhbSBFbGxpb3R0KSBvbiAwNC8wOC8yMDI2IGF0IDE4OjA5 Li4KW1JJU0NWXSBGaXggWHFjaSBGdXNpb25zIHdpdGggRnJhbWUgSW5kZXhlcyAoIzIxMzgxNSkK ClByZS1SQSwgdGhlIEFEREkgY2FuIGNvbnRhaW4gYSBmcmFtZSBpbmRleCByYXRoZXIgdGhhbiBh IHJlZ2lzdGVyLCB3aGljaApjYXVzZXMgYGdldFJlZygpYCB0byBhc3NlcnQuIFRoZXNlIHdlcmUg bWlzc2luZyB0aGUgYENoZWNrSXNSZWdPcGVyYW5kYAp0aGF0IG1vc3Qgb3RoZXIgZnVzaW9ucyBo YXZlLgpodHRwczovL2ludmVudC5rZGUub3JnL3F0L2NsYW5nL2xsdm0tcHJvamVjdC8tL2NvbW1p dC9jOWYyYmEyMjg0OWU1MGRmMTI3N2RiODIyNWE2NDEwYmE5ZGRjYjVlCgpHaXQgY29tbWl0IGNh ZmQzNmJmY2U2NzY4MjE5M2MzZDVkYTU5MWIwNTFhNDYwZTUwZjYgYnkgR2l0SHViIChvbiBiZWhh bGYgb2YgRXJpY2ggS2VhbmUpIG9uIDA0LzA4LzIwMjYgYXQgMTg6MTEuLgpbTkZDXVtDSVJdIFBy b3BhZ2F0ZSBTeW1ib2xUYWJsZXMgYmV0dGVyICgjMjEzOTcyKQoKVGhpcyBjYW1lIHVwIGR1cmlu ZyBzZWxmLWJ1aWxkLCB3ZSBhcmUgc3BlbmRpbmcgYSBsb3Qgb2YgdGltZSBpbiBzb21lCmNhc2Vz IGxvb2tpbmcgdXAgdXNpbmcgdGhlIGdsb2JhbCBzeW1ib2wgdGFibGUsIHdoaWNoIGRvZXMgbm8g Y2FjaGluZy4KUHJldmlvdXNseSB3ZSdkIHByb3BhZ2F0ZWQgdGhpcyBpbiBhIGZldyBwbGFjZXMs IGJ1dCB0aGlzIHBhdGNoIHJlbW92ZXMKYWxsIHVzZXMgb2YgU3ltYm9sVGFibGU6Omxvb2t1cCBh bmQgYWRkcyB0aGUgY2FjaGUgZXZlcnl3aGVyZS4KClRoaXMgaW52b2x2ZWQgY2hhbmdpbmcgdGhl IHRhYmxlZ2VuIHRvIGluY2x1ZGUgaXQgaW4gZWFjaCBvZiBvdXIKcmV3cml0ZXJzLCBwbHVzIHRo ZSBDaXJBdHRyIGxvd2VyaW5nIGV2ZXJ5d2hlcmUuCgpUaGUgb25seSB0aGluZyB3ZSBoYXZlIHRv IHRha2UgY2FyZSBvZiBpcyB0byBtYWtlIHN1cmUgd2UgaW52YWxpZGF0ZSB0aGUKY2FjaGUvdXBk YXRlIHRoZSBjYWNoZSB3aGVuZXZlciB3ZSBhZGQgc29tZXRoaW5nIHdpdGggYSBuYW1lIChzZWUK Y3JlYXRlTExWTUZ1bmNPcElmTm90RXhpc3QpLgoKVGhpcyBpcyBORkMsIGFzIGl0IGlzbid0IG9i c2VydmFibGUsIG90aGVyIHRoYW4gYmVpbmcgYSBidWlsZCB0aW1lCmltcHJvdmVtZW50LgpodHRw czovL2ludmVudC5rZGUub3JnL3F0L2NsYW5nL2xsdm0tcHJvamVjdC8tL2NvbW1pdC9jYWZkMzZi ZmNlNjc2ODIxOTNjM2Q1ZGE1OTFiMDUxYTQ2MGU1MGY2CgpHaXQgY29tbWl0IDFmNjlhMTYyODk0 NzhjOWE3YjJjZGE1ZGY0Y2QxNmQ2NjA5ZWIyYzIgYnkgR2l0SHViIChvbiBiZWhhbGYgb2YgU2lt b24gUGlsZ3JpbSkgb24gMDQvMDgvMjAyNiBhdCAxODoxNS4uCltDb3N0TW9kZWxdW1g4Nl0gZ2V0 QXJpdGhtZXRpY1JlZHVjdGlvbkNvc3QgLSBlbnN1cmUgd2UgdGVzdCB0aGUgdlhpMSByZWR1Y3Rp b25zIHR5cGVzIGJlZm9yZSBsZWdhbGlzYXRpb24gKCMyMTEwNDMpCgpQcmUtQVZYNTEyIHRoZXNl IHdpbGwgYmUgbGVnYWxpemVkIHRvIHdpZGVyIHZlY3RvciB0eXBlcyBhbmQgbWlnaHQgbWF0Y2gK YWdhaW5zdCBvdGhlciByZWR1Y3Rpb25zIHRhYmxlcy4KCk5vdGljZWQgd2hpbGUgd29ya2luZyBv biBpbXByb3ZpbmcgbG9naWMgcmVkdWN0aW9ucywgYnV0IGhpdCBhIGNhc2UKd2l0aC93aXRob3V0 IHBvcGNudCBmb3IgYm9vbCBzdW0gcmVkdWN0aW9uIHBhdHRlcm5zIC0gSSd2ZSBhZGRlZCBhIEFW WDIKdGVzdCBwYXNzIHRvIGNoZWNrIHRoZSAoY29ycmVjdGVkKSBjb3N0cyBhcmUgc3RpbGwgd29y a2luZwpodHRwczovL2ludmVudC5rZGUub3JnL3F0L2NsYW5nL2xsdm0tcHJvamVjdC8tL2NvbW1p dC8xZjY5YTE2Mjg5NDc4YzlhN2IyY2RhNWRmNGNkMTZkNjYwOWViMmMyCgpHaXQgY29tbWl0IDA4 YTg3MzlhYzg5YTI3YzdkYmQwMzQ5MjY2NjExY2E5NDg2NmFlMmYgYnkgR2l0SHViIChvbiBiZWhh bGYgb2YgTmVyaXh5eikgb24gMDQvMDgvMjAyNiBhdCAxODoxNi4uCltsbGRiXVtQeXRob25dIElu bGluZSBgbGxkYl9pdGVyYCBmb3IgYmV0dGVyIHR5cGUgaW5mZXJlbmNlICgjMjE0MDAwKQoKQ3Vy cmVudGx5LCB0aGUgYGxsZGJfaXRlcmAgaGVscGVyIGlzIHVzZWQgZm9yIHByb3ZpZGluZyBgX19p dGVyX19gIGluCnRoZSBQeXRob24gYmluZGluZ3M6CmBgYHB5dGhvbgpkZWYgbGxkYl9pdGVyKG9i aiwgZ2V0c2l6ZSwgZ2V0ZWxlbSk6CiAgICAiIiJBIGdlbmVyYXRvciBhZGFwdG9yIHRvIHN1cHBv cnQgaXRlcmF0aW9uIGZvciBsbGRiIGNvbnRhaW5lciBvYmplY3RzLiIiIgogICAgc2l6ZSA9IGdl dGF0dHIob2JqLCBnZXRzaXplKQogICAgZWxlbSA9IGdldGF0dHIob2JqLCBnZXRlbGVtKQogICAg Zm9yIGkgaW4gcmFuZ2Uoc2l6ZSgpKToKICAgICAgICB5aWVsZCBlbGVtKGkpCmBgYAoKQSB0eXBl IGNoZWNrZXIgb3IgTFNQIGNhbid0IHNlZSB0aHJvdWdoIHRoaXMgZnVuY3Rpb24uIEN1cnJlbnRs eSwgdGhhdCdzCm5vIHByb2JsZW0sIGJlY2F1c2UgaXQgZG9lc24ndCBrbm93IHRoZSByZXR1cm4g dHlwZSBvZiBhbnkgU3dpZyB3cmFwcGVyLApidXQgd2hlbiB3ZSBhZGQgdHlwZSBhbm5vdGF0aW9u cyAoaG9wZWZ1bGx5IHdpdGggU3dpZyA0LjUgaW4gIzIxMzQ2MyksCmBfX2l0ZXJfX2AgcmVtYWlu cyB1bnR5cGVkLiBTbyBpdGVyYXRpbmcgdGhyb3VnaCB0aGUgd3JhcHBlcnMgd29uJ3Qgc2hvdwp0 aGUgY29ycmVjdCB0eXBlLgoKQXMgdGhlIGZ1bmN0aW9uYWxpdHkgaXMgZmFpcmx5IHNpbXBsZSwg aXQncyBlYXNpZXIgdG8gaW5saW5lIGl0LiBUaGF0J3MKd2hhdCB0aGlzIFBSIGRvZXMuIFRoZW4g YSB0eXBlIGNoZWNrZXIgY2FuIGluZmVyIHRoZSByZXR1cm4gdHlwZS4KaHR0cHM6Ly9pbnZlbnQu a2RlLm9yZy9xdC9jbGFuZy9sbHZtLXByb2plY3QvLS9jb21taXQvMDhhODczOWFjODlhMjdjN2Ri ZDAzNDkyNjY2MTFjYTk0ODY2YWUyZgoKR2l0IGNvbW1pdCBhYjRmMjEwYTMxMjdlM2JhMTc3Mzgx ODkxMTk0MTQ0ZjkyNzk4YmE2IGJ5IEdpdEh1YiAob24gYmVoYWxmIG9mIE1hdHQgQXJzZW5hdWx0 KSBvbiAwNC8wOC8yMDI2IGF0IDE4OjE3Li4KY2xhbmc6IFJlcGxhY2UgSXMqT2ZmbG9hZEFyY2gg ZnJlZSBmdW5jdGlvbnMgd2l0aCBPZmZsb2FkQXJjaCBtZXRob2RzICgjMjEzMzYzKQpodHRwczov L2ludmVudC5rZGUub3JnL3F0L2NsYW5nL2xsdm0tcHJvamVjdC8tL2NvbW1pdC9hYjRmMjEwYTMx MjdlM2JhMTc3MzgxODkxMTk0MTQ0ZjkyNzk4YmE2CgpHaXQgY29tbWl0IGE5YTZlZGI1OTM1Yzlm NDJjNTkyODM2NjEyMzU2YmVhNTZlM2MwOGIgYnkgR2l0SHViIChvbiBiZWhhbGYgb2YgQWxleGV5 IEJhdGFldikgb24gMDQvMDgvMjAyNiBhdCAxODoxOC4uCltTTFBdVmVjdG9yaXplIHNpbmdsZS11 c2VyIGluc3RydWN0aW9ucyBhcyB0aGUgbGFzdC1hdHRlbXB0IHNlZWRzCgpJbnN0cnVjdGlvbnMg d2l0aCB0aGUgc2luZ2xlIHVzZXIgY29zdCBvbmUgZXh0cmFjdCBwZXIgbGFuZSwgc28gdGhleSBh cmUKdmVjdG9yaXplZCBhZnRlciBhbGwgb3RoZXIgcm9vdHMgaW4gdGhlIGZ1bmN0aW9uIGFyZSBl eGhhdXN0ZWQsIGdyb3VwZWQgYnkKdGhlIGtleS9zdWJrZXkgcGFpcnMuIExvYWRzLCBhZGRyZXNz ZXMsIGNvbXBhcmVzIGFuZCB0aGUgb3BlcmF0aW9ucywgZm9sZGVkCmF3YXkgb3IgY29udHJhY3Rl ZCBpbnRvIHRoZSBzY2FsYXIgRk1BLCBhcmUgZXhjbHVkZWQuIFRoZSByZWplY3RlZCBidW5kbGVz CmFuZCB0aGUgbWVtYmVycyBvZiB0aGUgcHJpY2VkIG1pbmltYWwgbm9kZXMgYXJlIG5vdCByZXRy aWVkLCB1bmxlc3MgdGhlCnRyZWUgd2FzIGRyb3BwZWQgYnkgdGhlIHJlcGFja2luZyBvdmVyaGVh ZCByYXRoZXIgdGhhbiBieSB0aGUgbWVtYmVycy4KClJldmlld2VyczogaGlyYWRpdHlhLCBSS1Np bW9uLCBiYWJhYnVjawoKUHVsbCBSZXF1ZXN0OiBodHRwczovL2dpdGh1Yi5jb20vbGx2bS9sbHZt LXByb2plY3QvcHVsbC8yMTI1NzkKaHR0cHM6Ly9pbnZlbnQua2RlLm9yZy9xdC9jbGFuZy9sbHZt LXByb2plY3QvLS9jb21taXQvYTlhNmVkYjU5MzVjOWY0MmM1OTI4MzY2MTIzNTZiZWE1NmUzYzA4 YgoKR2l0IGNvbW1pdCA0MDJjOWY5YTc3NmRjMjBkMDNlMzNjNDQ3ZDg2NjM0YzQ4NmE1NDM0IGJ5 IEdpdEh1YiAob24gYmVoYWxmIG9mIEhlbnJ5IEppYW5nKSBvbiAwNC8wOC8yMDI2IGF0IDE4OjIz Li4KW05GQ11bQ3VkYV1bdGVzdF0gRml4IENIRUNLLU5PVCBwYXR0ZXJucyBtYXRjaGluZyB0aGUg YnVpbGQgZGlyZWN0b3J5ICgjMjEzNzk5KQoKYGN1ZGEtb21wLXVuc3VwcG9ydGVkLWRlYnVnLW9w dGlvbnMuY3VgJ3MgQ09NTU9OLU5PVDogLi4ufGxsZGJ8Li4uIGNhbgptYXRjaCBhZ2FpbnN0IHRo ZSBidWlsZCBkaXJlY3RvcnkgcGF0aCB0aGF0IG1heSBjb250YWluIGBsbGRiYCBpbiB0aGUKcGF0 aG5hbWUuIENoYW5nZSB0aGUgdGVzdCB0byBjaGVjayB0aGUgZXhhY3QgY2MxIGFyZ3VtZW50cy4K CnJkYXI6Ly8xODM1MDE1NTgKaHR0cHM6Ly9pbnZlbnQua2RlLm9yZy9xdC9jbGFuZy9sbHZtLXBy b2plY3QvLS9jb21taXQvNDAyYzlmOWE3NzZkYzIwZDAzZTMzYzQ0N2Q4NjYzNGM0ODZhNTQzNAoK R2l0IGNvbW1pdCBmNTlkNmY1Zjg2NmI5NzQxMzUxMGZhMTE5MTQ0NjUxZmJiYmM3MTIzIGJ5IEdp dEh1YiAob24gYmVoYWxmIG9mIFVzYW1hIEhhbWVlZCkgb24gMDQvMDgvMjAyNiBhdCAxODo0OS4u CltjbGFuZ11bdGVzdF0gQWRkIHRlc3QgZm9yIHN0YWNrX3Byb3RlY3Rvcl9pZ25vcmUgaW4gc3lz dGVtIG1hY3JvcyAoIzIxMzc3MCkKCmQzMTg0YmM2YzZhOCAoIltjbGFuZ10gRG9uJ3Qgd2FybiBv biBzdGFja19wcm90ZWN0b3JfaWdub3JlIGluIHN5c3RlbQptYWNyb3MiKSBhZGRlZCBTdXBwcmVz c0luU3lzdGVtTWFjcm8gdG8Kd2Fybl9zdGFja19wcm90ZWN0aW9uX2lnbm9yZV9hdHRyaWJ1dGUg YnV0IG9ubHkgYWRkZWQgYW4gTExWTSBDb2RlR2VuCnRlc3QgZm9yIHRoZSBzdGFjay1wcm90ZWN0 b3IgbWV0YWRhdGEsIHNvIHRoZSBkaWFnbm9zdGljIGNoYW5nZSBpdHNlbGYKd2FzIHVudGVzdGVk LgoKQWRkIGEgdGVzdCB1c2luZyB0aGUgc2VsZi1pbmNsdWRlIHN5c3RlbV9oZWFkZXIgaWRpb206 IHRoZSBhdHRyaWJ1dGUKZnJvbSBhIHN5c3RlbSBoZWFkZXIgbWFjcm8gZG9lcyBub3Qgd2FybiB1 bmRlciAtZnN0YWNrLXByb3RlY3Rvci1hbGwsCndoaWxlIG9uZSB3cml0dGVuIGluIHVzZXIgY29k ZSBzdGlsbCBkb2VzLgoKcmRhcjovLzE4Mzk2Mjk4NQpodHRwczovL2ludmVudC5rZGUub3JnL3F0 L2NsYW5nL2xsdm0tcHJvamVjdC8tL2NvbW1pdC9mNTlkNmY1Zjg2NmI5NzQxMzUxMGZhMTE5MTQ0 NjUxZmJiYmM3MTIzCgpHaXQgY29tbWl0IDQzNzZiOGQ2Njk2MWRiMzYwOTQ1ZGI0NGFiZTUxMGQ5 ZjEzYWJmNjEgYnkgR2l0SHViIChvbiBiZWhhbGYgb2YgQWxleGV5IEJhdGFldikgb24gMDQvMDgv MjAyNiBhdCAxODo1Ny4uCltTTFBdRmxhdHRlbiBhZGQvc3ViIGFuZCBmYWRkL2ZzdWIgY2hhaW5z IGludG8gb25lIHJlYXNzb2NpYXRlZCBub2RlCgpBIHBlZWxlZCBzdWJ0cmFjdCBrZWVwcyB0aGUg Y29sdW1uIHNpZ24gZm9yIGl0cyBmaXJzdCBvcGVyYW5kIGFuZCBmbGlwcwppdCBmb3IgdGhlIHNl Y29uZCwgc28gbWl4ZWQgYWRkL3N1YiAoZmFkZC9mc3ViIHdpdGggcmVhc3NvYykgY2hhaW5zCmxp bmVhcml6ZSBpbnRvIHBvc2l0aXZlIGFuZCBuZWdhdGl2ZSBvcGVyYW5kIGNvbHVtbnMgY29tYmlu aW5nIGFzCnN1bShwb3NpdGl2ZSkgLSBzdW0obmVnYXRpdmUpLCB3aXRoIHN1YnRyYWhlbmQgY29s dW1ucyByZW9yZGVyZWQgYnkKdmFsdWUgZmFtaWx5LiBudXcgaXMgbm93IGFsc28gZHJvcHBlZCBv biBub24tZXhhY3QgY29tYmluZXMgd2hlbiBhCm5lZ2F0ZWQgbGVhZiBleGlzdHMsIHNpbmNlIGEg cmVncm91cGVkIHN1YnRyYWhlbmQgc3VtIGNhbiBleGNlZWQgdGhlCm9yaWdpbmFsIHJ1bm5pbmcg dG90YWwuCgpSZXZpZXdlcnM6IFJLU2ltb24sIGJhYmFidWNrLCBoaXJhZGl0eWEKClB1bGwgUmVx dWVzdDogaHR0cHM6Ly9naXRodWIuY29tL2xsdm0vbGx2bS1wcm9qZWN0L3B1bGwvMjEzNTQ0Cmh0 dHBzOi8vaW52ZW50LmtkZS5vcmcvcXQvY2xhbmcvbGx2bS1wcm9qZWN0Ly0vY29tbWl0LzQzNzZi OGQ2Njk2MWRiMzYwOTQ1ZGI0NGFiZTUxMGQ5ZjEzYWJmNjEKCkdpdCBjb21taXQgYjA3ZmM4YTQ0 YWE2YWMwM2VjOGUwYzc5YjA0MTM0YmRhODdiNTI3OSBieSBHaXRIdWIgKG9uIGJlaGFsZiBvZiBG b2xrZXJ0IGRlIFZyaWVzKSBvbiAwNC8wOC8yMDI2IGF0IDE5OjAwLi4KW1NQQVJDXSBEbyBub3Qg dXNlIHRoZSB1bmltcCBzdHJ1Y3QtcmV0dXJuIGNvbnZlbnRpb24gZm9yIHplcm8tc2l6ZWQgdHlw ZXMgKCMyMTM3MzMpCgpHQ0MgaGFzIHNwZWNpYWwgaGFuZGxpbmcgZm9yIGFuIGBzcmV0YCBvZiBh IHplcm8tc2l6ZWQgdHlwZSwgbWF0Y2ggdGhhdApoYW5kbGluZy4KCmh0dHBzOi8vZ29kYm9sdC5v cmcvei9UY3JhYW83clQKCkl0IHNlZW1zIHVubGlrZWx5IHNvbWVvbmUgaXMgYWN0dWFsbHkgcmVs eWluZyBvbiB0aGlzLCBzbyBJIGhhdmVuJ3QKYWRkZWQgdGhlIGFiaSBjb21wYXRpYmlsaXR5IGxv Z2ljLiBSdXN0IGhvd2V2ZXIgdXNlcyB6ZXJvLXNpemVkIHR5cGVzCnF1aXRlIGhlYXZpbHksIHNv IGhhdmluZyB0aGlzIHdvcmsgY29ycmVjdGx5IGlzIHVzZWZ1bCB0aGVyZS4KaHR0cHM6Ly9pbnZl bnQua2RlLm9yZy9xdC9jbGFuZy9sbHZtLXByb2plY3QvLS9jb21taXQvYjA3ZmM4YTQ0YWE2YWMw M2VjOGUwYzc5YjA0MTM0YmRhODdiNTI3OQoKR2l0IGNvbW1pdCA4Y2YzMjY4YjNhNjVlMTg2ZjEw NDEzOWEzZjUzZDA3ZGU4ZDUwMzJhIGJ5IEdpdEh1YiAob24gYmVoYWxmIG9mIEFuZHkgS2F5bG9y KSBvbiAwNC8wOC8yMDI2IGF0IDE5OjEwLi4KW0NJUl1bQUFyY2g2NF0gVXNlIENJUidzIGZtYSBh bmQgc3FydCBmb3IgTmVvbiBidWlsdGlucyAoIzIxMzgwMCkKClRoaXMgY2hhbmdlIHJlcGxhY2Vz IHNvbWUgbG9jYXRpb25zIHdoZXJlIHRoZSBOZW9uIGJ1aWx0aW4gaGFuZGxpbmcgd2FzCmNhbGxp bmcgTExWTSBpbnRyaW5zaWNzIGRpcmVjdGx5IGZvciBGTUEgYW5kIHNxcnQgb3BlcmF0aW9ucyBy YXRoZXIgdGhhbgp1c2luZyB0aGUgQ0lSIG9wZXJhdGlvbnMuIFVzaW5nIHRoZSBDSVIgb3BlcmF0 aW9ucyB3aWxsIGJlIG5lY2Vzc2FyeSB0bwpnZXQgdGhlIGJlc3QgY29uc3RyYWluZWQgRlAgaGFu ZGxpbmcuCgpUaGlzIHdpbGwgc3RpbGwgcmVxdWlyZSBzZXR0aW5nIHRoZSBmZW52IGF0dHJpYnV0 ZSBvbiB0aGVzZSBvcGVyYXRpb25zCndoZW4gbmVlZGVkLiBUaGlzIGNoYW5nZSBpcyBqdXN0IHRo ZSBmaXJzdCBvZiBhIGZldyBwcmVsaW1pbmFyeSBjaGFuZ2VzCm5lZWRlZCB0byBnZXQgdXMgaW4g YSBnb29kIHN0YXRlIHRvIGFkZCB0aGUgY29uc3RyYWluZWQgRlAgaGFuZGxpbmcuCgpBc3Npc3Rl ZC1ieTogQ3Vyc29yIC8gR3JvayA0LjUKaHR0cHM6Ly9pbnZlbnQua2RlLm9yZy9xdC9jbGFuZy9s bHZtLXByb2plY3QvLS9jb21taXQvOGNmMzI2OGIzYTY1ZTE4NmYxMDQxMzlhM2Y1M2QwN2RlOGQ1 MDMyYQoKR2l0IGNvbW1pdCBkNDYyODUyNmJkZDJjOGJkMDNhY2RjYmYwZjlkODcxMGVmMjQzNDg2 IGJ5IEdpdEh1YiAob24gYmVoYWxmIG9mIEFuZHkgS2F5bG9yKSBvbiAwNC8wOC8yMDI2IGF0IDE5 OjE1Li4KW0NJUl0gQXBwbHkgRlAgY29uc3RyYWludHMgdG8gZ2xvYmFsIGluaXRpYWxpemVycyAo IzIxMzc3NikKCkJlY2F1c2UgQ0lSIGhhbmRsZXMgZ2xvYmFsIGluaXRpYWxpemVycyB1c2luZyBh IHJlZ2lvbiBvZiB0aGUgY2lyLmdsb2JhbApvcGVyYXRpb24gZHVyaW5nIGluaXRpYWwgY29kZSBn ZW5lcmF0aW9uLCB0aGVzZSBpbml0aWFsaXplcnMgZG9uJ3QKYXV0b21hdGljYWxseSBnZXQgdGhl IHN0cmljdGZwIHNldHVwIGluIENJUkdlbkZ1bmN0aW9uOjpzdGFydEZ1bmN0aW9uLgoKVGhpcyBj aGFuZ2UgYWRkcyBhbiBhdHRyaWJ1dGUgdG8gdGhlIGNpci5nbG9iYWwgb3BlcmF0aW9uIHRvIHRy YWNrCmZsb2F0aW5nLXBvaW50IGNvbnN0cmFpbnRzIHNvIHRoYXQgdGhlIGBzdHJpY3RmcGAgYXR0 cmlidXRlIGNhbiBiZSBzZXQKb24gdGhlIGluaXRpYWxpemF0aW9uIGZ1bmN0aW9uIHdoZW4gaXQg aXMgY3JlYXRlZCBkdXJpbmcgRUhBQkkgbG93ZXJpbmcuCgpBc3Npc3RlZC1ieTogQ3Vyc29yIC8g dmFyaW91cyBtb2RlbHMKaHR0cHM6Ly9pbnZlbnQua2RlLm9yZy9xdC9jbGFuZy9sbHZtLXByb2pl Y3QvLS9jb21taXQvZDQ2Mjg1MjZiZGQyYzhiZDAzYWNkY2JmMGY5ZDg3MTBlZjI0MzQ4NgoKR2l0 IGNvbW1pdCAzMmI2NDVkOWQ2OWI4YzJlNjI4OTBmZWQxOTIwMzMzN2JlZGRmNzk3IGJ5IEdpdEh1 YiAob24gYmVoYWxmIG9mIEVyaWMgQ2hyaXN0b3BoZXIpIG9uIDA0LzA4LzIwMjYgYXQgMTk6MjEu LgpbRGVidWdJbmZvXSBUcmVhdCB0YWcgb2Zmc2V0cyBhcyBub24tZW1pdHRpbmcgKCMyMTE5Njkp CgpEV19PUF9MTFZNX3RhZ19vZmZzZXQgZG9lc24ndCBlbWl0IGFueXRoaW5nIGludG8gdGhlIERX QVJGIGV4cHJlc3Npb24sCnNvIGxvb2sgcGFzdCBpdCB3aGVuIGRlY2lkaW5nIHdoZXRoZXIgYSBy ZWdpc3RlciBleHByZXNzaW9uIGlzIGNvbXBsZXgKb3Igd2hldGhlciBhcHBlbmRUb1N0YWNrIG5l ZWRzIHRvIGFkZCBhIGRlcmVmZXJlbmNlLgoKVGVzdGVkIHdpdGggbWFrZSBjaGVjay4KCkFzc2lz dGVkIHdpdGggQUkuCmh0dHBzOi8vaW52ZW50LmtkZS5vcmcvcXQvY2xhbmcvbGx2bS1wcm9qZWN0 Ly0vY29tbWl0LzMyYjY0NWQ5ZDY5YjhjMmU2Mjg5MGZlZDE5MjAzMzM3YmVkZGY3OTcKCkdpdCBj b21taXQgNzAyNTNhZjg3MDk2MTdiODYwODY1Y2U4ZDc0MjA0NzE4ZThhMTk3NSBieSBHaXRIdWIg KG9uIGJlaGFsZiBvZiBWaXRhbHkgQnVrYSkgb24gMDQvMDgvMjAyNiBhdCAxOToyNy4uCltORkNd W2xpYkZ1enplcl0gUmVtb3ZlIHVudXNlZCBHZXRNb2R1bGVOYW1lIGhlbHBlciBpbiBUcmFjZVBD ICgjMjE0MDMyKQoKRml4aW5nIGJ1aWxkIGJvdHMgYWZ0ZXIKaHR0cHM6Ly9naXRodWIuY29tL2xs dm0vbGx2bS1wcm9qZWN0L3B1bGwvMjAzMDg0LgpodHRwczovL2ludmVudC5rZGUub3JnL3F0L2Ns YW5nL2xsdm0tcHJvamVjdC8tL2NvbW1pdC83MDI1M2FmODcwOTYxN2I4NjA4NjVjZThkNzQyMDQ3 MThlOGExOTc1CgpHaXQgY29tbWl0IDdmNDk4ZDlkMzZkMTAyYTY1MzA4OWU4NmNjMDdkMGE3Zjkw YmZhZWMgYnkgR2l0SHViIChvbiBiZWhhbGYgb2YgUWlvbmdzaSBXdSkgb24gMDQvMDgvMjAyNiBh dCAxOTozOC4uCltjbGFuZ11bRGVwZW5kZW5jeVNjYW5uaW5nXSBVc2UgQ29tcGlsZXJJbnN0YW5j ZVdpdGhDb250ZXh0IGZvciBUVSBTY2FubmluZyAoIzIxMTQwOCkKCkFmdGVyIGBDb21waWxlcklu c3RhbmNlV2l0aENvbnRleHRgJ3MgcmVsb2NhdGlvbiB0bwpgRGVwZW5kZW5jeVNjYW5uaW5nV29y a2VyLmNwcGAsIHdlIGNhbiB1c2UgaXQgZnJlZWx5IGFzIGFuCmltcGxlbWVudGF0aW9uIGVuZ2lu ZSBmb3IgVFUgc2Nhbm5pbmcuIFRoaXMgUFIgZG9lcyB0aGF0LCBhbmQgdW5pZmllcwp0aGUgYnkt bmFtZSBzY2FubmluZyBhbmQgVFUgc2Nhbm5pbmcgc28gdGhleSBhbGwgZ28gdGhyb3VnaApgQ29t cGlsZXJJbnN0YW5jZVdpdGhDb250ZXh0YC4KCnJkYXI6Ly8xNjcwMzQzMDkKCgoKLS0tCgo8c3Vi PlN0YWNrIGNyZWF0ZWQgd2l0aCA8YQpocmVmPSJodHRwczovL2dpdGh1Yi5jb20vZ2l0aHViL2do LXN0YWNrIj5HaXRIdWIgU3RhY2tzIENMSTwvYT4g4oCiIDxhCmhyZWY9Imh0dHBzOi8vZ2guaW8v c3RhY2tzLWZlZWRiYWNrIj5HaXZlIEZlZWRiYWNrIPCfkqw8L2E+PC9zdWI+Cmh0dHBzOi8vaW52 ZW50LmtkZS5vcmcvcXQvY2xhbmcvbGx2bS1wcm9qZWN0Ly0vY29tbWl0LzdmNDk4ZDlkMzZkMTAy YTY1MzA4OWU4NmNjMDdkMGE3ZjkwYmZhZWMKCkdpdCBjb21taXQgMDQ3MjJhNGEzMmU2ZmVjMTg5 N2NjM2NiNWE1NDgwOWZjZDhjOWNhZSBieSBHaXRIdWIgKG9uIGJlaGFsZiBvZiBRaW9uZ3NpIFd1 KSBvbiAwNC8wOC8yMDI2IGF0IDE5OjM4Li4KW2NsYW5nXVtEZXBlbmRlbmN5U2Nhbm5pbmddIERp c3NvbHZlIERlcGVuZGVuY3lTY2FubmVySW1wbC5oL2NwcCAoIzIxMTQwOSkKCmBEZXBlbmRlbmN5 U2Nhbm5lckltcGwuaC9jcHBgIHdlcmUgY3JlYXRlZCB0byBzaGFyZSBjb2RlIGJldHdlZW4gVFUK c2Nhbm5pbmcgYW5kIGJ5LW5hbWUgc2Nhbm5pbmcgd2hlbiB0aGV5IHdlcmUgb24gZGlmZmVyZW50 IGNvZGUgcGF0aHMuCkFmdGVyIHVuaWZ5aW5nIHRoZSBpbXBsZW1lbnRhdGlvbiB0aHJvdWdoIGBD b21waWxlckluc3RhbmNlV2l0aENvbnRleHRgLAp3ZSBubyBsb25nZXIgbmVlZCBhIHNlcGFyYXRl IGhlYWRlci9jcHAgcGFpciBhbmQgYWxsIHRoZSBjb2RlIGFyZSBtb3ZlZAppbnRvIGBEZXBlbmRl bmN5U2Nhbm5pbmdXb3JrZXIuY3BwYC4gVGhpcyBQUiBpcyBtZWNobmljYWwgYW5kIGRvZXMgbm90 CmludGVuZCB0byBpbnRyb2R1Y2UgYmVoYXZpdm9yIGNoYW5nZXMuCgotLS0KCjxzdWI+U3RhY2sg Y3JlYXRlZCB3aXRoIDxhCmhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9naXRodWIvZ2gtc3RhY2si PkdpdEh1YiBTdGFja3MgQ0xJPC9hPiDigKIgPGEKaHJlZj0iaHR0cHM6Ly9naC5pby9zdGFja3Mt ZmVlZGJhY2siPkdpdmUgRmVlZGJhY2sg8J+SrDwvYT48L3N1Yj4KaHR0cHM6Ly9pbnZlbnQua2Rl Lm9yZy9xdC9jbGFuZy9sbHZtLXByb2plY3QvLS9jb21taXQvMDQ3MjJhNGEzMmU2ZmVjMTg5N2Nj M2NiNWE1NDgwOWZjZDhjOWNhZQoKR2l0IGNvbW1pdCBiM2NlMDdiOTk5OTAwMGU2ZmFkMWMzYWE4 ZjQyOWUyZmYyNmI1OThmIGJ5IEdpdEh1YiAob24gYmVoYWxmIG9mIEFiaGluYSBTcmVlKSBvbiAw NC8wOC8yMDI2IGF0IDE5OjQxLi4KW1N5c3RlbVpdW3ovT1NdIHVzZSBMTFZNX1RIUkVBRF9MT0NB TCBpbnN0ZWFkIG9mIHRocmVhZF9sb2NhbCAoIzIxNDAzOSkKClRoaXMgcGF0Y2ggaXMgdG8gZml4 IHRoZSBmb2xsb3dpbmcgZXJyb3Igb24gei9PUwoKYGBgCmxsdm0vaW5jbHVkZS9sbHZtL1N1cHBv cnQvUGVyVGhyZWFkQnVtcFB0ckFsbG9jYXRvci5oOjc1OjEyOiBlcnJvcjogdGhyZWFkLWxvY2Fs IHN0b3JhZ2UgaXMgbm90IHN1cHBvcnRlZCBmb3IgdGhlIGN1cnJlbnQgdGFyZ2V0CiAgIDc1IHwg ICAgIHN0YXRpYyB0aHJlYWRfbG9jYWwgc3RkOjp2ZWN0b3I8QWxsb2NhdG9yVHkgKj4gQ2FjaGU7 CiAgICAgIHwgICAgICAgICAgICBeCmBgYApodHRwczovL2ludmVudC5rZGUub3JnL3F0L2NsYW5n L2xsdm0tcHJvamVjdC8tL2NvbW1pdC9iM2NlMDdiOTk5OTAwMGU2ZmFkMWMzYWE4ZjQyOWUyZmYy NmI1OThmCgpHaXQgY29tbWl0IGNkZGMxMDc4OTliZGYwOWVlM2ZmZDYwYjAwYjMyNDU1ZTY5OWIx MzAgYnkgR2l0SHViIChvbiBiZWhhbGYgb2YgQXJzZW5peSBPYm9sZW5za2l5KSBvbiAwNC8wOC8y MDI2IGF0IDE5OjQ4Li4KW0FNREdQVV0gRG8gbm90IHdpZGVuIGNvbnN0YW50IGxvYWRzIHRoYXQg bWF5IG5vdCBiZSBkZXJlZmVyZW5jZWFibGUgKCMxODQ3OTApCmh0dHBzOi8vaW52ZW50LmtkZS5v cmcvcXQvY2xhbmcvbGx2bS1wcm9qZWN0Ly0vY29tbWl0L2NkZGMxMDc4OTliZGYwOWVlM2ZmZDYw YjAwYjMyNDU1ZTY5OWIxMzAKCkdpdCBjb21taXQgZGVlNzBhMGZjOTQ4Y2U5MDYwZjQyMjVlZTVi NzA3YWY0Mjg3ZTVkYyBieSBHaXRIdWIgKG9uIGJlaGFsZiBvZiBBbGV4YW5kZXIgUmljaGFyZHNv bikgb24gMDQvMDgvMjAyNiBhdCAxOTo1NS4uCltUYWJsZUdlbl0gR2VuZXJhdGUgYGdldFJlZ0Ns YXNzRnJvbU1hdGNoS2luZCgpYCBmb3IgQXNtTWF0Y2hlcnMKClRoaXMgaGVscGVyIGNhbiBiZSB1 c2VmdWwgaW4gdmFsaWRhdGVUYXJnZXRPcGVyYW5kQ2xhc3MgdG8gZ2V0IHRoZQpNQ1JlZ2lzdGVy Q2xhc3MgZm9yIHRoZSBNQ0tfKiBlbnVtLgpNaWdyYXRlIHRoZSBSVlkgbG9naWMgdG8gdXNlIHRo aXMgbmV3IGdlbmVyYXRlZCBmdW5jdGlvbi4gQ2hlY2tpbmcgYWxsCnJlZ2lzdGVyIGNsYXNzZXMg aW5zdGVhZCBvZiBqdXN0IHRoZSBSVlkgb25lcyB3aWxsIG1hcmdpbmFsbHkgc2xvdyBkb3duCnZh bGlkYXRlVGFyZ2V0T3BlcmFuZENsYXNzLCBidXQgc2luY2UgdGhpcyBpcyBhbHJlYWR5IGEgc2xv dyBwYXRoIGl0CnNob3VsZCBub3QgbWF0dGVyLgoKSWYgbXVsdGlwbGUgUmVnaXN0ZXJPcGVyYW5k cyBzaGFyZSBhIFBhcnNlck1hdGNoQ2xhc3MgYnV0IG1hcCB0byBkaWZmZXJlbnQKUmVnaXN0ZXJD bGFzc2VzLCBvbWl0IHRoZW0gZnJvbSB0aGUgZ2VuZXJhdGVkIGdldFJlZ0NsYXNzRnJvbU1hdGNo S2luZAptYXBwaW5nIGZ1bmN0aW9uLiBJIG9yaWdpbmFsbHkgdHJpZWQgdG8gZW1pdCBhbiBlcnJv ciBoZXJlLCBidXQgaXQgdHVybnMKb3V0IHRoZXJlIGFyZSBtYW55IHRhcmdldHMgdGhhdCByZWx5 IG9uIHNoYXJpbmcgdGhlIFBhcnNlck1hdGNoQ2xhc3Mgd2l0aApkaWZmZXJlbnQgKGJ1dCBzaW1p bGFyKSBSZWdpc3RlckNsYXNzZXMgc28gaWdub3JpbmcgdGhlbSBpcyBzYWZlci4KClJldmlld2Vk IEJ5OiBsZW5hcnkKClB1bGwgUmVxdWVzdDogaHR0cHM6Ly9naXRodWIuY29tL2xsdm0vbGx2bS1w cm9qZWN0L3B1bGwvMjAwNDUzCmh0dHBzOi8vaW52ZW50LmtkZS5vcmcvcXQvY2xhbmcvbGx2bS1w cm9qZWN0Ly0vY29tbWl0L2RlZTcwYTBmYzk0OGNlOTA2MGY0MjI1ZWU1YjcwN2FmNDI4N2U1ZGMK CkdpdCBjb21taXQgMGQxYjU0NjA0ZGFjNzNhZGMxNmFmMTVmNDMzYWUwYzkyMDY5ZmNjMiBieSBH aXRIdWIgKG9uIGJlaGFsZiBvZiBBbGV4YW5kZXIgUmljaGFyZHNvbikgb24gMDQvMDgvMjAyNiBh dCAxOTo1Ny4uCltUYWJsZUdlbl1bQXNtTWF0Y2hlcl0gUmVzb2x2ZSBSZWdDbGFzc0J5SHdNb2Rl IGtpbmRzIGZvciBhbGwgb3BlcmFuZHMKCnZhbGlkYXRlT3BlcmFuZENsYXNzKCkgb25seSByZW1h cHBlZCBhIFJlZ0NsYXNzQnlId01vZGUgb3BlcmFuZCBraW5kCndoZW4gdGhlIGFjdHVhbCBwYXJz ZWQgb3BlcmFuZCB3YXMgYSByZWdpc3Rlci4gV2hlbiB0aGUgb3BlcmFuZCB3YXMKc29tZXRoaW5n IGVsc2UgZW50aXJlbHkgKGUuZy4gYSBiYXJlIGltbWVkaWF0ZSB3aGVyZSBhIHJlZ2lzdGVyIHdh cwpleHBlY3RlZCksIHRoaXMgZmVsbCB0aHJvdWdoIHRvIHRoZSBnZW5lcmljICJLaW5kIDw9IE1D S19MQVNUX1JFR0lTVEVSIgpkaWFnbm9zdGljIGNoZWNrLCBzbyB3ZSBlbmQgdXAgd2l0aCBhIGdl bmVyaWMgTWF0Y2hfSW52YWxpZE9wZXJhbmQuCgpObyB0ZXN0IGNoYW5nZXMgaGVyZSwgYnV0IHRo aXMgaXMgbmVlZGVkIHRvIGF2b2lkIGRpYWdub3N0aWMgcmVncmVzc2lvbnMKd2l0aCB0aGUgUlZZ IGxvYWQvc3RvcmUgc3VwcG9ydCAoUFIgIzE3NzA3MykuCgpQdWxsIFJlcXVlc3Q6IGh0dHBzOi8v Z2l0aHViLmNvbS9sbHZtL2xsdm0tcHJvamVjdC9wdWxsLzIxMzQ3OQpodHRwczovL2ludmVudC5r ZGUub3JnL3F0L2NsYW5nL2xsdm0tcHJvamVjdC8tL2NvbW1pdC8wZDFiNTQ2MDRkYWM3M2FkYzE2 YWYxNWY0MzNhZTBjOTIwNjlmY2MyCgpHaXQgY29tbWl0IGM3NDBjNTQ1MTdmYWZkZmI2YTNkZDM1 MjI3MDAwNzZkNTE4NGM4NDIgYnkgR2l0SHViIChvbiBiZWhhbGYgb2YgQWJoaW5hIFNyZWUpIG9u IDA0LzA4LzIwMjYgYXQgMTk6NTcuLgpbU3lzdGVtWl1bei9PU10gQWRkIGd1YXJkIGZvciBTSV9V U0VSICAoIzIxMzEwMSkKClNJX1VTRVIgaXMgbm90IGRlZmluZWQgb24gei9PUyBhbmQgaXMgY2F1 c2luZyB0aGUgZm9sbG93aW5nIGJ1aWxkCmZhaWx1cmUuIGBlcnJvcjogdXNlIG9mIHVuZGVjbGFy ZWQgaWRlbnRpZmllciAnU0lfVVNFUidgIApUaGlzIHBhdGNoIGFkZHMgYSBndWFyZCB0byBjaGVj ayB3aGV0aGVyIFNJX1VTRVIgaXMgZGVmaW5lZApiZWZvcmUgdXNpbmcgaXQuCmh0dHBzOi8vaW52 ZW50LmtkZS5vcmcvcXQvY2xhbmcvbGx2bS1wcm9qZWN0Ly0vY29tbWl0L2M3NDBjNTQ1MTdmYWZk ZmI2YTNkZDM1MjI3MDAwNzZkNTE4NGM4NDIKCkdpdCBjb21taXQgODM0M2M1MzhmMGU3ZWRlZThi ZmMyYzgwMGY2ZDFiZmFlZjY2NGMxMiBieSBHaXRIdWIgKG9uIGJlaGFsZiBvZiBmb3JraW5nLWdv b2dsZS1iYXplbC1ib3RbYm90XSkgb24gMDQvMDgvMjAyNiBhdCAyMDowOS4uCltCYXplbF0gRml4 ZXMgMDQ3MjJhNCAoIzIxNDA0OSkKClRoaXMgZml4ZXMgMDQ3MjJhNGEzMmU2ZmVjMTg5N2NjM2Ni NWE1NDgwOWZjZDhjOWNhZSAoIzIxMTQwOSkuCgpCdWlsZGtpdGUgZXJyb3IgbGluazoKaHR0cHM6 Ly9idWlsZGtpdGUuY29tL2xsdm0tcHJvamVjdC91cHN0cmVhbS1iYXplbC9idWlsZHM/Y29tbWl0 PTA0NzIyYTRhMzJlNmZlYzE4OTdjYzNjYjVhNTQ4MDlmY2Q4YzljYWUKCkNvLWF1dGhvcmVkLWJ5 OiBHb29nbGUgQmF6ZWwgQm90IDxnb29nbGUtYmF6ZWwtYm90QGdvb2dsZS5jb20+Cmh0dHBzOi8v aW52ZW50LmtkZS5vcmcvcXQvY2xhbmcvbGx2bS1wcm9qZWN0Ly0vY29tbWl0LzgzNDNjNTM4ZjBl N2VkZWU4YmZjMmM4MDBmNmQxYmZhZWY2NjRjMTIKCkdpdCBjb21taXQgNDRjNmFlZDliZDliOWNk YTk5M2Y0ZTkzZjJjYmRiNGZiYmE4OTBkMCBieSBHaXRIdWIgKG9uIGJlaGFsZiBvZiBTcGVuY2Vy IEJyeW5nZWxzb24pIG9uIDA0LzA4LzIwMjYgYXQgMjA6MTUuLgpbZmxhbmddW09wZW5NUF0gRGlh Z25vc2UgZmFpbGVkIGNvbnN0cnVjdCBkZWNvbXBvc2l0aW9uIGluc3RlYWQgb2YgZmFsbGluZyB0 aHJvdWdoICgjMjE0MDEyKQoKYGJ1aWxkQ29uc3RydWN0UXVldWVgIGFzc2VydHMgdGhhdCBkZWNv bXBvc2l0aW9uIHByb2R1Y2VkIG91dHB1dDoKCmBgYGNwcApDb25zdHJ1Y3REZWNvbXBvc2l0aW9u IGRlY29tcG9zZShtb2RPcCwgc2VtYUN0eCwgZXZhbCwgY29tcG91bmQsIGNsYXVzZXMpOwphc3Nl cnQoIWRlY29tcG9zZS5vdXRwdXQuZW1wdHkoKSAmJiAiQ29uc3RydWN0IGRlY29tcG9zaXRpb24g ZmFpbGVkIik7CmBgYAoKUmVsZWFzZSBidWlsZHMgaGF2ZSBubyBjaGVjaywgc28gdGhlIGVtcHR5 IHF1ZXVlIGZhbGxzIHRocm91Z2ggdG8gdGhlCmxvb3AgYmVsb3cgYW5kIG91dCB0byB0aGUKY2Fs bGVyLiBUaGF0IGlzIHVuZGVmaW5lZCBiZWhhdmlvdXIsIGFuZCBpdCBpcyByZWFjaGFibGUg4oCU IHNlbWFudGljcwpkb2VzIG5vdCBjYXRjaCBldmVyeQpkaXJlY3RpdmUvY2xhdXNlIGNvbWJpbmF0 aW9uIHRoYXQgY2Fubm90IGJlIGRlY29tcG9zZWQuIFRoZSByZXN1bHQgaXMgYW4KaW50ZXJtaXR0 ZW50IHNlZ2ZhdWx0CnJhdGhlciB0aGFuIGEgZGlhZ25vc3RpYy4KCiMyMTE0MzAgaXMgb25lIHdh eSBpbjogYGFsbG9jYXRlYCBpcyBhbiBPcGVuTVAgNS4wIGNsYXVzZSwgYnV0IG1vc3QKZGlyZWN0 aXZlcyBkZWNsYXJlIGl0IGluCmBPTVAudGRgIHdpdGhvdXQgYSBtaW5pbXVtIHZlcnNpb24sIHNv IHNlbWFudGljcyBhY2NlcHRzIGl0IGJlbG93IDUuMAphbmQgZGVjb21wb3NpdGlvbiB0aGVuCmNv cnJlY3RseSByZWZ1c2VzIGl0LiBmbGFuZyBkZWZhdWx0cyB0byBPcGVuTVAgMy4xLCBzbyBubyB1 bnVzdWFsIGZsYWdzCmFyZSBuZWVkZWQuIFRoZQppbnRlcm1pdHRlbmN5IGlzIHdoYXQgbWFkZSB0 aGF0IHJlcG9ydCBoYXJkIHRvIHBpbiBkb3duIOKAlCA0MCB0cmlhbHMgYXQKYC1mb3Blbm1wLXZl cnNpb249MzFgOgoKfCB8IHNlZ2ZhdWx0cyB8CnwtLS18LS0tfAp8IEFTTFIgb24gfCAyNS80MCB8 CnwgQVNMUiBvZmYgKGBzZXRhcmNoIC1SYCkgfCAwLzQwIHwKCndoaWNoIGlzIGFuIHVuaW5pdGlh bGl6ZWQgcmVhZC4KCkFmdGVyIHRoaXMgcGF0Y2ggdGhlIHNhbWUgaW5wdXQgZmFpbHMgZGV0ZXJt aW5pc3RpY2FsbHkgd2l0aCBhIGxvY2F0ZWQKZGlhZ25vc3RpYywgNDAvNDA6CgpgYGAKZXJyb3I6 IGxvYygicmVwcm8uZjkwIjo2OjExKTogT3Blbk1QIGNvbnN0cnVjdCBkZWNvbXBvc2l0aW9uIGZh aWxlZDogYSBjbGF1c2Ugb24KICAgICAgICd0YXJnZXQgdGVhbXMgZGlzdHJpYnV0ZSBwYXJhbGxl bCBkbycgY2Fubm90IGJlIGFwcGxpZWQgdG8gYW55IG9mIGl0cyBsZWFmIGNvbnN0cnVjdHMKYGBg CgpgZ2VuQ3Jhc2hEaWFnPWZhbHNlYCBzbyBpdCBleGl0cyBub24temVybyB3aXRob3V0IGEgYmFj a3RyYWNlLCByYXRoZXIKdGhhbiBwcmVzZW50aW5nIGFzIGEgY29tcGlsZXIKY3Jhc2guCgpUaGlz IGlzIGEgaGFyZGVuaW5nIGZpeCBmb3IgdGhlIGxvd2VyaW5nIHBhdGggYW5kIGlzIGluZGVwZW5k ZW50IG9mIGFueQpwYXJ0aWN1bGFyIGNsYXVzZTogaXQgY292ZXJzCmV2ZXJ5IGNvbWJpbmF0aW9u IHRoYXQgZGVjb21wb3NlcyBlbXB0eS4gSXQgZG9lcyBub3QgbWFrZSB0aGUgYGFsbG9jYXRlYApj YXNlIGEgKmdvb2QqIGRpYWdub3N0aWMg4oCUCnRoYXQgYmVsb25ncyBpbiBzZW1hbnRpY3MsIGFu ZCAjMjEzOTgwIGlzIHRoZSBzZXBhcmF0ZSBjaGFuZ2UgZm9yIGl0LgoKYGNoZWNrLWZsYW5nYCBp cyBjbGVhbiAoNDgwOCB0ZXN0cykuIE5vIHRlc3QgaXMgYWRkZWQ6IHRoZSBvbmx5IGluLXRyZWUK d2F5IHRvIHJlYWNoIHRoaXMgcGF0aCBpcwp0aHJvdWdoIHRoZSBgT01QLnRkYCBnYXAgdGhhdCAj MjEzOTgwIGZpeGVzLCBzbyBhIHRlc3QgaGVyZSB3b3VsZCBlbmNvZGUKdGhhdCBnYXAgYXMgZXhw ZWN0ZWQKYmVoYXZpb3VyIGFuZCBoYXZlIHRvIGJlIHJlbW92ZWQgd2hlbiBpdCBsYW5kcy4gSGFw cHkgdG8gYWRkIG9uZSBpZgp5b3UnZCBwcmVmZXIuCgoKLS0tCgpQYXJ0cyBvZiB0aGlzIGNoYW5n ZSB3ZXJlIHdyaXR0ZW4gb3IgYXVkaXRlZCB3aXRoIENsYXVkZSBDb2RlLiBJIGhhdmUKcmV2aWV3 ZWQgYWxsIG9mIGl0IGFuZCB0YWtlCmZ1bGwgcmVzcG9uc2liaWxpdHkgZm9yIHRoZSBjb250cmli dXRpb24uIFNlZQpgbGx2bS9kb2NzL0FJVG9vbFBvbGljeS5tZGAuCmh0dHBzOi8vaW52ZW50Lmtk ZS5vcmcvcXQvY2xhbmcvbGx2bS1wcm9qZWN0Ly0vY29tbWl0LzQ0YzZhZWQ5YmQ5YjljZGE5OTNm NGU5M2YyY2JkYjRmYmJhODkwZDAKCkdpdCBjb21taXQgODNmYjcyYTkwNGU4MjMxYmY2ODc5MDc2 YjljMTBiZGJmMjVlNDc0NCBieSBHaXRIdWIgKG9uIGJlaGFsZiBvZiBBcnRodXIgRXViYW5rcykg b24gMDQvMDgvMjAyNiBhdCAyMDoyMC4uCltEV1BdIEVhZ2VybHkgY2xlYXIgYnVmZmVycyBhZnRl ciB3cml0aW5nICgjMjEzMzQ1KQoKTG93ZXJzIHBlYWsgbWVtb3J5IHVzYWdlIG9uIGEgbGx2bS1k d3AgaW52b2NhdGlvbiBmcm9tIDEyLjM3R0IgLT4KMTEuMTlHQi4KClRoaXMgYWN0dWFsbHkgbm93 IGJlYXRzIG91dCBHTlUgZHdwICgxMS4zNUdCKSBhdCBsZWFzdCB3aGVuIHRoZSBvdXRwdXQKZmls ZSBpcyBpbiB0bXBmcy4KaHR0cHM6Ly9pbnZlbnQua2RlLm9yZy9xdC9jbGFuZy9sbHZtLXByb2pl Y3QvLS9jb21taXQvODNmYjcyYTkwNGU4MjMxYmY2ODc5MDc2YjljMTBiZGJmMjVlNDc0NAoKR2l0 IGNvbW1pdCBkNTJlOTg4MTRjNDE0ODdlNTYzNWExODZkOTdiZjU4MDNlMjAyNDU3IGJ5IEdpdEh1 YiAob24gYmVoYWxmIG9mIEhlbnJ5IEppYW5nKSBvbiAwNC8wOC8yMDI2IGF0IDIwOjI1Li4KW05G Q11bQU1ER1BVXSBGaXggZXhpdCBjb2RlIG1pc21hdGNoIHdpdGggRVhQRU5TSVZFX0NIRUNLIGlu IHNjaGVkdWxl4oCmICgjMjE0MDI3KQoK4oCmLWFtZGdwdS10cmFja2VyLXBoeXNyZWctY3Jhc2gu bGwKCk9ic2VydmVkIGluCmh0dHBzOi8vY2kuc3dpZnQub3JnL2pvYi9sbHZtLm9yZy9qb2IvY2xh bmctc3RhZ2UxLVJBLWV4cGVuc2l2ZS9qb2IvbWFpbi8xMTU1CndpdGggTExWTV9FTkFCTEVfRVhQ RU5TSVZFX0NIRUNLUyBlbmFibGVkLApgQ29kZUdlbi9BTURHUFUvc2NoZWR1bGUtYW1kZ3B1LXRy YWNrZXItcGh5c3JlZy1jcmFzaC5sbGAgZmFpbHMgZHVlIHRvCk1hY2hpbmVWZXJpZmllciBydW5u aW5nLCBjYXVzaW5nIGFuIGV4aXQgMS4KCk1vZGlmaWVkIHRvIGFsd2F5cyBydW4gdGhlIGAtdmVy aWZ5LW1hY2hpbmVpbnN0cnNgLgoKcmRhcjovLzE4NDAxMDc2NgpodHRwczovL2ludmVudC5rZGUu b3JnL3F0L2NsYW5nL2xsdm0tcHJvamVjdC8tL2NvbW1pdC9kNTJlOTg4MTRjNDE0ODdlNTYzNWEx ODZkOTdiZjU4MDNlMjAyNDU3CgpHaXQgY29tbWl0IGYyMGI2NGZmZTVjODFlMGVmMzViY2Y5OTkw ZjYwYTFmZjkxNTdmN2IgYnkgR2l0SHViIChvbiBiZWhhbGYgb2YgRG1pdHJ5IFZhc2lseWV2KSBv biAwNC8wOC8yMDI2IGF0IDIwOjI2Li4KW2xsZGJdIERpc2FibGUgVGVzdFByb2Nlc3NTYXZlQ29y ZU1pbmlkdW1wU2l6ZU1pc21hdGNoIG9uIFdpbmRvd3MgaG9zdHMgKCMyMTQwNDQpCgpUaGUgYnVp bGRib3QKW2xsZGItcmVtb3RlLWxpbnV4LXdpbl0oaHR0cHM6Ly9sYWIubGx2bS5vcmcvYnVpbGRi b3QvIy9idWlsZGVycy8xOTcpIGlzCnJlZCBhZnRlciAjMjEyODYxLiAjMjEyODYxIGNhbm5vdCBi ZSByZXZlcnRlZCBhdXRvbWF0aWNhbGx5IG5vdyBiZWNhdXNlIG9mCiMyMTI2NDEuIFNvIGRpc2Fi bGUgVGVzdFByb2Nlc3NTYXZlQ29yZU1pbmlkdW1wU2l6ZU1pc21hdGNoIG9uIFdpbmRvd3MKaG9z dHMgdG8gbWFrZSB0aGUgYnVpbGRib3QgZ3JlZW4gYWdhaW4uCmh0dHBzOi8vaW52ZW50LmtkZS5v cmcvcXQvY2xhbmcvbGx2bS1wcm9qZWN0Ly0vY29tbWl0L2YyMGI2NGZmZTVjODFlMGVmMzViY2Y5 OTkwZjYwYTFmZjkxNTdmN2IKCkdpdCBjb21taXQgMDNmODZjNmQ0ZDU1ODA5Zjk1MzFiNWUzN2Vi ODI0OWU1Njk3NDZhYSBieSBHaXRIdWIgKG9uIGJlaGFsZiBvZiBEYXZpZCBZb3VuZykgb24gMDQv MDgvMjAyNiBhdCAyMDozMi4uCltTdXBwb3J0XVtEcml2ZXJdW0xMREJdIEd1YXJkIFdJTjMyX0xF QU5fQU5EX01FQU4gZGVmaW5pdGlvbnMgd2l0aCAjaWZuZGVmICgjMjEzMDQ1KQoKU2V2ZXJhbCBX aW5kb3dzIGhlYWRlcnMvVFVzIHVuY29uZGl0aW9uYWxseSBgI2RlZmluZQpXSU4zMl9MRUFOX0FO RF9NRUFOYC4gV2hlbiBhIGJ1aWxkIHByZWRlZmluZXMgdGhlIG1hY3JvIG9uIHRoZSBjb21waWxl cgpjb21tYW5kIGxpbmUgKGUuZy4gYSB0b29sY2hhaW4gdGhhdCBwYXNzZXMgLURXSU4zMl9MRUFO X0FORF9NRUFOLCB3aGljaApjbGFuZyB0cmVhdHMgYXMgYCNkZWZpbmUgV0lOMzJfTEVBTl9BTkRf TUVBTiAxYCksIHRoZSBkaWZmZXJpbmcgdG9rZW4KbGlzdHMgdHJpZ2dlciAtV21hY3JvLXJlZGVm aW5lZCwgd2hpY2ggYmVjb21lcyBhIGhhcmQgZXJyb3IgdW5kZXIKLVdlcnJvci4KCkd1YXJkIHRo ZSBkZWZpbml0aW9ucyB3aXRoICNpZm5kZWYsIG1hdGNoaW5nIHRoZSBhZGphY2VudCBOT01JTk1B WApoYW5kbGluZyBhbmQgdGhlIGV4aXN0aW5nIHBhdHRlcm4gaW4KbGx2bS9saWIvU3VwcG9ydC9y cG1hbGxvYy9ycG1hbGxvYy5jLiBUaGUgbWFjcm8gaXMgb25seSBhIHByZXNlbmNlIGZsYWcsCnNv IGtlZXBpbmcgYW4gZXh0ZXJuYWxseS1wcm92aWRlZCBkZWZpbml0aW9uIGlzIGNvcnJlY3QuCgpT aXRlcyBndWFyZGVkOgogIGxsdm0vaW5jbHVkZS9sbHZtL1N1cHBvcnQvV2luZG93cy9XaW5kb3dz U3VwcG9ydC5oCiAgbGx2bS9saWIvV2luZG93c0RyaXZlci9NU1ZDUGF0aHMuY3BwCiAgY2xhbmcv bGliL0RyaXZlci9Ub29sQ2hhaW5zL01TVkMuY3BwCiAgbGxkYi9pbmNsdWRlL2xsZGIvSG9zdC93 aW5kb3dzL3dpbmRvd3MuaAoKTWV0YSByYW4gaW50byB0aGlzIGludGVybmFsbHkgYnVpbGRpbmcg bGxkYiBvbiB3aW5kb3cgYWZ0ZXIgYSBzeW5jIHdpdGgKdXBzdHJlYW0gZnJvbSBKdWx5IGNvbW1p dCwgc28gYWRkaW5nIGd1YXJkcyB3b3VsZCBhbGxvdyB1cyB0byBkcm9wIGEKd29ya2Fyb3VuZCBv ZiBpZ25vcmluZyB0aGUgZHVwbGljYXRlIGRlZmluZXMuCgpFcnJvcjoKbGx2bVxpbmNsdWRlXGxs dm0vU3VwcG9ydC9XaW5kb3dzL1dpbmRvd3NTdXBwb3J0LmgoMjksOSk6IGVycm9yOgonV0lOMzJf TEVBTl9BTkRfTUVBTicgbWFjcm8gcmVkZWZpbmVkIFstV2Vycm9yLC1XbWFjcm8tcmVkZWZpbmVk XQogICAyOSB8ICNkZWZpbmUgV0lOMzJfTEVBTl9BTkRfTUVBTgogICAgICB8ICAgICAgICAgXgo8 Y29tbWFuZCBsaW5lPigxMCw5KTogbm90ZTogcHJldmlvdXMgZGVmaW5pdGlvbiBpcyBoZXJlCiAg IDEwIHwgI2RlZmluZSBXSU4zMl9MRUFOX0FORF9NRUFOIDEKICAgICAgfCAgICAgICAgIF4KMSBl cnJvciBnZW5lcmF0ZWQuCmh0dHBzOi8vaW52ZW50LmtkZS5vcmcvcXQvY2xhbmcvbGx2bS1wcm9q ZWN0Ly0vY29tbWl0LzAzZjg2YzZkNGQ1NTgwOWY5NTMxYjVlMzdlYjgyNDllNTY5NzQ2YWEKCkdp dCBjb21taXQgNDZiOGViODYxMzUyZDBkMzQ2MjNhMzEzOWVkMTFkZTc2MzMxNzMyMyBieSBHaXRI dWIgKG9uIGJlaGFsZiBvZiBOaWtpdGEgVGVyZW50ZXYpIG9uIDA0LzA4LzIwMjYgYXQgMjA6Mzku LgpbTkZDXVtDbGFuZ11bRG9jc10gRml4IG1pbm9yIHR5cG9zIGluIENvbnN0YW50IEludGVycHJl dGVyIGRvYy4gKCMyMTE2MDgpCgpGaXJzdDogVHlwbyBpcyBvYnZpb3VzLiAKU2Vjb25kOiBJbiB0 aGUgZXhhbXBsZSwgdGhlIGEueSBmaWVsZCBpcyBtaXNzaW5nIGFuZCBmaWVsZCBhLmIueSBpcwpy ZXF1aXJlZC4KaHR0cHM6Ly9pbnZlbnQua2RlLm9yZy9xdC9jbGFuZy9sbHZtLXByb2plY3QvLS9j b21taXQvNDZiOGViODYxMzUyZDBkMzQ2MjNhMzEzOWVkMTFkZTc2MzMxNzMyMwoKR2l0IGNvbW1p dCAyMTc4ZGI2ZDNkZTRhZDlmYjk3OTRmNTVlNmQ2ZDM4Y2RmMmIwMzQ3IGJ5IEdpdEh1YiAob24g YmVoYWxmIG9mIFRpbXVyIEdvbHVib3ZpY2gpIG9uIDA0LzA4LzIwMjYgYXQgMjA6NDIuLgpbWDg2 XSBIYW5kbGUgbXVsdGktdXNlIHNldGNjIGluIGNvbW11dGVTZWxlY3QgKCMyMTM2NDUpCgpXaGVu IGEgc2V0Y2MgY29uZGl0aW9uIGlzIHNoYXJlZCBiZXR3ZWVuIG11bHRpcGxlIHZzZWxlY3RzLApj b21tdXRlU2VsZWN0IHByZXZpb3VzbHkgYmFpbGVkIG91dCBkdWUgdG8gdGhlIG1fT25lVXNlIGNv bnN0cmFpbnQuCkV4dGVuZCBpdCB0byBjaGVjayBhbGwgdXNlcnMgb2YgdGhlIHNldGNjIGFuZCwg aWYgdGhleSBhbGwgYmVuZWZpdCBmcm9tCmNvbW11dGluZywgaW52ZXJ0IHRoZSBjb25kaXRpb24g b25jZSB3aXRoIFJlcGxhY2VBbGxVc2VzT2ZWYWx1ZVdpdGggYW5kCnN3YXAgYWxsIHZzZWxlY3Qg b3BlcmFuZHMuCgpUaGlzIGZpeGVzIGEgd3JpdGUtbWFzayBmdXNpb24gcmVncmVzc2lvbiB3aGVy ZSBtYXNrZWQgbWluL21heApyZWR1Y3Rpb25zIHByb2R1Y2VkIHVuZnVzZWQgdm1pbnBzICsgdm1v dmFwcyB7JWt9IGluc3RlYWQgb2YgYSBzaW5nbGUKd3JpdGUtbWFza2VkIHZtaW5wcyB7JWt9Lgpo dHRwczovL2ludmVudC5rZGUub3JnL3F0L2NsYW5nL2xsdm0tcHJvamVjdC8tL2NvbW1pdC8yMTc4 ZGI2ZDNkZTRhZDlmYjk3OTRmNTVlNmQ2ZDM4Y2RmMmIwMzQ3CgpHaXQgY29tbWl0IGFhNzY5NjNl YzAzOWY0ODVkMDVjMTIzNWJhYzVhNWVkZjM2MDUzNzggYnkgR2l0SHViIChvbiBiZWhhbGYgb2Yg U2ltb24gUGlsZ3JpbSkgb24gMDQvMDgvMjAyNiBhdCAyMDo0My4uCltYODZdIExvd2VyUEFSSVRZ IC0gdXNlIGNvdW50TWF4QWN0aXZlQml0cyB0byBkZXRlcm1pbmUgaWYgcmVwcmVzZW50YWJsZSBh cyB1aW50OF90LiBORkMuICgjMjE0MDU2KQoKTXVjaCBjbGVhbmVyIHRoYW4gdXNpbmcgdGhlIE1h c2tlZFZhbHVlSXNaZXJvIGNoZWNrLgoKRml4IGk2NCAtPiB4b3IoaTMyLGkzMikgcGFyaXR5IHN0 YWdlIGNvbW1lbnQgYXMgd2VsbC4KaHR0cHM6Ly9pbnZlbnQua2RlLm9yZy9xdC9jbGFuZy9sbHZt LXByb2plY3QvLS9jb21taXQvYWE3Njk2M2VjMDM5ZjQ4NWQwNWMxMjM1YmFjNWE1ZWRmMzYwNTM3 OAoKR2l0IGNvbW1pdCBjZDQ1OWYyNDY2ZTQwOGViZjlkY2Q0NTVjNThhNDM5NTJkNmE1OTAzIGJ5 IEdpdEh1YiAob24gYmVoYWxmIG9mIEZhcnpvbiBMb3RmaSkgb24gMDQvMDgvMjAyNiBhdCAyMDo0 Ny4uCltTUElSVl0gU3BsaXQgd2lkZSBzaGFkZXIgUEhJcyBiZWZvcmUgYXBwbHlpbmcgZXhwbGlj aXQgc3VwcG9ydGVkIHR5cGVzICgjMjEzODA2KQoKZml4ZXMgIzIxMzgwMgoKQXBwbHkgdGhlIG1h eGltdW0tdmVjdG9yLXNpemUgcnVsZSBiZWZvcmUgdGhlIGV4cGxpY2l0IFBISSBsZWdhbGl0eQpy dWxlcyBmb3IgdHlwZS4gVGhpcyB3YXkgaWYgd2Ugc2VlIGEgc2l6ZSAxNiB2ZWN0b3Igd2Ugc3Bs aXQgaXQKYmVmb3JlaGFuZC4KCkluIG1vcmUgcHJlY2lzZSB3b3JkcyB0aGlzIHByZXNlcnZlcyBl eGlzdGluZyBsZWdhbGl0eSBydWxlcyB3aGlsZQplbnN1cmluZyBzaGFkZXIgUEhJcyB3aWRlciB0 aGFuIGZvdXIgbGFuZXMgYXJlIHNwbGl0IGZpcnN0LgoKQXNzaXN0ZWQgYnkgQ29waWxvdCAoR1BU IDUuNiBTb2wpCmh0dHBzOi8vaW52ZW50LmtkZS5vcmcvcXQvY2xhbmcvbGx2bS1wcm9qZWN0Ly0v Y29tbWl0L2NkNDU5ZjI0NjZlNDA4ZWJmOWRjZDQ1NWM1OGE0Mzk1MmQ2YTU5MDMKCkdpdCBjb21t aXQgNGVmMmU3NTc4NWQ3MWE5YWI4NjgyYmYyZjZiNGNjYzIyM2JhNTY4YyBieSBHaXRIdWIgKG9u IGJlaGFsZiBvZiBFcmljIENocmlzdG9waGVyKSBvbiAwNC8wOC8yMDI2IGF0IDIxOjA5Li4KW0Zp bGVDaGVja10gQXZvaWQgbWF0Y2hpbmcgSVIga2V5d29yZHMgaW4gc291cmNlIGZpbGVuYW1lcyAo IzIxMzgwOSkKCkFuY2hvciBjaGVja3MgZm9yIGRlY2xhcmUsIGRlZmluZSwgYW5kIGNvbWRhdCB0 byB0aGUgc3RhcnQgb2YgbGluZXMgb3IgYW5vdGhlciBmaXh0dXJlIHNvCnBhdGhzIGluIG1vZHVs ZSBoZWFkZXJzIGNhbm5vdCBzYXRpc2Z5IG9yIGludmFsaWRhdGUgdGhlbS4KClRlc3RlZCB3aXRo IG1ha2UgY2hlY2suCgpBc3Npc3RlZCBieSBBSS4KaHR0cHM6Ly9pbnZlbnQua2RlLm9yZy9xdC9j bGFuZy9sbHZtLXByb2plY3QvLS9jb21taXQvNGVmMmU3NTc4NWQ3MWE5YWI4NjgyYmYyZjZiNGNj YzIyM2JhNTY4YwoKR2l0IGNvbW1pdCBmYzJmNDE3NjY0NGM0MmQzYzA0ZDFiYzMzNDdlNjI5ZWE3 ZjFlZmJjIGJ5IE1pY2hhbCBQYXN6a293c2tpIG9uIDA0LzA4LzIwMjYgYXQgMjM6MDguLgpBZGQg UElTQSB0YXJnZXQgcmVnaXN0cmF0aW9uIGFuZCBiYWNrZW5kIHN0dWIKClJlZ2lzdGVyIHRoZSBJ bnRlbCBHUFUgcG9ydGFibGUgSVNBIChQSVNBKSB0YXJnZXQuIEFkZCB0aGUgcGlzYSBUcmlwbGUK YXJjaCwgZGF0YSBsYXlvdXQsIGFuZCBhIG1pbmltYWwgTUMvVGFyZ2V0TWFjaGluZSBza2VsZXRv bi4KaHR0cHM6Ly9pbnZlbnQua2RlLm9yZy9xdC9jbGFuZy9sbHZtLXByb2plY3QvLS9jb21taXQv ZmMyZjQxNzY2NDRjNDJkM2MwNGQxYmMzMzQ3ZTYyOWVhN2YxZWZiYwo=