[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 dXNoZWQgYnkgbWlycm9yLXNlcnZpY2UgaW50byBicmFuY2ggJ3Vwc3RyZWFtL3VzZXJzL2twYXJ6 eXN6L20wMi1wcmVzZW50LW1vZGlmaWVyJy4KQ2hhbmdlZCBmcm9tIDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAgdG8gOTlmYWJiOGVjYzE4OTgwZTQ2NTQ4OGJiNmQxMGMz MzBkYWFkMzJhZgpBY2tub3dsZWRnZW1lbnQgd2FzIHJlY2VpdmVkIHRoYXQgdGhpcyBjaGFuZ2Ug aW50cm9kdWNlcyBvbmx5IGV4aXN0aW5nIGNvZGUgdGhhdCBoYXMgYmVlbiBwdXNoZWQgdG8gYW5v dGhlciBwdWJsaWMgb3BlbiBzb3VyY2UgcmVwb3NpdG9yeS4KClRoaXMgY2hhbmdlIGNvbnRhaW5z IHRoZSBmb2xsb3dpbmcgbmV3IGNvbW1pdHM6CgpHaXQgY29tbWl0IDc2MDljYjgzYmY1ZmM1YzI1 ZTI4Nzc3MGRiMjc3ZGJiMzRlNjc0YjggYnkgR2l0SHViIChvbiBiZWhhbGYgb2YgRmlubiBQbHVt bWVyKSBvbiAwNC8wOC8yMDI2IGF0IDE3OjMzLi4KW0RpcmVjdFhdIFByZXZlbnQgYGR4aWwtcmVz b3VyY2UtYWNjZXNzYCBmcm9tIGluc2VydGluZyBhIHJlc291cmNlIGFjY2VzcyBpbi1iZXR3ZWVu IHBoaSBub2RlcyAoIzIxMTM0MykKClRoZSBwYXNzIGNhbiBpbmNvcnJlY3RseSBwbGFjZSBhIGxv YWQvc3RvcmUgd2l0aGluIHRoZSBwaGkgbm9kZXMgYXQgdG9wCm9mIHRoZSBiYXNpYyBibG9jazog aHR0cHM6Ly9nb2Rib2x0Lm9yZy96L3g1RWM0R1dHVAoKVGhpcyBpcyByZXNvbHZlZCBieSB1cGRh dGluZyBgcmVwbGFjZUhhbmRsZVdpdGhJbmRpY2VzYCB0byBhZGp1c3QgdGhlCmluc2VydGlvbiBw b2ludCB3aGVuIHRoZSBwdHIgY29tZXMgZnJvbSBhIHBoaSBub2RlLgoKUmVzb2x2ZXMsIGluIHBh cnQsIGh0dHBzOi8vZ2l0aHViLmNvbS9sbHZtL2xsdm0tcHJvamVjdC9pc3N1ZXMvMjExMTIxCgpB c3Npc3RlZCBieTogQ2xhdWRlIE9wdXMgNC44Cmh0dHBzOi8vaW52ZW50LmtkZS5vcmcvcXQvY2xh bmcvbGx2bS1wcm9qZWN0Ly0vY29tbWl0Lzc2MDljYjgzYmY1ZmM1YzI1ZTI4Nzc3MGRiMjc3ZGJi MzRlNjc0YjgKCkdpdCBjb21taXQgNTM4MmY3ZDY0ZmY1OWQxOTgwOTFmZmQyNjNkN2FkZWNmNWQ3 ZGQ1YSBieSBHaXRIdWIgKG9uIGJlaGFsZiBvZiBCZW5qYW1pbiBNYXh3ZWxsKSBvbiAwNC8wOC8y MDI2IGF0IDE3OjQ4Li4KW0Nvc3RNb2RlbF1bQUFyY2g2NF0gQWRkIGluaXRpYWwgY29zdHMgZm9y IGBtYXNrZWQuY29tcHJlc3NzdG9yZWAgKCMyMTM3MTIpCgpUaGlzIGFkZHMgYW4gaW5pdGlhbCBj b3N0IG1vZGVsIGZvciBgbWFza2VkLmNvbXByZXNzc3RvcmVgLiBUaGUgdGVzdHMKYXJlIGJhc2Vk IG9uIGBtYXNrZWRfZXhwYW5kX2xvYWQubGxgLCB3aGljaCBjb3ZlcnMgYWxsIGNvbmZpZ3VyYXRp b25zCmZvciB0aGUgYGV4cGFuZGAvYGNvbXBhY3RgIGluc3RydWN0aW9ucy4KCk5vdGU6IFJpZ2h0 IG5vdywgd2Ugb25seSByZXBvcnQgdmFsaWQgY29zdHMgZm9yIGBtYXNrZWQuY29tcHJlc3NzdG9y ZWAKb3BlcmF0aW9ucyB0aGF0IGNhbiBiZSBsb3dlcmVkIHdpdGggU1ZFMSAoYXMgdGhhdCdzIGFs bCB3ZSBoYW5kbGUgSVNFTApmb3IgYXQgdGhlIG1vbWVudCkuCmh0dHBzOi8vaW52ZW50LmtkZS5v cmcvcXQvY2xhbmcvbGx2bS1wcm9qZWN0Ly0vY29tbWl0LzUzODJmN2Q2NGZmNTlkMTk4MDkxZmZk MjYzZDdhZGVjZjVkN2RkNWEKCkdpdCBjb21taXQgYWYxNDQ1NmEyYmFjNTUwMjZiMmQ1N2NiZjE0 YjM5MDVjNDUyYjhhNCBieSBHaXRIdWIgKG9uIGJlaGFsZiBvZiBhcnNueWRlcjE2KSBvbiAwNC8w OC8yMDI2IGF0IDE3OjUyLi4KW09wZW5NUF0gU2ltcGxpZnkgZ2VuZXJpYyBtaWNyb3Rhc2sgZGlz cGF0Y2ggKCMyMTQwMDQpCgpSZXBsYWNlIHRoZSBnZW5lcmljIG1pY3JvdGFzayBkaXNwYXRjaGVy J3MgaGFuZHdyaXR0ZW4gZnVuY3Rpb24tcG9pbnRlcgp0eXBlcyBhbmQgY2FsbHMgd2l0aCBhIHZh cmlhZGljLXRlbXBsYXRlIGhlbHBlciBhbmQgYSBtYWNybyBmb3IgZWFjaApzdXBwb3J0ZWQgYXJn dW1lbnQgY291bnQuCgpUaGUgZGlzcGF0Y2hlciBzdGlsbCBjYXN0cyBlYWNoIG1pY3JvdGFzayB0 byB0aGUgZXhhY3QgZml4ZWQtYXJpdHkKc2lnbmF0dXJlIHJlcXVpcmVkIGJ5IHBsYXRmb3JtcyBz dWNoIGFzIFdlYkFzc2VtYmx5LiBUaGlzIGlzIGludGVuZGVkIGFzCmEgcmVmYWN0b3Igb25seTog dGhlIGV4aXN0aW5nIGxpbWl0IG9mIDE1IG1pY3JvdGFzayBhcmd1bWVudHMgYW5kIHRoZQpkaWFn bm9zdGljIGZvciBsYXJnZXIgYXJndW1lbnQgY291bnRzIHJlbWFpbiB1bmNoYW5nZWQuCgpUaGlz IHJlZHVjZXMgdGhlIHJlcGV0aXRpdmUgY29kZSBhbmQgbWFrZXMgZnV0dXJlIGNoYW5nZXMgdG8g dGhlCnN1cHBvcnRlZCBhcmd1bWVudCByYW5nZSBlYXNpZXIgdG8gcmV2aWV3LgoKU3BsaXQgb3V0 IGZyb20gIzIxMTA3MQpodHRwczovL2ludmVudC5rZGUub3JnL3F0L2NsYW5nL2xsdm0tcHJvamVj dC8tL2NvbW1pdC9hZjE0NDU2YTJiYWM1NTAyNmIyZDU3Y2JmMTRiMzkwNWM0NTJiOGE0CgpHaXQg Y29tbWl0IDJhMmFkZGUzNTkzNzY2N2RkOTNkYzU1OTRhYzVkNTI4NDJlMTE2ZDIgYnkgR2l0SHVi IChvbiBiZWhhbGYgb2YgQ2hpbm1heSBEZXNocGFuZGUpIG9uIDA0LzA4LzIwMjYgYXQgMTc6NTYu LgpbQU1ER1BVXVtHSVNlbF0gQWRkIFJlZ0JhbmtMZWdhbGl6ZSBydWxlcyBmb3IgbGx2bS5hbWRn Y24uZmRvdDIuYmYxNi5iZjE2ICgjMjE0MDEzKQpodHRwczovL2ludmVudC5rZGUub3JnL3F0L2Ns YW5nL2xsdm0tcHJvamVjdC8tL2NvbW1pdC8yYTJhZGRlMzU5Mzc2NjdkZDkzZGM1NTk0YWM1ZDUy ODQyZTExNmQyCgpHaXQgY29tbWl0IDUwMDk2MjI5OGQ2MjRhNzRhZGU1OGMyYWViNjUzMTNmYjMy ZGRhNWEgYnkgR2l0SHViIChvbiBiZWhhbGYgb2YgQWxleGV5IEJhdGFldikgb24gMDQvMDgvMjAy NiBhdCAxNzo1Ny4uCltJbnN0Q29tYmluZV1Gb2xkIGZjbXArc2VsZWN0IHRvIG1pbi9tYXggaWYg aXRzIHplcm8gc2lnbiBpcyBtaXNzaW5nCgpMb29rIHRocm91Z2ggcGhpcywgY2hhaW5lZCBzZWxl Y3RzIGFuZCB0aGUgbG9vcCBiYWNrIGVkZ2UgdG8gdGhlCnNlbGVjdCBpdHNlbGYgYW5kIGZvbGQg aWYgbm8gdXNlIGNhbiBvYnNlcnZlIHRoZSBzaWduIG9mIHplcm8gb2YgdGhlCnJlc3VsdC4gVGhp cyByZXN0b3JlcyB0aGUgZm9sZCBmb3IgbG9vcC1jYXJyaWVkIGFuZCB1bnJvbGxlZCBydW5uaW5n Cm1pbi9tYXggdmFsdWVzIChmY3NlbCAtPiBmbWlubm0gb24gQUFyY2g2NCkgbG9zdCB0byB0aGUg c2lnbmVkIHplcm8KaGFuZGxpbmcgZml4IGluIG1hdGNoU2VsZWN0UGF0dGVybiAoIzIxMDA3Nyku CgpSZXZpZXdlcnM6IG5pa2ljLCBkdGN4enl3CgpQdWxsIFJlcXVlc3Q6IGh0dHBzOi8vZ2l0aHVi LmNvbS9sbHZtL2xsdm0tcHJvamVjdC9wdWxsLzIxMzEzMwpodHRwczovL2ludmVudC5rZGUub3Jn L3F0L2NsYW5nL2xsdm0tcHJvamVjdC8tL2NvbW1pdC81MDA5NjIyOThkNjI0YTc0YWRlNThjMmFl YjY1MzEzZmIzMmRkYTVhCgpHaXQgY29tbWl0IDcwZWNjNWJiNjIxODdjYTcwZTZmZTRlNTYzZGJk NjBmODhjMmU3YTAgYnkgR2l0SHViIChvbiBiZWhhbGYgb2YgVGltdXIgR29sdWJvdmljaCkgb24g MDQvMDgvMjAyNiBhdCAxNzo1OC4uClJldmVydCAiW0dsb2JhbElTZWxdIENvbWJpbmUgbWVyZ2Ut dW5tZXJnZSB3aXRoIG1peGVkIHNjYWxhciBhbmQgdmVjdG9yIHR5cGVzIiAoIzIxNDAxMCkKClJl dmVydHMgbGx2bS9sbHZtLXByb2plY3QjMjEzMDg2Cmh0dHBzOi8vaW52ZW50LmtkZS5vcmcvcXQv Y2xhbmcvbGx2bS1wcm9qZWN0Ly0vY29tbWl0LzcwZWNjNWJiNjIxODdjYTcwZTZmZTRlNTYzZGJk NjBmODhjMmU3YTAKCkdpdCBjb21taXQgNjMyNmYxNGNkYzEyYmFiZmRjNDM1OWY1ZGRkNGRmY2Q2 NmI1M2YzMyBieSBHaXRIdWIgKG9uIGJlaGFsZiBvZiBBZGFtIFNtaXRoKSBvbiAwNC8wOC8yMDI2 IGF0IDE4OjAzLi4KW0NJUl0gTG93ZXIgdmFyaWFkaWMgY2FsbHMgaW4gQ2FsbENvbnZMb3dlcmlu ZyBmb3IgeDg2XzY0ICgjMjEzMzE1KQoKQ2FsbENvbnZMb3dlcmluZyBjbGFzc2lmaWVkIGVhY2gg ZnVuY3Rpb24gb25jZSBmcm9tIGl0cyBkZWNsYXJlZApzaWduYXR1cmUgYW5kIHJldXNlZCB0aGF0 IGNsYXNzaWZpY2F0aW9uIGF0IGV2ZXJ5IGNhbGwgc2l0ZS4gQW4gYXJndW1lbnQKcGFzc2VkIHRo cm91Z2ggYW4gZWxsaXBzaXMgaGFzIG5vIGVudHJ5IGluIHRoZSBjYWxsZWUncyBwYXJhbWV0ZXIg bGlzdCwKc28gb24geDg2XzY0IGFuIGVsbGlwc2lzIGFyZ3VtZW50IHRoYXQgbmVlZGVkIGFuIGV4 dGVuc2lvbiBhdHRyaWJ1dGUsIGEKcmVnaXN0ZXIgY29lcmNpb24sIG9yIGEgYnl2YWwgc2xvdCB3 YXMgZW1pdHRlZCB1bmNoYW5nZWQgd2hlbmV2ZXIgdGhlCmNhbGxlZSdzIGRlY2xhcmVkIHBhcmFt ZXRlcnMgaGFwcGVuZWQgdG8gbmVlZCBubyByZXdyaXRlLCBhbmQgcmVwb3J0ZWQKTllJIHdoZW4g dGhleSBkaWQuCgpBbiBlbGxpcHNpcyBhcmd1bWVudCBjb21wZXRlcyBmb3IgdGhlIHNhbWUgcmVn aXN0ZXJzIGFzIGEgZGVjbGFyZWQgb25lLApzbyB0aGUgc2FtZSB0d28tZWlnaHRieXRlIHJlY29y ZCBnb2VzIGluIGEgcmVnaXN0ZXIgcGFpciBlYXJseSBpbiB0aGUKbGlzdCBhbmQgYnl2YWwgb25j ZSB0aGUgaW50ZWdlciByZWdpc3RlcnMgYXJlIGdvbmUuIFZhcmlhZGljIGNhbGwgc2l0ZXMKdW5k ZXIgdGhlIHg4Nl82NCBkcml2ZXIgYXJlIG5vdyBjbGFzc2lmaWVkIGZyb20gdGhlIGNhbGwncyBv d24gb3BlcmFuZAp0eXBlcywgYW5kIHRoZSBkZWNsYXJlZCBwYXJhbWV0ZXIgY291bnQgcmVhY2hl cwpgbGx2bTo6YWJpOjpGdW5jdGlvbkluZm86OmNyZWF0ZWAgYXMgaXRzIGBOdW1SZXF1aXJlZGAg YXJndW1lbnQsIHdoaWNoCmlzIHdoYXQgbGV0cyB0aGUgY2xhc3NpZmllciB0ZWxsIGEgbmFtZWQg YXJndW1lbnQgZnJvbSBvbmUgcGFzc2VkCnRocm91Z2ggdGhlIGVsbGlwc2lzLiBUb2RheSB0aGF0 IGZsYWcgb25seSBkZWNpZGVzIHdoZXRoZXIgYSBsYXJnZQp2ZWN0b3IgZ29lcyBpbiBhIHJlZ2lz dGVyLCBhbmQgdGhlIENJUiB0eXBlIGJyaWRnZSBhZG1pdHMgbm8gdmVjdG9yCnR5cGVzLCBzbyB0 aGUgYm91bmRhcnkgY2hhbmdlcyBubyBvdXRwdXQgeWV0LgoKYHByZXBlbmRJbmRpcmVjdENhbGxl ZWAgYWxzbyByZWJ1aWx0IHRoZSBjYWxsZWUgcG9pbnRlcidzIHBvaW50ZWUKd2l0aG91dCBgaXNW YXJBcmdgLCBkcm9wcGluZyB0aGUgZWxsaXBzaXMgZnJvbSBhIGxvd2VyZWQgaW5kaXJlY3QgY2Fs bAphbmQgd2l0aCBpdCB0aGUgdmVjdG9yLXJlZ2lzdGVyIGNvdW50IHRoZSB4ODZfNjQgU3lzViBB QkkgcGFzc2VzIGluIEFMLgpBIHZvaWQgcmV0dXJuIGFuZCBhIHJldHVybiB0aGUgQUJJIGRyb3Bz LCBzdWNoIGFzIGFuIGVtcHR5IHJlY29yZCwgYm90aApjbGFzc2lmeSBhcyBgSWdub3JlYCB3aGls ZSBuZWVkaW5nIG9wcG9zaXRlIHRyZWF0bWVudCwgc28KYEZ1bmN0aW9uQ2xhc3NpZmljYXRpb25g IG5vdyByZWNvcmRzIHdoaWNoIG9uZSBpdCB3YXMgd2hlcmUgdGhlCmNsYXNzaWZpY2F0aW9uIGlz IHByb2R1Y2VkLiBgbmVlZHNSZXdyaXRlYCBtb3ZlcyBmcm9tIHRoZSBDSVIgcmV3cml0ZXIKdG8g YG1saXIvaW5jbHVkZS9tbGlyL0FCSS9BQklSZXdyaXRlQ29udGV4dC5oYCwgb3ZlciBhIG5ldyBw ZXItYXJndW1lbnQKYGlzUGFzc1Rocm91Z2hgLCBzbyB0aGUgcGFzcyBhbmQgdGhlIHJld3JpdGVy IHNoYXJlIG9uZSBkZWZpbml0aW9uLgoKVHdvIHRoaW5ncyBhcmUgbmV3bHkgZGlhZ25vc2VkIHJh dGhlciB0aGFuIG5ld2x5IGJyb2tlbi4gVGhlCm9wZXJhbmQtY291bnQgY2hlY2sgbW92ZXMgYWhl YWQgb2YgdGhlIHBhc3MtdGhyb3VnaCBlYXJseSByZXR1cm4sIHNvIGEKY2FsbCB3aG9zZSBvcGVy YW5kIGNvdW50IGRpc2FncmVlcyB3aXRoIGEgYG5vX3Byb3RvYCBjYWxsZWUncwpkZWNsYXJhdGlv biBpcyByZXBvcnRlZCBpbnN0ZWFkIG9mIGxvd2VyZWQgd2l0aCBvcGVyYW5kcyB0aGUKY2xhc3Np ZmljYXRpb24gbmV2ZXIgY292ZXJlZC4gQW5kIHRoZSBpbmRpcmVjdC1jYWxsIHdhbGsgdmlzaXRz CmBjaXI6OkNJUkNhbGxPcEludGVyZmFjZWAgcmF0aGVyIHRoYW4gb25seSBgY2lyLmNhbGxgLCBz byBhIHZhcmlhZGljCmluZGlyZWN0IGBjaXIudHJ5X2NhbGxgIGlzIGFjY291bnRlZCBmb3IsIGFu ZCBvbmUgdGhhdCBuZWVkcyBhIHJld3JpdGUKaXMgcmVwb3J0ZWQgaW5zdGVhZCBvZiBsZWZ0IGFz IHdyaXR0ZW4gd2hpbGUgdGhlIHNpZ25hdHVyZSBhcm91bmQgaXQgaXMKY29lcmNlZC4gQSBub24t dmFyaWFkaWMgaW5kaXJlY3QgYGNpci50cnlfY2FsbGAgaXMgZmlsdGVyZWQgb3V0IHdoZXJlCnRo ZSB3YWxrIGNvbGxlY3RzLCBzaW5jZSByZXdyaXRpbmcgb25lIGlzIHVuaW1wbGVtZW50ZWQgZWl0 aGVyIHdheSBhbmQKdGhhdCBnYXAgaGFzIG5vdGhpbmcgdG8gZG8gd2l0aCB0aGUgZWxsaXBzaXMu IFJlcG9ydGVkIE5ZSTogdmFyaWFkaWMKaW5kaXJlY3QgY2FsbHMgdGhhdCBuZWVkIGEgcmV3cml0 ZSwgdmFyaWFkaWMgY2FsbHMgdW5kZXIgdGhlIG90aGVyCmRyaXZlcnMsIGFuZCBhbiBlbGxpcHNp cyBhcmd1bWVudCB3aG9zZSBBQkkgY29lcmNpb24gdGhlIHR5cGUgYnJpZGdlCmNhbm5vdCByZXBy ZXNlbnQuCmh0dHBzOi8vaW52ZW50LmtkZS5vcmcvcXQvY2xhbmcvbGx2bS1wcm9qZWN0Ly0vY29t bWl0LzYzMjZmMTRjZGMxMmJhYmZkYzQzNTlmNWRkZDRkZmNkNjZiNTNmMzMKCkdpdCBjb21taXQg YzlmMmJhMjI4NDllNTBkZjEyNzdkYjgyMjVhNjQxMGJhOWRkY2I1ZSBieSBHaXRIdWIgKG9uIGJl aGFsZiBvZiBTYW0gRWxsaW90dCkgb24gMDQvMDgvMjAyNiBhdCAxODowOS4uCltSSVNDVl0gRml4 IFhxY2kgRnVzaW9ucyB3aXRoIEZyYW1lIEluZGV4ZXMgKCMyMTM4MTUpCgpQcmUtUkEsIHRoZSBB RERJIGNhbiBjb250YWluIGEgZnJhbWUgaW5kZXggcmF0aGVyIHRoYW4gYSByZWdpc3Rlciwgd2hp Y2gKY2F1c2VzIGBnZXRSZWcoKWAgdG8gYXNzZXJ0LiBUaGVzZSB3ZXJlIG1pc3NpbmcgdGhlIGBD aGVja0lzUmVnT3BlcmFuZGAKdGhhdCBtb3N0IG90aGVyIGZ1c2lvbnMgaGF2ZS4KaHR0cHM6Ly9p bnZlbnQua2RlLm9yZy9xdC9jbGFuZy9sbHZtLXByb2plY3QvLS9jb21taXQvYzlmMmJhMjI4NDll NTBkZjEyNzdkYjgyMjVhNjQxMGJhOWRkY2I1ZQoKR2l0IGNvbW1pdCBjYWZkMzZiZmNlNjc2ODIx OTNjM2Q1ZGE1OTFiMDUxYTQ2MGU1MGY2IGJ5IEdpdEh1YiAob24gYmVoYWxmIG9mIEVyaWNoIEtl YW5lKSBvbiAwNC8wOC8yMDI2IGF0IDE4OjExLi4KW05GQ11bQ0lSXSBQcm9wYWdhdGUgU3ltYm9s VGFibGVzIGJldHRlciAoIzIxMzk3MikKClRoaXMgY2FtZSB1cCBkdXJpbmcgc2VsZi1idWlsZCwg d2UgYXJlIHNwZW5kaW5nIGEgbG90IG9mIHRpbWUgaW4gc29tZQpjYXNlcyBsb29raW5nIHVwIHVz aW5nIHRoZSBnbG9iYWwgc3ltYm9sIHRhYmxlLCB3aGljaCBkb2VzIG5vIGNhY2hpbmcuClByZXZp b3VzbHkgd2UnZCBwcm9wYWdhdGVkIHRoaXMgaW4gYSBmZXcgcGxhY2VzLCBidXQgdGhpcyBwYXRj aCByZW1vdmVzCmFsbCB1c2VzIG9mIFN5bWJvbFRhYmxlOjpsb29rdXAgYW5kIGFkZHMgdGhlIGNh Y2hlIGV2ZXJ5d2hlcmUuCgpUaGlzIGludm9sdmVkIGNoYW5naW5nIHRoZSB0YWJsZWdlbiB0byBp bmNsdWRlIGl0IGluIGVhY2ggb2Ygb3VyCnJld3JpdGVycywgcGx1cyB0aGUgQ2lyQXR0ciBsb3dl cmluZyBldmVyeXdoZXJlLgoKVGhlIG9ubHkgdGhpbmcgd2UgaGF2ZSB0byB0YWtlIGNhcmUgb2Yg aXMgdG8gbWFrZSBzdXJlIHdlIGludmFsaWRhdGUgdGhlCmNhY2hlL3VwZGF0ZSB0aGUgY2FjaGUg d2hlbmV2ZXIgd2UgYWRkIHNvbWV0aGluZyB3aXRoIGEgbmFtZSAoc2VlCmNyZWF0ZUxMVk1GdW5j T3BJZk5vdEV4aXN0KS4KClRoaXMgaXMgTkZDLCBhcyBpdCBpc24ndCBvYnNlcnZhYmxlLCBvdGhl ciB0aGFuIGJlaW5nIGEgYnVpbGQgdGltZQppbXByb3ZlbWVudC4KaHR0cHM6Ly9pbnZlbnQua2Rl Lm9yZy9xdC9jbGFuZy9sbHZtLXByb2plY3QvLS9jb21taXQvY2FmZDM2YmZjZTY3NjgyMTkzYzNk NWRhNTkxYjA1MWE0NjBlNTBmNgoKR2l0IGNvbW1pdCAxZjY5YTE2Mjg5NDc4YzlhN2IyY2RhNWRm NGNkMTZkNjYwOWViMmMyIGJ5IEdpdEh1YiAob24gYmVoYWxmIG9mIFNpbW9uIFBpbGdyaW0pIG9u IDA0LzA4LzIwMjYgYXQgMTg6MTUuLgpbQ29zdE1vZGVsXVtYODZdIGdldEFyaXRobWV0aWNSZWR1 Y3Rpb25Db3N0IC0gZW5zdXJlIHdlIHRlc3QgdGhlIHZYaTEgcmVkdWN0aW9ucyB0eXBlcyBiZWZv cmUgbGVnYWxpc2F0aW9uICgjMjExMDQzKQoKUHJlLUFWWDUxMiB0aGVzZSB3aWxsIGJlIGxlZ2Fs aXplZCB0byB3aWRlciB2ZWN0b3IgdHlwZXMgYW5kIG1pZ2h0IG1hdGNoCmFnYWluc3Qgb3RoZXIg cmVkdWN0aW9ucyB0YWJsZXMuCgpOb3RpY2VkIHdoaWxlIHdvcmtpbmcgb24gaW1wcm92aW5nIGxv Z2ljIHJlZHVjdGlvbnMsIGJ1dCBoaXQgYSBjYXNlCndpdGgvd2l0aG91dCBwb3BjbnQgZm9yIGJv b2wgc3VtIHJlZHVjdGlvbiBwYXR0ZXJucyAtIEkndmUgYWRkZWQgYSBBVlgyCnRlc3QgcGFzcyB0 byBjaGVjayB0aGUgKGNvcnJlY3RlZCkgY29zdHMgYXJlIHN0aWxsIHdvcmtpbmcKaHR0cHM6Ly9p bnZlbnQua2RlLm9yZy9xdC9jbGFuZy9sbHZtLXByb2plY3QvLS9jb21taXQvMWY2OWExNjI4OTQ3 OGM5YTdiMmNkYTVkZjRjZDE2ZDY2MDllYjJjMgoKR2l0IGNvbW1pdCAwOGE4NzM5YWM4OWEyN2M3 ZGJkMDM0OTI2NjYxMWNhOTQ4NjZhZTJmIGJ5IEdpdEh1YiAob24gYmVoYWxmIG9mIE5lcml4eXop IG9uIDA0LzA4LzIwMjYgYXQgMTg6MTYuLgpbbGxkYl1bUHl0aG9uXSBJbmxpbmUgYGxsZGJfaXRl cmAgZm9yIGJldHRlciB0eXBlIGluZmVyZW5jZSAoIzIxNDAwMCkKCkN1cnJlbnRseSwgdGhlIGBs bGRiX2l0ZXJgIGhlbHBlciBpcyB1c2VkIGZvciBwcm92aWRpbmcgYF9faXRlcl9fYCBpbgp0aGUg UHl0aG9uIGJpbmRpbmdzOgpgYGBweXRob24KZGVmIGxsZGJfaXRlcihvYmosIGdldHNpemUsIGdl dGVsZW0pOgogICAgIiIiQSBnZW5lcmF0b3IgYWRhcHRvciB0byBzdXBwb3J0IGl0ZXJhdGlvbiBm b3IgbGxkYiBjb250YWluZXIgb2JqZWN0cy4iIiIKICAgIHNpemUgPSBnZXRhdHRyKG9iaiwgZ2V0 c2l6ZSkKICAgIGVsZW0gPSBnZXRhdHRyKG9iaiwgZ2V0ZWxlbSkKICAgIGZvciBpIGluIHJhbmdl KHNpemUoKSk6CiAgICAgICAgeWllbGQgZWxlbShpKQpgYGAKCkEgdHlwZSBjaGVja2VyIG9yIExT UCBjYW4ndCBzZWUgdGhyb3VnaCB0aGlzIGZ1bmN0aW9uLiBDdXJyZW50bHksIHRoYXQncwpubyBw cm9ibGVtLCBiZWNhdXNlIGl0IGRvZXNuJ3Qga25vdyB0aGUgcmV0dXJuIHR5cGUgb2YgYW55IFN3 aWcgd3JhcHBlciwKYnV0IHdoZW4gd2UgYWRkIHR5cGUgYW5ub3RhdGlvbnMgKGhvcGVmdWxseSB3 aXRoIFN3aWcgNC41IGluICMyMTM0NjMpLApgX19pdGVyX19gIHJlbWFpbnMgdW50eXBlZC4gU28g aXRlcmF0aW5nIHRocm91Z2ggdGhlIHdyYXBwZXJzIHdvbid0IHNob3cKdGhlIGNvcnJlY3QgdHlw ZS4KCkFzIHRoZSBmdW5jdGlvbmFsaXR5IGlzIGZhaXJseSBzaW1wbGUsIGl0J3MgZWFzaWVyIHRv IGlubGluZSBpdC4gVGhhdCdzCndoYXQgdGhpcyBQUiBkb2VzLiBUaGVuIGEgdHlwZSBjaGVja2Vy IGNhbiBpbmZlciB0aGUgcmV0dXJuIHR5cGUuCmh0dHBzOi8vaW52ZW50LmtkZS5vcmcvcXQvY2xh bmcvbGx2bS1wcm9qZWN0Ly0vY29tbWl0LzA4YTg3MzlhYzg5YTI3YzdkYmQwMzQ5MjY2NjExY2E5 NDg2NmFlMmYKCkdpdCBjb21taXQgYWI0ZjIxMGEzMTI3ZTNiYTE3NzM4MTg5MTE5NDE0NGY5Mjc5 OGJhNiBieSBHaXRIdWIgKG9uIGJlaGFsZiBvZiBNYXR0IEFyc2VuYXVsdCkgb24gMDQvMDgvMjAy NiBhdCAxODoxNy4uCmNsYW5nOiBSZXBsYWNlIElzKk9mZmxvYWRBcmNoIGZyZWUgZnVuY3Rpb25z IHdpdGggT2ZmbG9hZEFyY2ggbWV0aG9kcyAoIzIxMzM2MykKaHR0cHM6Ly9pbnZlbnQua2RlLm9y Zy9xdC9jbGFuZy9sbHZtLXByb2plY3QvLS9jb21taXQvYWI0ZjIxMGEzMTI3ZTNiYTE3NzM4MTg5 MTE5NDE0NGY5Mjc5OGJhNgoKR2l0IGNvbW1pdCBhOWE2ZWRiNTkzNWM5ZjQyYzU5MjgzNjYxMjM1 NmJlYTU2ZTNjMDhiIGJ5IEdpdEh1YiAob24gYmVoYWxmIG9mIEFsZXhleSBCYXRhZXYpIG9uIDA0 LzA4LzIwMjYgYXQgMTg6MTguLgpbU0xQXVZlY3Rvcml6ZSBzaW5nbGUtdXNlciBpbnN0cnVjdGlv bnMgYXMgdGhlIGxhc3QtYXR0ZW1wdCBzZWVkcwoKSW5zdHJ1Y3Rpb25zIHdpdGggdGhlIHNpbmds ZSB1c2VyIGNvc3Qgb25lIGV4dHJhY3QgcGVyIGxhbmUsIHNvIHRoZXkgYXJlCnZlY3Rvcml6ZWQg YWZ0ZXIgYWxsIG90aGVyIHJvb3RzIGluIHRoZSBmdW5jdGlvbiBhcmUgZXhoYXVzdGVkLCBncm91 cGVkIGJ5CnRoZSBrZXkvc3Via2V5IHBhaXJzLiBMb2FkcywgYWRkcmVzc2VzLCBjb21wYXJlcyBh bmQgdGhlIG9wZXJhdGlvbnMsIGZvbGRlZAphd2F5IG9yIGNvbnRyYWN0ZWQgaW50byB0aGUgc2Nh bGFyIEZNQSwgYXJlIGV4Y2x1ZGVkLiBUaGUgcmVqZWN0ZWQgYnVuZGxlcwphbmQgdGhlIG1lbWJl cnMgb2YgdGhlIHByaWNlZCBtaW5pbWFsIG5vZGVzIGFyZSBub3QgcmV0cmllZCwgdW5sZXNzIHRo ZQp0cmVlIHdhcyBkcm9wcGVkIGJ5IHRoZSByZXBhY2tpbmcgb3ZlcmhlYWQgcmF0aGVyIHRoYW4g YnkgdGhlIG1lbWJlcnMuCgpSZXZpZXdlcnM6IGhpcmFkaXR5YSwgUktTaW1vbiwgYmFiYWJ1Y2sK ClB1bGwgUmVxdWVzdDogaHR0cHM6Ly9naXRodWIuY29tL2xsdm0vbGx2bS1wcm9qZWN0L3B1bGwv MjEyNTc5Cmh0dHBzOi8vaW52ZW50LmtkZS5vcmcvcXQvY2xhbmcvbGx2bS1wcm9qZWN0Ly0vY29t bWl0L2E5YTZlZGI1OTM1YzlmNDJjNTkyODM2NjEyMzU2YmVhNTZlM2MwOGIKCkdpdCBjb21taXQg NDAyYzlmOWE3NzZkYzIwZDAzZTMzYzQ0N2Q4NjYzNGM0ODZhNTQzNCBieSBHaXRIdWIgKG9uIGJl aGFsZiBvZiBIZW5yeSBKaWFuZykgb24gMDQvMDgvMjAyNiBhdCAxODoyMy4uCltORkNdW0N1ZGFd W3Rlc3RdIEZpeCBDSEVDSy1OT1QgcGF0dGVybnMgbWF0Y2hpbmcgdGhlIGJ1aWxkIGRpcmVjdG9y eSAoIzIxMzc5OSkKCmBjdWRhLW9tcC11bnN1cHBvcnRlZC1kZWJ1Zy1vcHRpb25zLmN1YCdzIENP TU1PTi1OT1Q6IC4uLnxsbGRifC4uLiBjYW4KbWF0Y2ggYWdhaW5zdCB0aGUgYnVpbGQgZGlyZWN0 b3J5IHBhdGggdGhhdCBtYXkgY29udGFpbiBgbGxkYmAgaW4gdGhlCnBhdGhuYW1lLiBDaGFuZ2Ug dGhlIHRlc3QgdG8gY2hlY2sgdGhlIGV4YWN0IGNjMSBhcmd1bWVudHMuCgpyZGFyOi8vMTgzNTAx NTU4Cmh0dHBzOi8vaW52ZW50LmtkZS5vcmcvcXQvY2xhbmcvbGx2bS1wcm9qZWN0Ly0vY29tbWl0 LzQwMmM5ZjlhNzc2ZGMyMGQwM2UzM2M0NDdkODY2MzRjNDg2YTU0MzQKCkdpdCBjb21taXQgZjU5 ZDZmNWY4NjZiOTc0MTM1MTBmYTExOTE0NDY1MWZiYmJjNzEyMyBieSBHaXRIdWIgKG9uIGJlaGFs ZiBvZiBVc2FtYSBIYW1lZWQpIG9uIDA0LzA4LzIwMjYgYXQgMTg6NDkuLgpbY2xhbmddW3Rlc3Rd IEFkZCB0ZXN0IGZvciBzdGFja19wcm90ZWN0b3JfaWdub3JlIGluIHN5c3RlbSBtYWNyb3MgKCMy MTM3NzApCgpkMzE4NGJjNmM2YTggKCJbY2xhbmddIERvbid0IHdhcm4gb24gc3RhY2tfcHJvdGVj dG9yX2lnbm9yZSBpbiBzeXN0ZW0KbWFjcm9zIikgYWRkZWQgU3VwcHJlc3NJblN5c3RlbU1hY3Jv IHRvCndhcm5fc3RhY2tfcHJvdGVjdGlvbl9pZ25vcmVfYXR0cmlidXRlIGJ1dCBvbmx5IGFkZGVk IGFuIExMVk0gQ29kZUdlbgp0ZXN0IGZvciB0aGUgc3RhY2stcHJvdGVjdG9yIG1ldGFkYXRhLCBz byB0aGUgZGlhZ25vc3RpYyBjaGFuZ2UgaXRzZWxmCndhcyB1bnRlc3RlZC4KCkFkZCBhIHRlc3Qg dXNpbmcgdGhlIHNlbGYtaW5jbHVkZSBzeXN0ZW1faGVhZGVyIGlkaW9tOiB0aGUgYXR0cmlidXRl CmZyb20gYSBzeXN0ZW0gaGVhZGVyIG1hY3JvIGRvZXMgbm90IHdhcm4gdW5kZXIgLWZzdGFjay1w cm90ZWN0b3ItYWxsLAp3aGlsZSBvbmUgd3JpdHRlbiBpbiB1c2VyIGNvZGUgc3RpbGwgZG9lcy4K CnJkYXI6Ly8xODM5NjI5ODUKaHR0cHM6Ly9pbnZlbnQua2RlLm9yZy9xdC9jbGFuZy9sbHZtLXBy b2plY3QvLS9jb21taXQvZjU5ZDZmNWY4NjZiOTc0MTM1MTBmYTExOTE0NDY1MWZiYmJjNzEyMwoK R2l0IGNvbW1pdCA0Mzc2YjhkNjY5NjFkYjM2MDk0NWRiNDRhYmU1MTBkOWYxM2FiZjYxIGJ5IEdp dEh1YiAob24gYmVoYWxmIG9mIEFsZXhleSBCYXRhZXYpIG9uIDA0LzA4LzIwMjYgYXQgMTg6NTcu LgpbU0xQXUZsYXR0ZW4gYWRkL3N1YiBhbmQgZmFkZC9mc3ViIGNoYWlucyBpbnRvIG9uZSByZWFz c29jaWF0ZWQgbm9kZQoKQSBwZWVsZWQgc3VidHJhY3Qga2VlcHMgdGhlIGNvbHVtbiBzaWduIGZv ciBpdHMgZmlyc3Qgb3BlcmFuZCBhbmQgZmxpcHMKaXQgZm9yIHRoZSBzZWNvbmQsIHNvIG1peGVk IGFkZC9zdWIgKGZhZGQvZnN1YiB3aXRoIHJlYXNzb2MpIGNoYWlucwpsaW5lYXJpemUgaW50byBw b3NpdGl2ZSBhbmQgbmVnYXRpdmUgb3BlcmFuZCBjb2x1bW5zIGNvbWJpbmluZyBhcwpzdW0ocG9z aXRpdmUpIC0gc3VtKG5lZ2F0aXZlKSwgd2l0aCBzdWJ0cmFoZW5kIGNvbHVtbnMgcmVvcmRlcmVk IGJ5CnZhbHVlIGZhbWlseS4gbnV3IGlzIG5vdyBhbHNvIGRyb3BwZWQgb24gbm9uLWV4YWN0IGNv bWJpbmVzIHdoZW4gYQpuZWdhdGVkIGxlYWYgZXhpc3RzLCBzaW5jZSBhIHJlZ3JvdXBlZCBzdWJ0 cmFoZW5kIHN1bSBjYW4gZXhjZWVkIHRoZQpvcmlnaW5hbCBydW5uaW5nIHRvdGFsLgoKUmV2aWV3 ZXJzOiBSS1NpbW9uLCBiYWJhYnVjaywgaGlyYWRpdHlhCgpQdWxsIFJlcXVlc3Q6IGh0dHBzOi8v Z2l0aHViLmNvbS9sbHZtL2xsdm0tcHJvamVjdC9wdWxsLzIxMzU0NApodHRwczovL2ludmVudC5r ZGUub3JnL3F0L2NsYW5nL2xsdm0tcHJvamVjdC8tL2NvbW1pdC80Mzc2YjhkNjY5NjFkYjM2MDk0 NWRiNDRhYmU1MTBkOWYxM2FiZjYxCgpHaXQgY29tbWl0IGIwN2ZjOGE0NGFhNmFjMDNlYzhlMGM3 OWIwNDEzNGJkYTg3YjUyNzkgYnkgR2l0SHViIChvbiBiZWhhbGYgb2YgRm9sa2VydCBkZSBWcmll cykgb24gMDQvMDgvMjAyNiBhdCAxOTowMC4uCltTUEFSQ10gRG8gbm90IHVzZSB0aGUgdW5pbXAg c3RydWN0LXJldHVybiBjb252ZW50aW9uIGZvciB6ZXJvLXNpemVkIHR5cGVzICgjMjEzNzMzKQoK R0NDIGhhcyBzcGVjaWFsIGhhbmRsaW5nIGZvciBhbiBgc3JldGAgb2YgYSB6ZXJvLXNpemVkIHR5 cGUsIG1hdGNoIHRoYXQKaGFuZGxpbmcuCgpodHRwczovL2dvZGJvbHQub3JnL3ovVGNyYWFvN3JU CgpJdCBzZWVtcyB1bmxpa2VseSBzb21lb25lIGlzIGFjdHVhbGx5IHJlbHlpbmcgb24gdGhpcywg c28gSSBoYXZlbid0CmFkZGVkIHRoZSBhYmkgY29tcGF0aWJpbGl0eSBsb2dpYy4gUnVzdCBob3dl dmVyIHVzZXMgemVyby1zaXplZCB0eXBlcwpxdWl0ZSBoZWF2aWx5LCBzbyBoYXZpbmcgdGhpcyB3 b3JrIGNvcnJlY3RseSBpcyB1c2VmdWwgdGhlcmUuCmh0dHBzOi8vaW52ZW50LmtkZS5vcmcvcXQv Y2xhbmcvbGx2bS1wcm9qZWN0Ly0vY29tbWl0L2IwN2ZjOGE0NGFhNmFjMDNlYzhlMGM3OWIwNDEz NGJkYTg3YjUyNzkKCkdpdCBjb21taXQgOGNmMzI2OGIzYTY1ZTE4NmYxMDQxMzlhM2Y1M2QwN2Rl OGQ1MDMyYSBieSBHaXRIdWIgKG9uIGJlaGFsZiBvZiBBbmR5IEtheWxvcikgb24gMDQvMDgvMjAy NiBhdCAxOToxMC4uCltDSVJdW0FBcmNoNjRdIFVzZSBDSVIncyBmbWEgYW5kIHNxcnQgZm9yIE5l b24gYnVpbHRpbnMgKCMyMTM4MDApCgpUaGlzIGNoYW5nZSByZXBsYWNlcyBzb21lIGxvY2F0aW9u cyB3aGVyZSB0aGUgTmVvbiBidWlsdGluIGhhbmRsaW5nIHdhcwpjYWxsaW5nIExMVk0gaW50cmlu c2ljcyBkaXJlY3RseSBmb3IgRk1BIGFuZCBzcXJ0IG9wZXJhdGlvbnMgcmF0aGVyIHRoYW4KdXNp bmcgdGhlIENJUiBvcGVyYXRpb25zLiBVc2luZyB0aGUgQ0lSIG9wZXJhdGlvbnMgd2lsbCBiZSBu ZWNlc3NhcnkgdG8KZ2V0IHRoZSBiZXN0IGNvbnN0cmFpbmVkIEZQIGhhbmRsaW5nLgoKVGhpcyB3 aWxsIHN0aWxsIHJlcXVpcmUgc2V0dGluZyB0aGUgZmVudiBhdHRyaWJ1dGUgb24gdGhlc2Ugb3Bl cmF0aW9ucwp3aGVuIG5lZWRlZC4gVGhpcyBjaGFuZ2UgaXMganVzdCB0aGUgZmlyc3Qgb2YgYSBm ZXcgcHJlbGltaW5hcnkgY2hhbmdlcwpuZWVkZWQgdG8gZ2V0IHVzIGluIGEgZ29vZCBzdGF0ZSB0 byBhZGQgdGhlIGNvbnN0cmFpbmVkIEZQIGhhbmRsaW5nLgoKQXNzaXN0ZWQtYnk6IEN1cnNvciAv IEdyb2sgNC41Cmh0dHBzOi8vaW52ZW50LmtkZS5vcmcvcXQvY2xhbmcvbGx2bS1wcm9qZWN0Ly0v Y29tbWl0LzhjZjMyNjhiM2E2NWUxODZmMTA0MTM5YTNmNTNkMDdkZThkNTAzMmEKCkdpdCBjb21t aXQgZDQ2Mjg1MjZiZGQyYzhiZDAzYWNkY2JmMGY5ZDg3MTBlZjI0MzQ4NiBieSBHaXRIdWIgKG9u IGJlaGFsZiBvZiBBbmR5IEtheWxvcikgb24gMDQvMDgvMjAyNiBhdCAxOToxNS4uCltDSVJdIEFw cGx5IEZQIGNvbnN0cmFpbnRzIHRvIGdsb2JhbCBpbml0aWFsaXplcnMgKCMyMTM3NzYpCgpCZWNh dXNlIENJUiBoYW5kbGVzIGdsb2JhbCBpbml0aWFsaXplcnMgdXNpbmcgYSByZWdpb24gb2YgdGhl IGNpci5nbG9iYWwKb3BlcmF0aW9uIGR1cmluZyBpbml0aWFsIGNvZGUgZ2VuZXJhdGlvbiwgdGhl c2UgaW5pdGlhbGl6ZXJzIGRvbid0CmF1dG9tYXRpY2FsbHkgZ2V0IHRoZSBzdHJpY3RmcCBzZXR1 cCBpbiBDSVJHZW5GdW5jdGlvbjo6c3RhcnRGdW5jdGlvbi4KClRoaXMgY2hhbmdlIGFkZHMgYW4g YXR0cmlidXRlIHRvIHRoZSBjaXIuZ2xvYmFsIG9wZXJhdGlvbiB0byB0cmFjawpmbG9hdGluZy1w b2ludCBjb25zdHJhaW50cyBzbyB0aGF0IHRoZSBgc3RyaWN0ZnBgIGF0dHJpYnV0ZSBjYW4gYmUg c2V0Cm9uIHRoZSBpbml0aWFsaXphdGlvbiBmdW5jdGlvbiB3aGVuIGl0IGlzIGNyZWF0ZWQgZHVy aW5nIEVIQUJJIGxvd2VyaW5nLgoKQXNzaXN0ZWQtYnk6IEN1cnNvciAvIHZhcmlvdXMgbW9kZWxz Cmh0dHBzOi8vaW52ZW50LmtkZS5vcmcvcXQvY2xhbmcvbGx2bS1wcm9qZWN0Ly0vY29tbWl0L2Q0 NjI4NTI2YmRkMmM4YmQwM2FjZGNiZjBmOWQ4NzEwZWYyNDM0ODYKCkdpdCBjb21taXQgMzJiNjQ1 ZDlkNjliOGMyZTYyODkwZmVkMTkyMDMzMzdiZWRkZjc5NyBieSBHaXRIdWIgKG9uIGJlaGFsZiBv ZiBFcmljIENocmlzdG9waGVyKSBvbiAwNC8wOC8yMDI2IGF0IDE5OjIxLi4KW0RlYnVnSW5mb10g VHJlYXQgdGFnIG9mZnNldHMgYXMgbm9uLWVtaXR0aW5nICgjMjExOTY5KQoKRFdfT1BfTExWTV90 YWdfb2Zmc2V0IGRvZXNuJ3QgZW1pdCBhbnl0aGluZyBpbnRvIHRoZSBEV0FSRiBleHByZXNzaW9u LApzbyBsb29rIHBhc3QgaXQgd2hlbiBkZWNpZGluZyB3aGV0aGVyIGEgcmVnaXN0ZXIgZXhwcmVz c2lvbiBpcyBjb21wbGV4Cm9yIHdoZXRoZXIgYXBwZW5kVG9TdGFjayBuZWVkcyB0byBhZGQgYSBk ZXJlZmVyZW5jZS4KClRlc3RlZCB3aXRoIG1ha2UgY2hlY2suCgpBc3Npc3RlZCB3aXRoIEFJLgpo dHRwczovL2ludmVudC5rZGUub3JnL3F0L2NsYW5nL2xsdm0tcHJvamVjdC8tL2NvbW1pdC8zMmI2 NDVkOWQ2OWI4YzJlNjI4OTBmZWQxOTIwMzMzN2JlZGRmNzk3CgpHaXQgY29tbWl0IDcwMjUzYWY4 NzA5NjE3Yjg2MDg2NWNlOGQ3NDIwNDcxOGU4YTE5NzUgYnkgR2l0SHViIChvbiBiZWhhbGYgb2Yg Vml0YWx5IEJ1a2EpIG9uIDA0LzA4LzIwMjYgYXQgMTk6MjcuLgpbTkZDXVtsaWJGdXp6ZXJdIFJl bW92ZSB1bnVzZWQgR2V0TW9kdWxlTmFtZSBoZWxwZXIgaW4gVHJhY2VQQyAoIzIxNDAzMikKCkZp eGluZyBidWlsZCBib3RzIGFmdGVyCmh0dHBzOi8vZ2l0aHViLmNvbS9sbHZtL2xsdm0tcHJvamVj dC9wdWxsLzIwMzA4NC4KaHR0cHM6Ly9pbnZlbnQua2RlLm9yZy9xdC9jbGFuZy9sbHZtLXByb2pl Y3QvLS9jb21taXQvNzAyNTNhZjg3MDk2MTdiODYwODY1Y2U4ZDc0MjA0NzE4ZThhMTk3NQoKR2l0 IGNvbW1pdCA3ZjQ5OGQ5ZDM2ZDEwMmE2NTMwODllODZjYzA3ZDBhN2Y5MGJmYWVjIGJ5IEdpdEh1 YiAob24gYmVoYWxmIG9mIFFpb25nc2kgV3UpIG9uIDA0LzA4LzIwMjYgYXQgMTk6MzguLgpbY2xh bmddW0RlcGVuZGVuY3lTY2FubmluZ10gVXNlIENvbXBpbGVySW5zdGFuY2VXaXRoQ29udGV4dCBm b3IgVFUgU2Nhbm5pbmcgKCMyMTE0MDgpCgpBZnRlciBgQ29tcGlsZXJJbnN0YW5jZVdpdGhDb250 ZXh0YCdzIHJlbG9jYXRpb24gdG8KYERlcGVuZGVuY3lTY2FubmluZ1dvcmtlci5jcHBgLCB3ZSBj YW4gdXNlIGl0IGZyZWVseSBhcyBhbgppbXBsZW1lbnRhdGlvbiBlbmdpbmUgZm9yIFRVIHNjYW5u aW5nLiBUaGlzIFBSIGRvZXMgdGhhdCwgYW5kIHVuaWZpZXMKdGhlIGJ5LW5hbWUgc2Nhbm5pbmcg YW5kIFRVIHNjYW5uaW5nIHNvIHRoZXkgYWxsIGdvIHRocm91Z2gKYENvbXBpbGVySW5zdGFuY2VX aXRoQ29udGV4dGAuCgpyZGFyOi8vMTY3MDM0MzA5CgoKCi0tLQoKPHN1Yj5TdGFjayBjcmVhdGVk IHdpdGggPGEKaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2dpdGh1Yi9naC1zdGFjayI+R2l0SHVi IFN0YWNrcyBDTEk8L2E+IOKAoiA8YQpocmVmPSJodHRwczovL2doLmlvL3N0YWNrcy1mZWVkYmFj ayI+R2l2ZSBGZWVkYmFjayDwn5KsPC9hPjwvc3ViPgpodHRwczovL2ludmVudC5rZGUub3JnL3F0 L2NsYW5nL2xsdm0tcHJvamVjdC8tL2NvbW1pdC83ZjQ5OGQ5ZDM2ZDEwMmE2NTMwODllODZjYzA3 ZDBhN2Y5MGJmYWVjCgpHaXQgY29tbWl0IDA0NzIyYTRhMzJlNmZlYzE4OTdjYzNjYjVhNTQ4MDlm Y2Q4YzljYWUgYnkgR2l0SHViIChvbiBiZWhhbGYgb2YgUWlvbmdzaSBXdSkgb24gMDQvMDgvMjAy NiBhdCAxOTozOC4uCltjbGFuZ11bRGVwZW5kZW5jeVNjYW5uaW5nXSBEaXNzb2x2ZSBEZXBlbmRl bmN5U2Nhbm5lckltcGwuaC9jcHAgKCMyMTE0MDkpCgpgRGVwZW5kZW5jeVNjYW5uZXJJbXBsLmgv Y3BwYCB3ZXJlIGNyZWF0ZWQgdG8gc2hhcmUgY29kZSBiZXR3ZWVuIFRVCnNjYW5uaW5nIGFuZCBi eS1uYW1lIHNjYW5uaW5nIHdoZW4gdGhleSB3ZXJlIG9uIGRpZmZlcmVudCBjb2RlIHBhdGhzLgpB ZnRlciB1bmlmeWluZyB0aGUgaW1wbGVtZW50YXRpb24gdGhyb3VnaCBgQ29tcGlsZXJJbnN0YW5j ZVdpdGhDb250ZXh0YCwKd2Ugbm8gbG9uZ2VyIG5lZWQgYSBzZXBhcmF0ZSBoZWFkZXIvY3BwIHBh aXIgYW5kIGFsbCB0aGUgY29kZSBhcmUgbW92ZWQKaW50byBgRGVwZW5kZW5jeVNjYW5uaW5nV29y a2VyLmNwcGAuIFRoaXMgUFIgaXMgbWVjaG5pY2FsIGFuZCBkb2VzIG5vdAppbnRlbmQgdG8gaW50 cm9kdWNlIGJlaGF2aXZvciBjaGFuZ2VzLgoKLS0tCgo8c3ViPlN0YWNrIGNyZWF0ZWQgd2l0aCA8 YQpocmVmPSJodHRwczovL2dpdGh1Yi5jb20vZ2l0aHViL2doLXN0YWNrIj5HaXRIdWIgU3RhY2tz IENMSTwvYT4g4oCiIDxhCmhyZWY9Imh0dHBzOi8vZ2guaW8vc3RhY2tzLWZlZWRiYWNrIj5HaXZl IEZlZWRiYWNrIPCfkqw8L2E+PC9zdWI+Cmh0dHBzOi8vaW52ZW50LmtkZS5vcmcvcXQvY2xhbmcv bGx2bS1wcm9qZWN0Ly0vY29tbWl0LzA0NzIyYTRhMzJlNmZlYzE4OTdjYzNjYjVhNTQ4MDlmY2Q4 YzljYWUKCkdpdCBjb21taXQgYjNjZTA3Yjk5OTkwMDBlNmZhZDFjM2FhOGY0MjllMmZmMjZiNTk4 ZiBieSBHaXRIdWIgKG9uIGJlaGFsZiBvZiBBYmhpbmEgU3JlZSkgb24gMDQvMDgvMjAyNiBhdCAx OTo0MS4uCltTeXN0ZW1aXVt6L09TXSB1c2UgTExWTV9USFJFQURfTE9DQUwgaW5zdGVhZCBvZiB0 aHJlYWRfbG9jYWwgKCMyMTQwMzkpCgpUaGlzIHBhdGNoIGlzIHRvIGZpeCB0aGUgZm9sbG93aW5n IGVycm9yIG9uIHovT1MKCmBgYApsbHZtL2luY2x1ZGUvbGx2bS9TdXBwb3J0L1BlclRocmVhZEJ1 bXBQdHJBbGxvY2F0b3IuaDo3NToxMjogZXJyb3I6IHRocmVhZC1sb2NhbCBzdG9yYWdlIGlzIG5v dCBzdXBwb3J0ZWQgZm9yIHRoZSBjdXJyZW50IHRhcmdldAogICA3NSB8ICAgICBzdGF0aWMgdGhy ZWFkX2xvY2FsIHN0ZDo6dmVjdG9yPEFsbG9jYXRvclR5ICo+IENhY2hlOwogICAgICB8ICAgICAg ICAgICAgXgpgYGAKaHR0cHM6Ly9pbnZlbnQua2RlLm9yZy9xdC9jbGFuZy9sbHZtLXByb2plY3Qv LS9jb21taXQvYjNjZTA3Yjk5OTkwMDBlNmZhZDFjM2FhOGY0MjllMmZmMjZiNTk4ZgoKR2l0IGNv bW1pdCBjZGRjMTA3ODk5YmRmMDllZTNmZmQ2MGIwMGIzMjQ1NWU2OTliMTMwIGJ5IEdpdEh1YiAo b24gYmVoYWxmIG9mIEFyc2VuaXkgT2JvbGVuc2tpeSkgb24gMDQvMDgvMjAyNiBhdCAxOTo0OC4u CltBTURHUFVdIERvIG5vdCB3aWRlbiBjb25zdGFudCBsb2FkcyB0aGF0IG1heSBub3QgYmUgZGVy ZWZlcmVuY2VhYmxlICgjMTg0NzkwKQpodHRwczovL2ludmVudC5rZGUub3JnL3F0L2NsYW5nL2xs dm0tcHJvamVjdC8tL2NvbW1pdC9jZGRjMTA3ODk5YmRmMDllZTNmZmQ2MGIwMGIzMjQ1NWU2OTli MTMwCgpHaXQgY29tbWl0IGRlZTcwYTBmYzk0OGNlOTA2MGY0MjI1ZWU1YjcwN2FmNDI4N2U1ZGMg YnkgR2l0SHViIChvbiBiZWhhbGYgb2YgQWxleGFuZGVyIFJpY2hhcmRzb24pIG9uIDA0LzA4LzIw MjYgYXQgMTk6NTUuLgpbVGFibGVHZW5dIEdlbmVyYXRlIGBnZXRSZWdDbGFzc0Zyb21NYXRjaEtp bmQoKWAgZm9yIEFzbU1hdGNoZXJzCgpUaGlzIGhlbHBlciBjYW4gYmUgdXNlZnVsIGluIHZhbGlk YXRlVGFyZ2V0T3BlcmFuZENsYXNzIHRvIGdldCB0aGUKTUNSZWdpc3RlckNsYXNzIGZvciB0aGUg TUNLXyogZW51bS4KTWlncmF0ZSB0aGUgUlZZIGxvZ2ljIHRvIHVzZSB0aGlzIG5ldyBnZW5lcmF0 ZWQgZnVuY3Rpb24uIENoZWNraW5nIGFsbApyZWdpc3RlciBjbGFzc2VzIGluc3RlYWQgb2YganVz dCB0aGUgUlZZIG9uZXMgd2lsbCBtYXJnaW5hbGx5IHNsb3cgZG93bgp2YWxpZGF0ZVRhcmdldE9w ZXJhbmRDbGFzcywgYnV0IHNpbmNlIHRoaXMgaXMgYWxyZWFkeSBhIHNsb3cgcGF0aCBpdApzaG91 bGQgbm90IG1hdHRlci4KCklmIG11bHRpcGxlIFJlZ2lzdGVyT3BlcmFuZHMgc2hhcmUgYSBQYXJz ZXJNYXRjaENsYXNzIGJ1dCBtYXAgdG8gZGlmZmVyZW50ClJlZ2lzdGVyQ2xhc3Nlcywgb21pdCB0 aGVtIGZyb20gdGhlIGdlbmVyYXRlZCBnZXRSZWdDbGFzc0Zyb21NYXRjaEtpbmQKbWFwcGluZyBm dW5jdGlvbi4gSSBvcmlnaW5hbGx5IHRyaWVkIHRvIGVtaXQgYW4gZXJyb3IgaGVyZSwgYnV0IGl0 IHR1cm5zCm91dCB0aGVyZSBhcmUgbWFueSB0YXJnZXRzIHRoYXQgcmVseSBvbiBzaGFyaW5nIHRo ZSBQYXJzZXJNYXRjaENsYXNzIHdpdGgKZGlmZmVyZW50IChidXQgc2ltaWxhcikgUmVnaXN0ZXJD bGFzc2VzIHNvIGlnbm9yaW5nIHRoZW0gaXMgc2FmZXIuCgpSZXZpZXdlZCBCeTogbGVuYXJ5CgpQ dWxsIFJlcXVlc3Q6IGh0dHBzOi8vZ2l0aHViLmNvbS9sbHZtL2xsdm0tcHJvamVjdC9wdWxsLzIw MDQ1MwpodHRwczovL2ludmVudC5rZGUub3JnL3F0L2NsYW5nL2xsdm0tcHJvamVjdC8tL2NvbW1p dC9kZWU3MGEwZmM5NDhjZTkwNjBmNDIyNWVlNWI3MDdhZjQyODdlNWRjCgpHaXQgY29tbWl0IDBk MWI1NDYwNGRhYzczYWRjMTZhZjE1ZjQzM2FlMGM5MjA2OWZjYzIgYnkgR2l0SHViIChvbiBiZWhh bGYgb2YgQWxleGFuZGVyIFJpY2hhcmRzb24pIG9uIDA0LzA4LzIwMjYgYXQgMTk6NTcuLgpbVGFi bGVHZW5dW0FzbU1hdGNoZXJdIFJlc29sdmUgUmVnQ2xhc3NCeUh3TW9kZSBraW5kcyBmb3IgYWxs IG9wZXJhbmRzCgp2YWxpZGF0ZU9wZXJhbmRDbGFzcygpIG9ubHkgcmVtYXBwZWQgYSBSZWdDbGFz c0J5SHdNb2RlIG9wZXJhbmQga2luZAp3aGVuIHRoZSBhY3R1YWwgcGFyc2VkIG9wZXJhbmQgd2Fz IGEgcmVnaXN0ZXIuIFdoZW4gdGhlIG9wZXJhbmQgd2FzCnNvbWV0aGluZyBlbHNlIGVudGlyZWx5 IChlLmcuIGEgYmFyZSBpbW1lZGlhdGUgd2hlcmUgYSByZWdpc3RlciB3YXMKZXhwZWN0ZWQpLCB0 aGlzIGZlbGwgdGhyb3VnaCB0byB0aGUgZ2VuZXJpYyAiS2luZCA8PSBNQ0tfTEFTVF9SRUdJU1RF UiIKZGlhZ25vc3RpYyBjaGVjaywgc28gd2UgZW5kIHVwIHdpdGggYSBnZW5lcmljIE1hdGNoX0lu dmFsaWRPcGVyYW5kLgoKTm8gdGVzdCBjaGFuZ2VzIGhlcmUsIGJ1dCB0aGlzIGlzIG5lZWRlZCB0 byBhdm9pZCBkaWFnbm9zdGljIHJlZ3Jlc3Npb25zCndpdGggdGhlIFJWWSBsb2FkL3N0b3JlIHN1 cHBvcnQgKFBSICMxNzcwNzMpLgoKUHVsbCBSZXF1ZXN0OiBodHRwczovL2dpdGh1Yi5jb20vbGx2 bS9sbHZtLXByb2plY3QvcHVsbC8yMTM0NzkKaHR0cHM6Ly9pbnZlbnQua2RlLm9yZy9xdC9jbGFu Zy9sbHZtLXByb2plY3QvLS9jb21taXQvMGQxYjU0NjA0ZGFjNzNhZGMxNmFmMTVmNDMzYWUwYzky MDY5ZmNjMgoKR2l0IGNvbW1pdCBjNzQwYzU0NTE3ZmFmZGZiNmEzZGQzNTIyNzAwMDc2ZDUxODRj ODQyIGJ5IEdpdEh1YiAob24gYmVoYWxmIG9mIEFiaGluYSBTcmVlKSBvbiAwNC8wOC8yMDI2IGF0 IDE5OjU3Li4KW1N5c3RlbVpdW3ovT1NdIEFkZCBndWFyZCBmb3IgU0lfVVNFUiAgKCMyMTMxMDEp CgpTSV9VU0VSIGlzIG5vdCBkZWZpbmVkIG9uIHovT1MgYW5kIGlzIGNhdXNpbmcgdGhlIGZvbGxv d2luZyBidWlsZApmYWlsdXJlLiBgZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlkZW50aWZpZXIg J1NJX1VTRVInYCAKVGhpcyBwYXRjaCBhZGRzIGEgZ3VhcmQgdG8gY2hlY2sgd2hldGhlciBTSV9V U0VSIGlzIGRlZmluZWQKYmVmb3JlIHVzaW5nIGl0LgpodHRwczovL2ludmVudC5rZGUub3JnL3F0 L2NsYW5nL2xsdm0tcHJvamVjdC8tL2NvbW1pdC9jNzQwYzU0NTE3ZmFmZGZiNmEzZGQzNTIyNzAw MDc2ZDUxODRjODQyCgpHaXQgY29tbWl0IDgzNDNjNTM4ZjBlN2VkZWU4YmZjMmM4MDBmNmQxYmZh ZWY2NjRjMTIgYnkgR2l0SHViIChvbiBiZWhhbGYgb2YgZm9ya2luZy1nb29nbGUtYmF6ZWwtYm90 W2JvdF0pIG9uIDA0LzA4LzIwMjYgYXQgMjA6MDkuLgpbQmF6ZWxdIEZpeGVzIDA0NzIyYTQgKCMy MTQwNDkpCgpUaGlzIGZpeGVzIDA0NzIyYTRhMzJlNmZlYzE4OTdjYzNjYjVhNTQ4MDlmY2Q4Yzlj YWUgKCMyMTE0MDkpLgoKQnVpbGRraXRlIGVycm9yIGxpbms6Cmh0dHBzOi8vYnVpbGRraXRlLmNv bS9sbHZtLXByb2plY3QvdXBzdHJlYW0tYmF6ZWwvYnVpbGRzP2NvbW1pdD0wNDcyMmE0YTMyZTZm ZWMxODk3Y2MzY2I1YTU0ODA5ZmNkOGM5Y2FlCgpDby1hdXRob3JlZC1ieTogR29vZ2xlIEJhemVs IEJvdCA8Z29vZ2xlLWJhemVsLWJvdEBnb29nbGUuY29tPgpodHRwczovL2ludmVudC5rZGUub3Jn L3F0L2NsYW5nL2xsdm0tcHJvamVjdC8tL2NvbW1pdC84MzQzYzUzOGYwZTdlZGVlOGJmYzJjODAw ZjZkMWJmYWVmNjY0YzEyCgpHaXQgY29tbWl0IDQ0YzZhZWQ5YmQ5YjljZGE5OTNmNGU5M2YyY2Jk YjRmYmJhODkwZDAgYnkgR2l0SHViIChvbiBiZWhhbGYgb2YgU3BlbmNlciBCcnluZ2Vsc29uKSBv biAwNC8wOC8yMDI2IGF0IDIwOjE1Li4KW2ZsYW5nXVtPcGVuTVBdIERpYWdub3NlIGZhaWxlZCBj b25zdHJ1Y3QgZGVjb21wb3NpdGlvbiBpbnN0ZWFkIG9mIGZhbGxpbmcgdGhyb3VnaCAoIzIxNDAx MikKCmBidWlsZENvbnN0cnVjdFF1ZXVlYCBhc3NlcnRzIHRoYXQgZGVjb21wb3NpdGlvbiBwcm9k dWNlZCBvdXRwdXQ6CgpgYGBjcHAKQ29uc3RydWN0RGVjb21wb3NpdGlvbiBkZWNvbXBvc2UobW9k T3AsIHNlbWFDdHgsIGV2YWwsIGNvbXBvdW5kLCBjbGF1c2VzKTsKYXNzZXJ0KCFkZWNvbXBvc2Uu b3V0cHV0LmVtcHR5KCkgJiYgIkNvbnN0cnVjdCBkZWNvbXBvc2l0aW9uIGZhaWxlZCIpOwpgYGAK ClJlbGVhc2UgYnVpbGRzIGhhdmUgbm8gY2hlY2ssIHNvIHRoZSBlbXB0eSBxdWV1ZSBmYWxscyB0 aHJvdWdoIHRvIHRoZQpsb29wIGJlbG93IGFuZCBvdXQgdG8gdGhlCmNhbGxlci4gVGhhdCBpcyB1 bmRlZmluZWQgYmVoYXZpb3VyLCBhbmQgaXQgaXMgcmVhY2hhYmxlIOKAlCBzZW1hbnRpY3MKZG9l cyBub3QgY2F0Y2ggZXZlcnkKZGlyZWN0aXZlL2NsYXVzZSBjb21iaW5hdGlvbiB0aGF0IGNhbm5v dCBiZSBkZWNvbXBvc2VkLiBUaGUgcmVzdWx0IGlzIGFuCmludGVybWl0dGVudCBzZWdmYXVsdApy YXRoZXIgdGhhbiBhIGRpYWdub3N0aWMuCgojMjExNDMwIGlzIG9uZSB3YXkgaW46IGBhbGxvY2F0 ZWAgaXMgYW4gT3Blbk1QIDUuMCBjbGF1c2UsIGJ1dCBtb3N0CmRpcmVjdGl2ZXMgZGVjbGFyZSBp dCBpbgpgT01QLnRkYCB3aXRob3V0IGEgbWluaW11bSB2ZXJzaW9uLCBzbyBzZW1hbnRpY3MgYWNj ZXB0cyBpdCBiZWxvdyA1LjAKYW5kIGRlY29tcG9zaXRpb24gdGhlbgpjb3JyZWN0bHkgcmVmdXNl cyBpdC4gZmxhbmcgZGVmYXVsdHMgdG8gT3Blbk1QIDMuMSwgc28gbm8gdW51c3VhbCBmbGFncwph cmUgbmVlZGVkLiBUaGUKaW50ZXJtaXR0ZW5jeSBpcyB3aGF0IG1hZGUgdGhhdCByZXBvcnQgaGFy ZCB0byBwaW4gZG93biDigJQgNDAgdHJpYWxzIGF0CmAtZm9wZW5tcC12ZXJzaW9uPTMxYDoKCnwg fCBzZWdmYXVsdHMgfAp8LS0tfC0tLXwKfCBBU0xSIG9uIHwgMjUvNDAgfAp8IEFTTFIgb2ZmIChg c2V0YXJjaCAtUmApIHwgMC80MCB8Cgp3aGljaCBpcyBhbiB1bmluaXRpYWxpemVkIHJlYWQuCgpB ZnRlciB0aGlzIHBhdGNoIHRoZSBzYW1lIGlucHV0IGZhaWxzIGRldGVybWluaXN0aWNhbGx5IHdp dGggYSBsb2NhdGVkCmRpYWdub3N0aWMsIDQwLzQwOgoKYGBgCmVycm9yOiBsb2MoInJlcHJvLmY5 MCI6NjoxMSk6IE9wZW5NUCBjb25zdHJ1Y3QgZGVjb21wb3NpdGlvbiBmYWlsZWQ6IGEgY2xhdXNl IG9uCiAgICAgICAndGFyZ2V0IHRlYW1zIGRpc3RyaWJ1dGUgcGFyYWxsZWwgZG8nIGNhbm5vdCBi ZSBhcHBsaWVkIHRvIGFueSBvZiBpdHMgbGVhZiBjb25zdHJ1Y3RzCmBgYAoKYGdlbkNyYXNoRGlh Zz1mYWxzZWAgc28gaXQgZXhpdHMgbm9uLXplcm8gd2l0aG91dCBhIGJhY2t0cmFjZSwgcmF0aGVy CnRoYW4gcHJlc2VudGluZyBhcyBhIGNvbXBpbGVyCmNyYXNoLgoKVGhpcyBpcyBhIGhhcmRlbmlu ZyBmaXggZm9yIHRoZSBsb3dlcmluZyBwYXRoIGFuZCBpcyBpbmRlcGVuZGVudCBvZiBhbnkKcGFy dGljdWxhciBjbGF1c2U6IGl0IGNvdmVycwpldmVyeSBjb21iaW5hdGlvbiB0aGF0IGRlY29tcG9z ZXMgZW1wdHkuIEl0IGRvZXMgbm90IG1ha2UgdGhlIGBhbGxvY2F0ZWAKY2FzZSBhICpnb29kKiBk aWFnbm9zdGljIOKAlAp0aGF0IGJlbG9uZ3MgaW4gc2VtYW50aWNzLCBhbmQgIzIxMzk4MCBpcyB0 aGUgc2VwYXJhdGUgY2hhbmdlIGZvciBpdC4KCmBjaGVjay1mbGFuZ2AgaXMgY2xlYW4gKDQ4MDgg dGVzdHMpLiBObyB0ZXN0IGlzIGFkZGVkOiB0aGUgb25seSBpbi10cmVlCndheSB0byByZWFjaCB0 aGlzIHBhdGggaXMKdGhyb3VnaCB0aGUgYE9NUC50ZGAgZ2FwIHRoYXQgIzIxMzk4MCBmaXhlcywg c28gYSB0ZXN0IGhlcmUgd291bGQgZW5jb2RlCnRoYXQgZ2FwIGFzIGV4cGVjdGVkCmJlaGF2aW91 ciBhbmQgaGF2ZSB0byBiZSByZW1vdmVkIHdoZW4gaXQgbGFuZHMuIEhhcHB5IHRvIGFkZCBvbmUg aWYKeW91J2QgcHJlZmVyLgoKCi0tLQoKUGFydHMgb2YgdGhpcyBjaGFuZ2Ugd2VyZSB3cml0dGVu IG9yIGF1ZGl0ZWQgd2l0aCBDbGF1ZGUgQ29kZS4gSSBoYXZlCnJldmlld2VkIGFsbCBvZiBpdCBh bmQgdGFrZQpmdWxsIHJlc3BvbnNpYmlsaXR5IGZvciB0aGUgY29udHJpYnV0aW9uLiBTZWUKYGxs dm0vZG9jcy9BSVRvb2xQb2xpY3kubWRgLgpodHRwczovL2ludmVudC5rZGUub3JnL3F0L2NsYW5n L2xsdm0tcHJvamVjdC8tL2NvbW1pdC80NGM2YWVkOWJkOWI5Y2RhOTkzZjRlOTNmMmNiZGI0ZmJi YTg5MGQwCgpHaXQgY29tbWl0IDgzZmI3MmE5MDRlODIzMWJmNjg3OTA3NmI5YzEwYmRiZjI1ZTQ3 NDQgYnkgR2l0SHViIChvbiBiZWhhbGYgb2YgQXJ0aHVyIEV1YmFua3MpIG9uIDA0LzA4LzIwMjYg YXQgMjA6MjAuLgpbRFdQXSBFYWdlcmx5IGNsZWFyIGJ1ZmZlcnMgYWZ0ZXIgd3JpdGluZyAoIzIx MzM0NSkKCkxvd2VycyBwZWFrIG1lbW9yeSB1c2FnZSBvbiBhIGxsdm0tZHdwIGludm9jYXRpb24g ZnJvbSAxMi4zN0dCIC0+CjExLjE5R0IuCgpUaGlzIGFjdHVhbGx5IG5vdyBiZWF0cyBvdXQgR05V IGR3cCAoMTEuMzVHQikgYXQgbGVhc3Qgd2hlbiB0aGUgb3V0cHV0CmZpbGUgaXMgaW4gdG1wZnMu Cmh0dHBzOi8vaW52ZW50LmtkZS5vcmcvcXQvY2xhbmcvbGx2bS1wcm9qZWN0Ly0vY29tbWl0Lzgz ZmI3MmE5MDRlODIzMWJmNjg3OTA3NmI5YzEwYmRiZjI1ZTQ3NDQKCkdpdCBjb21taXQgZDUyZTk4 ODE0YzQxNDg3ZTU2MzVhMTg2ZDk3YmY1ODAzZTIwMjQ1NyBieSBHaXRIdWIgKG9uIGJlaGFsZiBv ZiBIZW5yeSBKaWFuZykgb24gMDQvMDgvMjAyNiBhdCAyMDoyNS4uCltORkNdW0FNREdQVV0gRml4 IGV4aXQgY29kZSBtaXNtYXRjaCB3aXRoIEVYUEVOU0lWRV9DSEVDSyBpbiBzY2hlZHVsZeKApiAo IzIxNDAyNykKCuKApi1hbWRncHUtdHJhY2tlci1waHlzcmVnLWNyYXNoLmxsCgpPYnNlcnZlZCBp bgpodHRwczovL2NpLnN3aWZ0Lm9yZy9qb2IvbGx2bS5vcmcvam9iL2NsYW5nLXN0YWdlMS1SQS1l eHBlbnNpdmUvam9iL21haW4vMTE1NQp3aXRoIExMVk1fRU5BQkxFX0VYUEVOU0lWRV9DSEVDS1Mg ZW5hYmxlZCwKYENvZGVHZW4vQU1ER1BVL3NjaGVkdWxlLWFtZGdwdS10cmFja2VyLXBoeXNyZWct Y3Jhc2gubGxgIGZhaWxzIGR1ZSB0bwpNYWNoaW5lVmVyaWZpZXIgcnVubmluZywgY2F1c2luZyBh biBleGl0IDEuCgpNb2RpZmllZCB0byBhbHdheXMgcnVuIHRoZSBgLXZlcmlmeS1tYWNoaW5laW5z dHJzYC4KCnJkYXI6Ly8xODQwMTA3NjYKaHR0cHM6Ly9pbnZlbnQua2RlLm9yZy9xdC9jbGFuZy9s bHZtLXByb2plY3QvLS9jb21taXQvZDUyZTk4ODE0YzQxNDg3ZTU2MzVhMTg2ZDk3YmY1ODAzZTIw MjQ1NwoKR2l0IGNvbW1pdCBmMjBiNjRmZmU1YzgxZTBlZjM1YmNmOTk5MGY2MGExZmY5MTU3Zjdi IGJ5IEdpdEh1YiAob24gYmVoYWxmIG9mIERtaXRyeSBWYXNpbHlldikgb24gMDQvMDgvMjAyNiBh dCAyMDoyNi4uCltsbGRiXSBEaXNhYmxlIFRlc3RQcm9jZXNzU2F2ZUNvcmVNaW5pZHVtcFNpemVN aXNtYXRjaCBvbiBXaW5kb3dzIGhvc3RzICgjMjE0MDQ0KQoKVGhlIGJ1aWxkYm90CltsbGRiLXJl bW90ZS1saW51eC13aW5dKGh0dHBzOi8vbGFiLmxsdm0ub3JnL2J1aWxkYm90LyMvYnVpbGRlcnMv MTk3KSBpcwpyZWQgYWZ0ZXIgIzIxMjg2MS4gIzIxMjg2MSBjYW5ub3QgYmUgcmV2ZXJ0ZWQgYXV0 b21hdGljYWxseSBub3cgYmVjYXVzZSBvZgojMjEyNjQxLiBTbyBkaXNhYmxlIFRlc3RQcm9jZXNz U2F2ZUNvcmVNaW5pZHVtcFNpemVNaXNtYXRjaCBvbiBXaW5kb3dzCmhvc3RzIHRvIG1ha2UgdGhl IGJ1aWxkYm90IGdyZWVuIGFnYWluLgpodHRwczovL2ludmVudC5rZGUub3JnL3F0L2NsYW5nL2xs dm0tcHJvamVjdC8tL2NvbW1pdC9mMjBiNjRmZmU1YzgxZTBlZjM1YmNmOTk5MGY2MGExZmY5MTU3 ZjdiCgpHaXQgY29tbWl0IDAzZjg2YzZkNGQ1NTgwOWY5NTMxYjVlMzdlYjgyNDllNTY5NzQ2YWEg YnkgR2l0SHViIChvbiBiZWhhbGYgb2YgRGF2aWQgWW91bmcpIG9uIDA0LzA4LzIwMjYgYXQgMjA6 MzIuLgpbU3VwcG9ydF1bRHJpdmVyXVtMTERCXSBHdWFyZCBXSU4zMl9MRUFOX0FORF9NRUFOIGRl ZmluaXRpb25zIHdpdGggI2lmbmRlZiAoIzIxMzA0NSkKClNldmVyYWwgV2luZG93cyBoZWFkZXJz L1RVcyB1bmNvbmRpdGlvbmFsbHkgYCNkZWZpbmUKV0lOMzJfTEVBTl9BTkRfTUVBTmAuIFdoZW4g YSBidWlsZCBwcmVkZWZpbmVzIHRoZSBtYWNybyBvbiB0aGUgY29tcGlsZXIKY29tbWFuZCBsaW5l IChlLmcuIGEgdG9vbGNoYWluIHRoYXQgcGFzc2VzIC1EV0lOMzJfTEVBTl9BTkRfTUVBTiwgd2hp Y2gKY2xhbmcgdHJlYXRzIGFzIGAjZGVmaW5lIFdJTjMyX0xFQU5fQU5EX01FQU4gMWApLCB0aGUg ZGlmZmVyaW5nIHRva2VuCmxpc3RzIHRyaWdnZXIgLVdtYWNyby1yZWRlZmluZWQsIHdoaWNoIGJl Y29tZXMgYSBoYXJkIGVycm9yIHVuZGVyCi1XZXJyb3IuCgpHdWFyZCB0aGUgZGVmaW5pdGlvbnMg d2l0aCAjaWZuZGVmLCBtYXRjaGluZyB0aGUgYWRqYWNlbnQgTk9NSU5NQVgKaGFuZGxpbmcgYW5k IHRoZSBleGlzdGluZyBwYXR0ZXJuIGluCmxsdm0vbGliL1N1cHBvcnQvcnBtYWxsb2MvcnBtYWxs b2MuYy4gVGhlIG1hY3JvIGlzIG9ubHkgYSBwcmVzZW5jZSBmbGFnLApzbyBrZWVwaW5nIGFuIGV4 dGVybmFsbHktcHJvdmlkZWQgZGVmaW5pdGlvbiBpcyBjb3JyZWN0LgoKU2l0ZXMgZ3VhcmRlZDoK ICBsbHZtL2luY2x1ZGUvbGx2bS9TdXBwb3J0L1dpbmRvd3MvV2luZG93c1N1cHBvcnQuaAogIGxs dm0vbGliL1dpbmRvd3NEcml2ZXIvTVNWQ1BhdGhzLmNwcAogIGNsYW5nL2xpYi9Ecml2ZXIvVG9v bENoYWlucy9NU1ZDLmNwcAogIGxsZGIvaW5jbHVkZS9sbGRiL0hvc3Qvd2luZG93cy93aW5kb3dz LmgKCk1ldGEgcmFuIGludG8gdGhpcyBpbnRlcm5hbGx5IGJ1aWxkaW5nIGxsZGIgb24gd2luZG93 IGFmdGVyIGEgc3luYyB3aXRoCnVwc3RyZWFtIGZyb20gSnVseSBjb21taXQsIHNvIGFkZGluZyBn dWFyZHMgd291bGQgYWxsb3cgdXMgdG8gZHJvcCBhCndvcmthcm91bmQgb2YgaWdub3JpbmcgdGhl IGR1cGxpY2F0ZSBkZWZpbmVzLgoKRXJyb3I6Cmxsdm1caW5jbHVkZVxsbHZtL1N1cHBvcnQvV2lu ZG93cy9XaW5kb3dzU3VwcG9ydC5oKDI5LDkpOiBlcnJvcjoKJ1dJTjMyX0xFQU5fQU5EX01FQU4n IG1hY3JvIHJlZGVmaW5lZCBbLVdlcnJvciwtV21hY3JvLXJlZGVmaW5lZF0KICAgMjkgfCAjZGVm aW5lIFdJTjMyX0xFQU5fQU5EX01FQU4KICAgICAgfCAgICAgICAgIF4KPGNvbW1hbmQgbGluZT4o MTAsOSk6IG5vdGU6IHByZXZpb3VzIGRlZmluaXRpb24gaXMgaGVyZQogICAxMCB8ICNkZWZpbmUg V0lOMzJfTEVBTl9BTkRfTUVBTiAxCiAgICAgIHwgICAgICAgICBeCjEgZXJyb3IgZ2VuZXJhdGVk LgpodHRwczovL2ludmVudC5rZGUub3JnL3F0L2NsYW5nL2xsdm0tcHJvamVjdC8tL2NvbW1pdC8w M2Y4NmM2ZDRkNTU4MDlmOTUzMWI1ZTM3ZWI4MjQ5ZTU2OTc0NmFhCgpHaXQgY29tbWl0IDQ2Yjhl Yjg2MTM1MmQwZDM0NjIzYTMxMzllZDExZGU3NjMzMTczMjMgYnkgR2l0SHViIChvbiBiZWhhbGYg b2YgTmlraXRhIFRlcmVudGV2KSBvbiAwNC8wOC8yMDI2IGF0IDIwOjM5Li4KW05GQ11bQ2xhbmdd W0RvY3NdIEZpeCBtaW5vciB0eXBvcyBpbiBDb25zdGFudCBJbnRlcnByZXRlciBkb2MuICgjMjEx NjA4KQoKRmlyc3Q6IFR5cG8gaXMgb2J2aW91cy4gClNlY29uZDogSW4gdGhlIGV4YW1wbGUsIHRo ZSBhLnkgZmllbGQgaXMgbWlzc2luZyBhbmQgZmllbGQgYS5iLnkgaXMKcmVxdWlyZWQuCmh0dHBz Oi8vaW52ZW50LmtkZS5vcmcvcXQvY2xhbmcvbGx2bS1wcm9qZWN0Ly0vY29tbWl0LzQ2YjhlYjg2 MTM1MmQwZDM0NjIzYTMxMzllZDExZGU3NjMzMTczMjMKCkdpdCBjb21taXQgMjE3OGRiNmQzZGU0 YWQ5ZmI5Nzk0ZjU1ZTZkNmQzOGNkZjJiMDM0NyBieSBHaXRIdWIgKG9uIGJlaGFsZiBvZiBUaW11 ciBHb2x1Ym92aWNoKSBvbiAwNC8wOC8yMDI2IGF0IDIwOjQyLi4KW1g4Nl0gSGFuZGxlIG11bHRp LXVzZSBzZXRjYyBpbiBjb21tdXRlU2VsZWN0ICgjMjEzNjQ1KQoKV2hlbiBhIHNldGNjIGNvbmRp dGlvbiBpcyBzaGFyZWQgYmV0d2VlbiBtdWx0aXBsZSB2c2VsZWN0cywKY29tbXV0ZVNlbGVjdCBw cmV2aW91c2x5IGJhaWxlZCBvdXQgZHVlIHRvIHRoZSBtX09uZVVzZSBjb25zdHJhaW50LgpFeHRl bmQgaXQgdG8gY2hlY2sgYWxsIHVzZXJzIG9mIHRoZSBzZXRjYyBhbmQsIGlmIHRoZXkgYWxsIGJl bmVmaXQgZnJvbQpjb21tdXRpbmcsIGludmVydCB0aGUgY29uZGl0aW9uIG9uY2Ugd2l0aCBSZXBs YWNlQWxsVXNlc09mVmFsdWVXaXRoIGFuZApzd2FwIGFsbCB2c2VsZWN0IG9wZXJhbmRzLgoKVGhp cyBmaXhlcyBhIHdyaXRlLW1hc2sgZnVzaW9uIHJlZ3Jlc3Npb24gd2hlcmUgbWFza2VkIG1pbi9t YXgKcmVkdWN0aW9ucyBwcm9kdWNlZCB1bmZ1c2VkIHZtaW5wcyArIHZtb3ZhcHMgeyVrfSBpbnN0 ZWFkIG9mIGEgc2luZ2xlCndyaXRlLW1hc2tlZCB2bWlucHMgeyVrfS4KaHR0cHM6Ly9pbnZlbnQu a2RlLm9yZy9xdC9jbGFuZy9sbHZtLXByb2plY3QvLS9jb21taXQvMjE3OGRiNmQzZGU0YWQ5ZmI5 Nzk0ZjU1ZTZkNmQzOGNkZjJiMDM0NwoKR2l0IGNvbW1pdCBhYTc2OTYzZWMwMzlmNDg1ZDA1YzEy MzViYWM1YTVlZGYzNjA1Mzc4IGJ5IEdpdEh1YiAob24gYmVoYWxmIG9mIFNpbW9uIFBpbGdyaW0p IG9uIDA0LzA4LzIwMjYgYXQgMjA6NDMuLgpbWDg2XSBMb3dlclBBUklUWSAtIHVzZSBjb3VudE1h eEFjdGl2ZUJpdHMgdG8gZGV0ZXJtaW5lIGlmIHJlcHJlc2VudGFibGUgYXMgdWludDhfdC4gTkZD LiAoIzIxNDA1NikKCk11Y2ggY2xlYW5lciB0aGFuIHVzaW5nIHRoZSBNYXNrZWRWYWx1ZUlzWmVy byBjaGVjay4KCkZpeCBpNjQgLT4geG9yKGkzMixpMzIpIHBhcml0eSBzdGFnZSBjb21tZW50IGFz IHdlbGwuCmh0dHBzOi8vaW52ZW50LmtkZS5vcmcvcXQvY2xhbmcvbGx2bS1wcm9qZWN0Ly0vY29t bWl0L2FhNzY5NjNlYzAzOWY0ODVkMDVjMTIzNWJhYzVhNWVkZjM2MDUzNzgKCkdpdCBjb21taXQg Y2Q0NTlmMjQ2NmU0MDhlYmY5ZGNkNDU1YzU4YTQzOTUyZDZhNTkwMyBieSBHaXRIdWIgKG9uIGJl aGFsZiBvZiBGYXJ6b24gTG90ZmkpIG9uIDA0LzA4LzIwMjYgYXQgMjA6NDcuLgpbU1BJUlZdIFNw bGl0IHdpZGUgc2hhZGVyIFBISXMgYmVmb3JlIGFwcGx5aW5nIGV4cGxpY2l0IHN1cHBvcnRlZCB0 eXBlcyAoIzIxMzgwNikKCmZpeGVzICMyMTM4MDIKCkFwcGx5IHRoZSBtYXhpbXVtLXZlY3Rvci1z aXplIHJ1bGUgYmVmb3JlIHRoZSBleHBsaWNpdCBQSEkgbGVnYWxpdHkKcnVsZXMgZm9yIHR5cGUu IFRoaXMgd2F5IGlmIHdlIHNlZSBhIHNpemUgMTYgdmVjdG9yIHdlIHNwbGl0IGl0CmJlZm9yZWhh bmQuCgpJbiBtb3JlIHByZWNpc2Ugd29yZHMgdGhpcyBwcmVzZXJ2ZXMgZXhpc3RpbmcgbGVnYWxp dHkgcnVsZXMgd2hpbGUKZW5zdXJpbmcgc2hhZGVyIFBISXMgd2lkZXIgdGhhbiBmb3VyIGxhbmVz IGFyZSBzcGxpdCBmaXJzdC4KCkFzc2lzdGVkIGJ5IENvcGlsb3QgKEdQVCA1LjYgU29sKQpodHRw czovL2ludmVudC5rZGUub3JnL3F0L2NsYW5nL2xsdm0tcHJvamVjdC8tL2NvbW1pdC9jZDQ1OWYy NDY2ZTQwOGViZjlkY2Q0NTVjNThhNDM5NTJkNmE1OTAzCgpHaXQgY29tbWl0IDRlZjJlNzU3ODVk NzFhOWFiODY4MmJmMmY2YjRjY2MyMjNiYTU2OGMgYnkgR2l0SHViIChvbiBiZWhhbGYgb2YgRXJp YyBDaHJpc3RvcGhlcikgb24gMDQvMDgvMjAyNiBhdCAyMTowOS4uCltGaWxlQ2hlY2tdIEF2b2lk IG1hdGNoaW5nIElSIGtleXdvcmRzIGluIHNvdXJjZSBmaWxlbmFtZXMgKCMyMTM4MDkpCgpBbmNo b3IgY2hlY2tzIGZvciBkZWNsYXJlLCBkZWZpbmUsIGFuZCBjb21kYXQgdG8gdGhlIHN0YXJ0IG9m IGxpbmVzIG9yIGFub3RoZXIgZml4dHVyZSBzbwpwYXRocyBpbiBtb2R1bGUgaGVhZGVycyBjYW5u b3Qgc2F0aXNmeSBvciBpbnZhbGlkYXRlIHRoZW0uCgpUZXN0ZWQgd2l0aCBtYWtlIGNoZWNrLgoK QXNzaXN0ZWQgYnkgQUkuCmh0dHBzOi8vaW52ZW50LmtkZS5vcmcvcXQvY2xhbmcvbGx2bS1wcm9q ZWN0Ly0vY29tbWl0LzRlZjJlNzU3ODVkNzFhOWFiODY4MmJmMmY2YjRjY2MyMjNiYTU2OGMKCkdp dCBjb21taXQgOTUyNGZmODI2OTdiNTM5ZGY2ZmI3MTBkNzU0YTcwM2Q3ODhiYjEzNyBieSBHaXRI dWIgKG9uIGJlaGFsZiBvZiBGYWR5IEZhcmFnKSBvbiAwNC8wOC8yMDI2IGF0IDIxOjI1Li4KW2Ns YW5nXVt0ZXN0XSBVc2UgYEZpbGVDaGVja2AgaW4gYEluZGV4L3JlcGFyc2UtcHJlZGVmLW9iamMt cHJvdG9jb2wubWAgKCMyMTM1NjYpCgpUaGUgdGVzdCBoYWQgYENIRUNLYCBkaXJlY3RpdmVzIHRo YXQgd2VyZSBuZXZlciBleGVjdXRlZCBiZWNhdXNlIHRoZQpgUlVOYCBsaW5lIGRpZCBub3QgcGlw ZSBvdXRwdXQgdG8gYEZpbGVDaGVja2AuIFRoaXMgYWxzbyBkcm9wcyB0aGUgZmlyc3QKYENIRUNL YCBkaXJlY3RpdmUgaW4gZmF2b3Igb2YgdGhlIG9uZSBiZWxvdyBpdCBkdWUgdG8gYGxpYmNsYW5n YCBub3cKcmVwb3J0aW5nIHRvcC1sZXZlbCBmb3J3YXJkIGNsYXNzIGRlY2xhcmF0aW9ucyBhcyBg T2JqQ0NsYXNzUmVmYCBjdXJzb3JzCndoaWNoIGlzIHRoZSBtb2Rlcm4gcmVwcmVzZW50YXRpb24g b2YgdGhhdCBzYW1lIGRlY2xhcmF0aW9uLgpodHRwczovL2ludmVudC5rZGUub3JnL3F0L2NsYW5n L2xsdm0tcHJvamVjdC8tL2NvbW1pdC85NTI0ZmY4MjY5N2I1MzlkZjZmYjcxMGQ3NTRhNzAzZDc4 OGJiMTM3CgpHaXQgY29tbWl0IGQ1YjllNjEyZDc4MTE2ZmZjNTI0MTA1ODhmZTJmNTZmY2U0Yzk0 MTAgYnkgR2l0SHViIChvbiBiZWhhbGYgb2YgU2ltb24gUGlsZ3JpbSkgb24gMDQvMDgvMjAyNiBh dCAyMTozNC4uCltYODZdIHZlY3Rvci1yZWR1Y2Utb3ItY21wLmxsIC0gYWRkIG5vdW53aW5kIHRv IHNpbGVuY2UgY2ZpIG5vaXNlLiBORkMuICgjMjE0MDY0KQpodHRwczovL2ludmVudC5rZGUub3Jn L3F0L2NsYW5nL2xsdm0tcHJvamVjdC8tL2NvbW1pdC9kNWI5ZTYxMmQ3ODExNmZmYzUyNDEwNTg4 ZmUyZjU2ZmNlNGM5NDEwCgpHaXQgY29tbWl0IDFlMjQzNWUzMjMxMmIxNDk3MDBjNTBhYjJlOGNk NDM4ZmFjZjlmMmYgYnkgR2l0SHViIChvbiBiZWhhbGYgb2YgS3J6eXN6dG9mIFBhcnp5c3playkg b24gMDQvMDgvMjAyNiBhdCAyMTozOC4uCltmbGFuZ11bT3Blbk1QXSBVc2UgJ2xpbmVhci1zdGVw JyBpbnN0ZWFkIG9mICdzdGVwLXNpbXBsZS1tb2RpZmllcicgaeKApiAoIzIxNDA0MSkKCuKApm4g NS4xLQoKVGhlc2UgdHdvIG1vZGlmaWVycyBhcmUgc3RydWN0dXJhbGx5IGlkZW50aWNhbCwgYnV0 IHRoZSBsYXR0ZXIgaGFzIGFuCmV4Y2x1c2l2ZSBwcm9wZXJ0eSB3aGVyZWFzIHRoZSBmb3JtZXIg ZG9lcyBub3QuCkFsc28sIHRoaXMgYWxsb3dzIGRpYWdub3N0aWNzIHRvIHVzZSB0aGUgbW9kaWZp ZXIgbmFtZSB0aGF0IGFwcGVhcnMgaW4KdGhlIHNwZWMgdGhhdCBjb3JyZXNwb25kcyB0byB0aGUg dmVyc2lvbiBpbiAtZm9wZW5tcC12ZXJzaW9uLgpodHRwczovL2ludmVudC5rZGUub3JnL3F0L2Ns YW5nL2xsdm0tcHJvamVjdC8tL2NvbW1pdC8xZTI0MzVlMzIzMTJiMTQ5NzAwYzUwYWIyZThjZDQz OGZhY2Y5ZjJmCgpHaXQgY29tbWl0IDNiOTI0MDU2YmMxY2ZjYzQ1ZDE2MWE5MDA1M2Q3ZDc5ZWIy YjM0YzkgYnkgS3J6eXN6dG9mIFBhcnp5c3playBvbiAwNC8wOC8yMDI2IGF0IDIxOjQ1Li4KW2Zs YW5nXVtPcGVuTVBdIFVzZSAncHJlc2VudC1tb2RpZmllcicgaW5zdGVhZCBvZiAnZXhwZWN0YXRp b24nIGluIDUuMQoKVGhlIDUuMSBzcGVjIGxpc3RzIFBSRVNFTlQgYXMgYW4gYWx0ZXJuYXRpdmUg aW4gYSAnbW90aW9uLW1vZGlmaWVyJy4KVGhlIG90aGVyIGFsdGVybmF0aXZlcyBhcmUgbWFwcGVy IGFuZCBpdGVyYXRvci4gVGhlc2UgYWxyZWFkeSBleGlzdAphcyBzZXBhcmF0ZSBtb2RpZmllcnMs IHNvICdtb3Rpb24tbW9kaWZpZXInIHdvdWxkIGJlc3QgYmUgZXhwcmVzc2VkCmFzIGEgbW9kaWZp ZXIgZ3JvdXAuIFdoaWxlIG1vZGlmaWVyIGdyb3VwcyBhcmUgbm90IGltcGxlbWVudGVkIHlldCwK Ym9ycm93ICdwcmVzZW50LW1vZGlmaWVyJyBmcm9tIHRoZSA2LjAgc3BlYy4KClRoZSAnZXhwZWN0 YXRpb24nIG1vZGlmaWVyIG9ubHkgZXhpc3RlZCBpbiA1LjIsIGl0IHdhcyByZXBsYWNlZCBieQon cHJlc2VudC1tb2RpZmllcicgaW4gNi4wLgpodHRwczovL2ludmVudC5rZGUub3JnL3F0L2NsYW5n L2xsdm0tcHJvamVjdC8tL2NvbW1pdC8zYjkyNDA1NmJjMWNmY2M0NWQxNjFhOTAwNTNkN2Q3OWVi MmIzNGM5CgpHaXQgY29tbWl0IDk5ZmFiYjhlY2MxODk4MGU0NjU0ODhiYjZkMTBjMzMwZGFhZDMy YWYgYnkgS3J6eXN6dG9mIFBhcnp5c3playBvbiAwNC8wOC8yMDI2IGF0IDIyOjA1Li4KZm9ybWF0 Cmh0dHBzOi8vaW52ZW50LmtkZS5vcmcvcXQvY2xhbmcvbGx2bS1wcm9qZWN0Ly0vY29tbWl0Lzk5 ZmFiYjhlY2MxODk4MGU0NjU0ODhiYjZkMTBjMzMwZGFhZDMyYWYK