Return-Path: Received: from smtp1.osuosl.org (smtp1.osuosl.org [140.211.166.138]) by lists.linuxfoundation.org (Postfix) with ESMTP id DBB61C002D for ; Wed, 30 Nov 2022 19:42:20 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp1.osuosl.org (Postfix) with ESMTP id A9FB88200E for ; Wed, 30 Nov 2022 19:42:20 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.11.0 smtp1.osuosl.org A9FB88200E Authentication-Results: smtp1.osuosl.org; dkim=pass (2048-bit key) header.d=protonmail.com header.i=@protonmail.com header.a=rsa-sha256 header.s=protonmail3 header.b=RMHccxcH X-Virus-Scanned: amavisd-new at osuosl.org X-Spam-Flag: NO X-Spam-Score: -2.101 X-Spam-Level: X-Spam-Status: No, score=-2.101 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no Received: from smtp1.osuosl.org ([127.0.0.1]) by localhost (smtp1.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id T_uGCkbqcwEm for ; Wed, 30 Nov 2022 19:42:19 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.8.0 DKIM-Filter: OpenDKIM Filter v2.11.0 smtp1.osuosl.org E6C988200D Received: from mail-4322.protonmail.ch (mail-4322.protonmail.ch [185.70.43.22]) by smtp1.osuosl.org (Postfix) with ESMTPS id E6C988200D for ; Wed, 30 Nov 2022 19:42:18 +0000 (UTC) Date: Wed, 30 Nov 2022 19:42:08 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com; s=protonmail3; t=1669837335; x=1670096535; bh=enB6N4Yzi1stq2aD9gIr9L6jY6mPs7Sof4IyGWs2z+8=; h=Date:To:From:Subject:Message-ID:In-Reply-To:References: Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID: Message-ID:BIMI-Selector; b=RMHccxcHPdVoAgG41gTf8pJZLabjj2wHCp9ak2iy9IMEf/XknhkxDmxQb6995eE/S BXU2sk0YMe0v6XLAIukLfwk2ONPZ2eFTSg6l7GSG+bB8XUemNTS7PKgCChu3zloyFa Rjnmt1eIbQsKpkCx4Pz+48mWE/fTWA96OSvO5ClcglFZlttd0+6qmhncrYovYoRdZc WfD75qqNzVohGx/Sxcci47JHEaueu2+STiSB8hHS/jviIbgZEKzahrpBjnfOv11wfp x1LsWX/jeQU4WFaLiLiPe7J9K3+qRFSo5Feq2BdlcT8rJ30xAsLeJd9z39vYrYb9zA ZV3pLbpSzY4Kg== To: Salvatore Ingala , Bitcoin Protocol Discussion , Antoine Riard From: Rijndael Message-ID: <0f352f70-c93a-614f-e443-67d198ec2c26@protonmail.com> In-Reply-To: References: Feedback-ID: 41648937:user:proton MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="b1_LmIWKbXcSTGIHfudfbpKX5AuKAhy9MtSkoDtjPB6spY" X-Mailman-Approved-At: Wed, 30 Nov 2022 19:44:39 +0000 Subject: Re: [bitcoin-dev] Merkleize All The Things X-BeenThere: bitcoin-dev@lists.linuxfoundation.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Bitcoin Protocol Discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 30 Nov 2022 19:42:21 -0000 This is a multi-part message in MIME format. --b1_LmIWKbXcSTGIHfudfbpKX5AuKAhy9MtSkoDtjPB6spY Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: base64 SGVsbG8gU2FsdmF0b3JlLAoKUmVhbGx5IGludGVyZXN0aW5nIGlkZWEuIFRoZSB3YWxrLXRocm91 Z2ggb2YgdGhlIGNoYWxsZW5nZSBwcm90b2NvbCBoZWxwZWQuCgpJbiB0aGUgZmluYWwgc3RhdGU6 CgpbUzE0LiBzdGF0ZTogaF97QTs2fSwgaF97Qjs2fV0KLSBBbGljZSBjYW4gdGFrZSBhbGwgdGhl IG1vbmV5IGlmIHNoZSBjYW4gb3BlbiBoX3tBOzZ9IHRvIGEgY29ycmVjdCAibiA9PiBuICsgbiIg Y29tcHV0YXRpb24gc3RlcAotIEJvYiBjYW4gdGFrZSBhbGwgdGhlIG1vbmV5IGlmIGhlIGNhbiBv cGVuIGhfe0I7Nn0gdG8gYSBjb3JyZWN0ICJuID0+IG4gKyBuIiBjb21wdXRhdGlvbiBzdGVwCgpN eSB1bmRlcnN0YW5kaW5nIG9mIHlvdXIgc2NoZW1lIGZvciBlbmNvZGluZyBleGVjdXRpb24gdHJh Y2VzIGlzIHRoYXQgZWFjaCBsZWFmIGlzIChwcmV2aW91cy1zdGF0ZSwgb3BlcmF0aW9uLCBwb3N0 LXN0YXRlKSBTbyBpbiB0aGlzIGNhc2Ugd2hlbiB3ZSBnZXQgdG8gdGhlIGNvbmZsaWN0aW5nIHN0 ZXAgb2YgdGhlIGV4ZWN1dGlvbiB0cmFjZXMsIGFsaWNlIG1pZ2h0IHJldmVhbCBzb21ldGhpbmcg bGlrZSAoeD02NCwgeCt4LCB4PTEyNykgYW5kIGJvYiBtaWdodCByZXZlYWwgc29tZXRoaW5nIGxp a2UgKHg9NjQsIHgreCwgeD0xMjgpLiBTbyBpbiBvcmRlciBmb3IgdGhlIGNvdmVuYW50IHRvIGVu Zm9yY2Ugd2hpY2ggc3RhdGUtdHJhbnNpdGlvbiBpcyB2YWxpZCAod2hvIGNhbiBzcGVuZCB0aGUg bW9uZXkpLCB0aGF0IG1lYW5zIHRoYXQgYHgreGAgbmVlZHMgdG8gYmUgZXZhbHVhdGVkIGluIHNj cmlwdCB0byB0ZWxsIHdobyBoYXMgcG9zdGVkIHRoZSBpbmNvcnJlY3Qgc3RhdGUuIEFtIEkgdW5k ZXJzdGFuZGluZyB0aGlzIGZpbmFsIHN0ZXAgb2YgdGhlIGJpc2VjdGlvbiBwcm90b2NvbCBjb3Jy ZWN0bHk/CgotcmlqbmRhZWwKCk9uIDExLzEyLzIyIDEwOjA0IEFNLCBTYWx2YXRvcmUgSW5nYWxh IHZpYSBiaXRjb2luLWRldiB3cm90ZToKCj4gSGkgQW50b2luZSwKPiBJdCBhcHBlYXJzIHRoYXQg bXkgZXhwbGFuYXRpb24gb2YgdGhlIHJlbGF0aW9uc2hpcCBiZXR3ZWVuIHRoZSBjb3ZlbmFudCBh bmQgdGhlIGJpc2VjdGlvbiBwcm90b2NvbCBpcyBzdGlsbCB1bmNsZWFyOyBJJ2xsIGRvIG15IGJl c3QgdG8gY2xhcmlmeS4KPgo+IFRoZSBiaXNlY3Rpb24ncyBNZXJrbGUgdHJlZSBuZXZlciBlbmRz IHVwIG9uLWNoYWluLCBpbiBhbnkgZm9ybS4gVGhlcmVmb3JlLCBhIGJpZ2dlciBjb21wdXRhdGlv biBkb2VzIG5vdCBlbmQgdXAgaW4gYSBiaWdnZXIgd2l0bmVzcyBzaXplLCB3aGljaCBpcyBrZXkg dG8gdGhlIHNjYWxhYmlsaXR5IG9mIHRoZSBhcHByb2FjaC4gT25seSBpbiB0aGUgY2FzZSBvZiBh IGNoYWxsZW5nZSwgaXQgd2lsbCByZXN1bHQgaW4gYSAobG9nYXJpdGhtaWNhbGx5KSBsb25nZXIg Y2hhaW4gb2YgdHJhbnNhY3Rpb25zIHRvIHJlc29sdmUgaXQuIFRoaXMgY2hhaW4gb2YgdHJhbnNh Y3Rpb25zIGNvdWxkIGJlIG1hcHBlZCB0byBhIHJvb3QtdG8tbGVhZiBwYXRoIGluIHRoZSBNZXJr bGUgdHJlZSBvZiB0aGUgY29tcHV0YXRpb24gdHJhY2UuCj4KPiBUaGUgYWN0dWFsIGNvbXB1dGF0 aW9uIHRyYWNlIChhbmQgdGhlIGNvcnJlc3BvbmRpbmcgTWVya2xlIHRyZWUpIGlzIG9ubHkgY29t cHV0ZWQgYnkgdGhlIHBhcnRpZXMgd2hlbiB0aGV5IGV4ZWN1dGUgdGhlIGNvbXB1dGF0aW9uLgo+ IFdoYXQncyBpbiB0aGUgdGFwbGVhdmVzIGlzIG9ubHkgdGhlIHZhbGlkIHRyYW5zaXRpb25zIGF0 IHRoZSBjdXJyZW50IHN0YXRlIG9mIHRoZSBwcm90b2NvbDsgdGhhdCBpcywgdGhlIHZhbGlkIHRy YW5zaXRpb25zIGluIHRoZSBGaW5pdGUgU3RhdGUgTWFjaGluZSAoYW5kIHBvc3NpYmx5IG90aGVy IHZhbGlkIGV4aXQgY29uZGl0aW9ucyB0aGF0IHJlbW92ZSB0aGUgY292ZW5hbnQgZW5jdW1icmFu Y2UsIGlmIGFueSkuCj4KPiBUaGUgYmlzZWN0aW9uIHByb3RvY29sIG9ubHkgbWFrZXMgc2Vuc2Ug YXMgYSBzdGVwIGluIGEgbGFyZ2VyIHByb3RvY29sIHRoYXQgbWFrZXMgdXNlIG9mIGl0Lgo+Cj4g UGVyaGFwcyBwcmVzZW50aW5nIHRoZSBwcm90b2NvbCBpbiBhIGxlc3MtdGhhbi1nZW5lcmFsIGNh c2UgbWlnaHQgaGVscCB0byB1bmRlcnN0YW5kIGl0LiBTbyBsZXQncyBwbGF5IGEgc2ltcGxlciBn YW1lIHVzaW5nIGEgcHJvdG9jb2wgdGhhdCBpbmNsdWRlcyBhIGZyYXVkIHByb29mLgo+Cj4gQWxp Y2UgY2xhaW1zIHRoYXQgc2hlIGtub3dzIGhvdyB0byBtdWx0aXBseSBieSAyNTYsIHdoaWxlIEJv YiBkb2Vzbid0IGJlbGlldmUgaGVyLiBTbyB0aGV5IG1ha2UgYSBiZXQ6IHRoZXkgZWFjaCBjb21t aXQgMSBjb2luOyB0aGVuIEJvYiBjaG9zZXMgYSBudW1iZXIgeDsgdGhlbiBBbGljZSBjb21wdXRl cyB5ID0gMjU2KnggYnkgZG91YmxpbmcgeCBlaWdodCB0aW1lcyAoZXhwZW5zaXZlIG11bHRpcGxp Y2F0aW9ucyB3ZXJlIGRpc2FibGVkIGluIGEgdHJhZ2ljIEREb1MgYWNjaWRlbnQpLCBhbmQgcHVi bGlzaGVzIHRoZSByZXN1bHQgeS4gQm9iIGluZGVwZW5kZW50bHkgY29tcHV0ZXMgMjU2ICogeCAo aGUgaGFzIGEgZnJpZW5kIHdobyBpcyBhIG1hdGhlbWF0aWNpYW4sIGhlJ2xsIGtub3cgaG93IHRv IGRvIGl0KS4gSWYgdGhlIHJlc3VsdCBpcyBub3QgeSwgQm9iIHdpbGwgc3RhcnQgYSBjaGFsbGVu Z2U7IG90aGVyd2lzZSwgQWxpY2Ugd2lucyBhbmQgdGFrZXMgdGhlIG1vbmV5Lgo+Cj4gKFRoZSBl eGFtcGxlIGlzIG9mIGNvdXJzZSBhcnRpZmljaWFsLCBhcyByZWRvaW5nIHRoZSBjb21wdXRhdGlv biBpbiBTY3JpcHQgaXMgY2hlYXBlciB0aGFuIGV4ZWN1dGluZyB0aGUgZnJhdWQgcHJvb2YgaW4g dGhpcyBjYXNlISkKPgo+IFdoYXQgZm9sbG93cyBpcyBhbiBhY3R1YWwgZXhlY3V0aW9uIG9mIHRo ZSBwcm90b2NvbC4gSW4gdGhlIGZvbGxvd2luZywgZWFjaCBbU2ldIGlzIGEgVVRYTyBjb3JyZXNw b25kaW5nIHRvIHNvbWUgcG9zc2libGUgRlNNIG5vZGUsIHN0YXJ0aW5nIHdpdGggdGhlIFMwLCB0 aGUgVVRYTyB3aXRoIDErMSA9IDIgY29pbnMuIEVhY2ggbGluZSB3aXRoICItIiBpcyBhIHBvc3Np YmxlIHRyYW5zaXRpb24gKHNjcmlwdCBpbiB0aGUgdGFwdHJlZSksIHNwZWNpZnlpbmcgd2hhdCBp cyB0aGUgbmV4dCBGU00gbm9kZSBhZnRlciB0aGUgIj09PiIgc3ltYm9sOyB0aGUgZW5jdW1icmFu Y2UgaW4gdGhlIHNjcmlwdHMgZW5mb3JjZSB0aGF0IHRoZSBzdGF0ZSBvZiB0aGUgbmV4dCBVVFhP IGlzIHVwZGF0ZWQgY29ycmVjdGx5IChkZXRhaWxzIG9taXR0ZWQgYmVsb3cpLCBhbmQgYW55IG90 aGVyIG5lY2Vzc2FyeSBjb25kaXRpb25zIHRvIGVuc3VyZSB0aGUgaW50ZWdyaXR5IG9mIHRoZSBw cm90b2NvbC4KPgo+ID09PT09Cj4KPiBbUzBdOiBJbml0aWFsIFVUWE8KPiAtIG9ubHkgQm9iIGNh biBzcGVuZCwgaGUgbXVzdCBjaG9vc2UgaGlzIG51bWJlciB4ID09PiBTMQo+Cj4gW1MxOyBzdGF0 ZTogeF06Cj4gLSBvbmx5IEFsaWNlIGNhbiBzcGVuZCwgc2hlIHB1Ymxpc2hlcyBoZXIgYW5zd2Vy IHkgPT0+IFMyCj4KPiBbUzIuIHN0YXRlOiB4LCB5XToKPiAtIGFmdGVyIDEgZGF5OiBBbGljZSB3 b24sIHNoZSBjYW4gdGFrZSB0aGUgbW9uZXkgLy8gSGFwcHkgY2FzZSEgVXN1YWxseSB0aGF0J3Mg dGhlIGVuZAo+IC0gQm9iIGRpc2FncmVlcyB3aXRoIHRoZSBhbnN3ZXIsIHBvc3QgeiBhcyBoaXMg YW5zd2VyLiA9PT4gUzMKPgo+IFRoZSBjaGFsbGVuZ2Ugc3RhcnRzIGhlcmUhIExldCdzIHB1dCBz b21lIGFjdHVhbCBudW1iZXJzLiB4ID0gMjsgeSA9IDUwODsgeiA9IDUxMi4KPgo+IFRoaXMgaXMg d2hhdCBBbGljZSBjb21wdXRlZDoKPgo+IDIgPT4gNCA9PiA4ID0+IDE2ID0+IDMyID0+IDY0ID0+ IDEyNyA9PiAyNTQgPT4gNTA4Cj4KPiBUaGlzIGlzIHdoYXQgQm9iIGNvbXB1dGVkOgo+Cj4gMiA9 PiA0ID0+IDggPT4gMTYgPT4gMzIgPT4gNjQgPT4gMTI4ID0+IDI1NiA9PiA1MTIKPgo+IEF0IHRo aXMgdGltZSwgd2UgZG9uJ3Qga25vdyB3aG8gaXMgcmlnaHQuIFRoZXkgYm90aCBidWlsdCBhIHRy ZWUgdGhhdCBsb29rcyBsaWtlIHRoaXMgKEFTQ0lJIGFydCBvbmx5IHdvcmtpbmcgaW4gZml4ZWQt d2lkdGggZm9udCk6Cj4KPiBfX19IMThfX18KPiAvIFwKPiAvIFwKPiBIMTQgSDU4Cj4gLyBcIC8g XAo+IC8gXCAvIFwKPiAvIFwgLyBcCj4gSDEyIEgzNCBINTYgSDc4Cj4gLyBcIC8gXCAvIFwgLyBc Cj4gSDEgSDIgSDMgSDQgSDUgSDYgSDcgSDgKPgo+IFJlbWVtYmVyIHRoYXQgZWFjaCBpbnRlcm5h bCBub2RlIGNvbW1pdHMgdG86IHRoZSBzdGF0ZSBvZiB0aGUgY29tcHV0YXRpb24gYmVmb3JlIHRo ZSBsZWZ0bW9zdCBsZWFmIGluIHRoZSBzdWJ0cmVlLCB0aGUgc3RhdGUgYWZ0ZXIgdGhlIHJpZ2h0 bW9zdCBsZWFmLCBhbmQgdGhlIGhhc2ggb2Ygc3ViLXRyYWNlIGZvciB0aGUgc3ViLXRyZWUuIEVh Y2ggbGVhZiBqdXN0IGNvbW1pdHMgdG8gdGhhdCBpbnRlcm1lZGlhdGUgY29tcHV0YXRpb24gc3Rl cCAoYW5kIHRoZSBvcGVyYXRpb24sIHdoaWNoIGhlcmUgaXMgYWx3YXlzICJkb3VibGUgdGhlIGlu cHV0IikuIEZvciBleGFtcGxlLCBINCBjb21taXRzIHRvICIxNiA9PiAzMiIgYWNjb3JkaW5nIHRv IGJvdGggQWxpY2UncyBhbmQgQm9iJ3MgY29tcHV0YXRpb24gdHJhY2VzLgo+Cj4gKEZyb20gb3Vy IHByaXZpbGVnZWQgcG9pbnQgb2Ygdmlldywgd2UgY2FuIGZvcmVzZWUgdGhhdCB0aGUgZWFybGll c3QgZGlzYWdyZWVtZW50IGlzIG9uIHRoZSA2dGggc3RlcCBvZiB0aGUgY29tcHV0YXRpb246ICI2 NCA9PiAxMjciIGFjY29yZGluZyB0byBBbGljZSwgIjY0ID0+IDEyOCIgYWNjb3JkaW5nIHRvIEJv YikuCj4KPiBMZXQncyBkZW5vdGUgaF97QTsxOH0gKHJlc3AuIGhfe0I7MTh9KSBhbGwgdGhlIGlu Zm9ybWF0aW9uIGNvbW1pdHRlZCB0byBpbiB0aGUgbm9kZSBIMTgsIGFjY29yZGluZyB0byBBbGlj ZSAocmVzcC4gQm9iKS4gU2ltaWxhcmx5IGZvciBhbGwgdGhlIG90aGVyIG5vZGVzLgo+Cj4gW1Mz LiBzdGF0ZTogeCwgeSwgel06IENoYWxsZW5nZSBzdGFydHMhCj4gLSBBbGljZSBwb3N0cyB0aGUg cm9vdCBvZiBoZXIgY29tcHV0YXRpb24gdHJhY2UgaF97QTsxOH0gPT0+IFM0Cj4KPiBbUzQuIHN0 YXRlOiB4LCB5LCB6LCBoX3tBOzE4fV0KPiAtIEJvYiBwb3N0cyB0aGUgcm9vdCBvZiBoZXIgY29t cHV0YXRpb24gdHJhY2UgaF97QjsxOH0gPT0+IFM1Cj4KPiBTaW5jZSB0aGV5IGRpc2FncmVlLCBp dCBtdXN0IGJlIHRoZSBjYXNlIHRoYXQgaF97QTsxOH0gIT0gaF97QjsxOH0uCj4KPiBbUzUuIHN0 YXRlOiB4LCB5LCB6LCBoX3tBOzE4fSwgaF97QjsxOH1dCj4gLSBBbGljZSBvcGVucyB0aGUgY29t bWl0bWVudCBoX3tBOzE4fSwgYnkgcmV2ZWFsaW5nIEgxNCBhbmQgSDU4IChhY2NvcmRpbmcgdG8g aGVyKSA9PT4gUzYKPgo+IE5vdGUgdGhhdCBpbiB0aGlzIGxhc3QgdHJhbnNpdGlvbiAoZ29pbmcg dG8gUzYpLCB0aGUgY292ZW5hbnQgZW5mb3JjZXMgdGhhdCB0aGUgY2hpbGQgY29tbWl0bWVudHMg YXJlIGNvbXBhdGlibGU6IHRoZSB0cmFuc2l0aW9uIGlzIG9ubHkgdmFsaWQgaWYgdGhlIHN0YXJ0 aW5nIHN0YXRlIG9mIHRoZSBjb21wdXRhdGlvbiBhY2NvcmRpbmcgdG8gaF97QTsxNH0gaXMgY29t cGF0aWJsZSB3aXRoIGhfe0E7MTh9ICh0aGF0IGlzLCBpdCdzIGVxdWFsIHRvIHgpOyBzaW1pbGFy bHkgdGhlIGVuZCBzdGF0ZSBvZiB0aGUgY29tcHV0YXRpb24gaW4gaF97QTs1OH0gbXVzdCBiZSB5 LCBhbmQgaF97QTsxOH0gY2FuIGJlIHJlY29tcHV0ZWQgZnJvbSB0aGUgZGF0YSBwcm92aWRlZCAo ZW5zdXJpbmcgdGhlIGludGVncml0eSBvZiB0aGUgTWVya2xlIHRyZWUpLgo+IFRoaXMgaXMgdHJ1 ZSBmb3IgYWxsIHRoZSBjb21taXRtZW50IG9wZW5pbmdzIGJlbG93Lgo+Cj4gW1M2LiBzdGF0ZTog eCwgeSwgeiwgKGhfe0E7MTR9LCBoX3tBOzU4fSksIGhfe0I7MTh9XQo+IC0gQm9iIG9wZW5zIHRo ZSBjb21taXRtZW50IGhfe0I7MTh9LCBieSByZXZlYWxpbmcgSDE0IGFuZCBINTggKGFjY29yZGlu ZyB0byBoaW0pID09PiBTNwo+Cj4gW1M3LiBzdGF0ZTogeCwgeSwgeiwgKGhfe0E7MTh9LCBoX3tB OzE0fSwgaF97QTs1OH0pLCAoaF97QjsxOH0sIGhfe0I7MTR9LCBoX3tCOzU4fSldCj4gLy8gV2Ug bm93IG5lZWQgdG8gY2hvb3NlIGEgY2hpbGQgd2hlcmUgdGhlcmUgaXMgZGlzYWdyZWVtZW50Lgo+ IC8vIElmIGJvdGggY2hpbGRyZW4gZG9uJ3QgbWF0Y2gsIGl0ZXJhdGUgb24gdGhlIGxlZnQgY2hp bGQuCj4gLSBBbnlvbmU6IGlmIGhfe0E7MTR9ID09IGhfe0I7MTR9ID09PiBTOAo+IC0gQW55b25l OiBpZiBoX3tBOzE0fSAhPSBoX3tCOzE0fSA9PT4gQ29udGludWUgY2hhbGxlbmdlIG9uIEgxNCAv LyBOb24tZXhlY3V0ZWQgRlNNIGNhc2VzIG9taXR0ZWQgZm9yIGJyZXZpdHkKPgo+IEF0IHRoaXMg cG9pbnQsIHRoZSBkaXNhZ3JlZW1lbnQgb3ZlciB0aGUgcm9vdCBpcyBzZXR0bGVkOiBBbGljZSBh bmQgQm9iIGFncmVlIG9uIHRoZSBmaXJzdCBoYWxmIG9mIHRoZSBjb21wdXRhdGlvbiwgYnV0IHRo ZXkgZGlzYWdyZWUgb3ZlciB0aGUgc2Vjb25kIGhhbGYuIFRoZXJlZm9yZSwgaW4gUzggdGhlIHBy b3RvY29sIGNvbnRpbnVlcyBvdmVyIEg1OC4KPgo+IFtTOC4gc3RhdGU6IGhfe0E7NTh9LCBoX3tC OzU4fV0KPiAvLyBUaGlzIGlzIGFuYWxvZ291cyB0byBTNSwganVzdCB3aXRoIGhhbGYgb2YgdGhl IGNvbXB1dGF0aW9uIHN0ZXBzLgo+IC0gQWxpY2Ugb3BlbnMgdGhlIGNvbW1pdG1lbnQgaF97QTs1 OH0sIGJ5IHJldmVhbGluZyBINTYgYW5kIEg3OCAoYWNjb3JkaW5nIHRvIGhlcikgPT0+IFM5Cj4K PiBbUzkuIHN0YXRlOiAoaF97QTs1Nn0sIGhfe0E7Nzh9KSwgaF97Qjs1OH1dCj4gLSBCb2Igb3Bl bnMgdGhlIGNvbW1pdG1lbnQgaF97Qjs1OH0sIGJ5IHJldmVhbGluZyBINTYgYW5kIEg3OCAoYWNj b3JkaW5nIHRvIGhpbSkgPT0+IFMxMAo+Cj4gW1MxMC4gc3RhdGU6IChoX3tBOzU2fSwgaF97QTs3 OH0pLCAoaF97Qjs1Nn0sIGhfe0I7Nzh9KV0KPiAvLyBMaWtlIFM3LCBpdGVyYXRlIG9uIGEgZGlz YWdyZWVpbmcgY2hpbGQKPiAtIEFueW9uZTogaWYgaF97QTs1Nn0gPT0gaF97Qjs1Nn0gPT0+IGNv bnRpbnVlIGNoYWxsZW5nZSBvbiBINzggLy8gTm9uLWV4ZWN1dGVkIEZTTSBjYXNlcyBvbWl0dGVk IGZvciBicmV2aXR5Cj4gLSBBbnlvbmU6IGlmIGhfe0E7NTZ9ICE9IGhfe0I7NTZ9ID09PiBTMTEK Pgo+IEdldHRpbmcgdGhlcmUhIFRoZSBzdWJ0cmVlIG5vdyBjb21taXRzIHRvIGp1c3QgdHdvIGNv bXB1dGF0aW9uIHN0ZXBzLgo+Cj4gW1MxMS4gc3RhdGU6IGhfe0E7NTZ9LCBoX3tCOzU2fV0KPiAv LyBUaGlzIGlzIGFuYWxvZ291cyB0byBTNSBhbmQgUzguCj4gLSBBbGljZSBvcGVucyB0aGUgY29t bWl0bWVudCBoX3tBOzU2fSwgYnkgcmV2ZWFsaW5nIEg1IGFuZCBINiAoYWNjb3JkaW5nIHRvIGhl cikgPT0+IFMxMgo+Cj4gW1MxMi4gc3RhdGU6IChoX3tBOzV9LCBoX3tBOzZ9KSwgaF97Qjs1Nn1d Cj4gLSBCb2Igb3BlbnMgdGhlIGNvbW1pdG1lbnQgaF97Qjs1Nn0sIGJ5IHJldmVhbGluZyBINSBh bmQgSDYgKGFjY29yZGluZyB0byBoaW0pID09PiBTMTMKPgo+IFtTMTMuIHN0YXRlOiAoaF97QTs1 fSwgaF97QTs2fSksIChoX3tCOzV9LCBoX3tCOzZ9KV0KPiAvLyBMaWtlIFM3IGFuZCBTMTAsIGl0 ZXJhdGUgb24gYSBkaXNhZ3JlZWluZyBjaGlsZAo+IC0gQW55b25lOiBpZiBoX3tBOzV9ID09IGhf e0I7NX0gPT0+IFMxNAo+IC0gQW55b25lOiBpZiBoX3tBOzV9ICE9IGhfe0I7NX0gPT0+IGNvbnRp bnVlIGNoYWxsZW5nZSBvbiBINSAvLyBOb24tZXhlY3V0ZWQgRlNNIGNhc2VzIG9taXR0ZWQgZm9y IGJyZXZpdHkKPgo+IFdlIGFyZSBub3cgYXQgdGhlIGNydWNpYWwgc3RhZ2U6IHRoZSBjb21taXRt ZW50IGNvcnJlc3BvbmRzIHRvIGEgbGVhZiBvZiB0aGUgY29tcHV0YXRpb24gdHJhY2UgTWVya2xl IHRyZWUuCj4KPiBbUzE0LiBzdGF0ZTogaF97QTs2fSwgaF97Qjs2fV0KPiAtIEFsaWNlIGNhbiB0 YWtlIGFsbCB0aGUgbW9uZXkgaWYgc2hlIGNhbiBvcGVuIGhfe0E7Nn0gdG8gYSBjb3JyZWN0ICJu ID0+IG4gKyBuIiBjb21wdXRhdGlvbiBzdGVwCj4gLSBCb2IgY2FuIHRha2UgYWxsIHRoZSBtb25l eSBpZiBoZSBjYW4gb3BlbiBoX3tCOzZ9IHRvIGEgY29ycmVjdCAibiA9PiBuICsgbiIgY29tcHV0 YXRpb24gc3RlcAo+Cj4gVGhlIGNoYWxsZW5nZSBub3cgZW5kcyBxdWlja2x5OiBCb2IncyBoYXNo IGNvbW1pdHMgdG8gdGhlIGNvbXB1dGF0aW9uIHN0ZXAgIjY0ID0+IDEyOCIuCj4gSW5zdGVhZCwg QWxpY2UncyBzdGVwIGlzIHRoZSBpbmNvcnJlY3QgIjY0ID0+IDEyNyIuCj4KPiBJdCdzIG5vdCBk aWZmaWN1bHQgdG8gY29udmluY2Ugb25lc2VsZiB0aGF0LCBhcyBsb25nIGFzIHRoZSBoYXNoIGZ1 bmN0aW9uIGlzIGNvbGxpc2lvbi1mcmVlIGFuZCB0aGUgY29tcHV0YXRpb24gaXMgZGV0ZXJtaW5p c3RpYywgb25seSB0aGUgaG9uZXN0IHBhcnR5IGNhbiBwcm92aWRlIGNvcnJlY3QgZGF0YSBmb3Ig dGhpcyBmaW5hbCBzdGVwLgo+IChUaGUgYmlzZWN0aW9uIHByb3RvY29sIGNhbid0IGRvIGFueXRo aW5nIHVzZWZ1bCBpZiBib3RoIHBhcnRpZXMgcHJvdmlkZSBpbmNvcnJlY3QgZGF0YTsgYXJndWFi bHksIHRoYXQgaXMgbm90IGEgdmVyeSBpbnRlcmVzdGluZyBzY2VuYXJpbyEpCj4KPiBDcnVjaWFs bHksIHRoZSBvcGVyYXRpb24gaW4gdGhlIHNpbmdsZSBzdGVwIGlzIHNvIHNpbXBsZSB0aGF0IFNj cmlwdCBjYW4gdmVyaWZ5IGl0Lgo+Cj4gPT09PT0KPgo+IElmIHlvdSByZWFkIHVudGlsIGhlcmU6 IHRoYW5rIHlvdSwgdGhpcyB3YXMgdGhlIGZpcnN0IGV4ZWN1dGlvbiBvZiBhIGNoYWxsZW5nZSBp biBNQVRUIGNvdmVuYW50cyEKPgo+IE9mIGNvdXJzZSwgdGhlcmUgYXJlIGEgZmV3IHRoaW5ncyBt aXNzaW5nIGluIHRoZSBhYm92ZSBwcm90b2NvbDoKPiAtIEJvbmRzIHNob3VsZCBiZSBhZGRlZCBp biBvcmRlciB0byBpbmNlbnRpdml6ZSBjb29wZXJhdGlvbi4KPiAtIFRoZSBvbWl0dGVkIEZTTSBz dGVwcyAoY29ycmVzcG9uZGluZyB0byBicmFuY2hlcyBvZiB0aGUgY2hhbGxlbmdlIHRoYXQgd2Vy ZSBuZXZlciB0YWtlbikgbmVlZCB0byBiZSBjb21wdXRlZCBub25ldGhlbGVzcyB3aGVuIHByZXBh cmluZyB0aGUgY292ZW5hbnQuCj4gLSBBZGRpdGlvbmFsIHRyYW5zaXRpb25zIHNob3VsZCBiZSBh ZGRlZCBhdCBldmVyeSBzdGVwIChhbHdheXMgYWxsb3cgY29vcGVyYXRpdmUgYmVoYXZpb3I7IGZv cmZhaXQgYWZ0ZXIgYSB0aW1lb3V0IGlmIGl0J3MgdGhlIG90aGVyIHBhcnR5J3MgdHVybikuCj4g LSBTb21lIG9mIHRob3NlIGNvbnNlY3V0aXZlICJmb3JjZWQiIHN0ZXBzIGNhbiBiZSBjb250cmFj dGVkIGluIGEgc2luZ2xlIHN0ZXA7IEkgZmVsdCB0aGlzIHNlcXVlbmNlIGlzIG1vcmUgbG9naWNh bCB0byBleHBsYWluIHRoZSBwcm90b2NvbCwgYnV0IGltcGxlbWVudGF0aW9ucyB3b3VsZCB3YW50 IHRvIG9wdGltaXplIGl0Lgo+Cj4gWWV0LCBfYWxsXyB0aGUgY29kZSBhbmQgc2NyaXB0cyBvZiB0 aGUgYmlzZWN0aW9uIHByb3RvY29sIGFyZSBpbmRlcGVuZGVudCBvZiB0aGUgYWN0dWFsIGV4ZWN1 dGlvbiwgYW5kIGNhbiBiZSBwcmVjb21wdXRlZCAoYm90dG9tIHVwLCBzdGFydGluZyBmcm9tIHRo ZSBsZWF2ZXMpIGJlZm9yZSB0aGUgaW5pdGlhbCBjb3ZlbmFudCBpcyBjcmVhdGVkIC0gdGhlcmVm b3JlLCBiZWZvcmUgeCwgeSBhbmQgeiBhcmUgY2hvc2VuIGFuZCBjb21taXR0ZWQgdG8uCj4KPiBX aGlsZSBoZXJlIGVhY2ggbGVhZiBpcyBkb2luZyB0aGUgc2FtZSBvcGVyYXRpb24gKGRvdWJsaW5n IGEgbnVtYmVyKSwgaXQgaXMgd2VsbC1rbm93biB0aGF0IGFyYml0cmFyeSBjb21wdXRhdGlvbiBj YW4gYmUgZGVjb21wb3NlZCBpbiB2ZXJ5IHNpbXBsZSBlbGVtZW50YXJ5IGZ1bmN0aW9ucyAobGlr ZSBOQU5EIGdhdGVzLCBpZiB3ZSB3YW50IHRvIGJlIG1pbmltYWxpc3RpYykuCj4KPiBJIGhvcGUg dGhpcyBoZWxwcyBpbiBjbGFyaWZ5aW5nIHRoZSByb2xlIG9mIHRoZSBiaXNlY3Rpb24gcHJvdG9j b2wgaW4gc21hcnQgY29udHJhY3RzIHVzaW5nIE1BVFQgY292ZW5hbnRzLgo+Cj4gQmVzdCwKPiBT YWx2YXRvcmU= --b1_LmIWKbXcSTGIHfudfbpKX5AuKAhy9MtSkoDtjPB6spY Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: base64 PGh0bWw+PGhlYWQ+DQogICAgPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50 PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiLz4NCiAgPC9oZWFkPg0KICA8Ym9keT4NCiAgICA8 cD5IZWxsbyBTYWx2YXRvcmUsPC9wPg0KICAgIDxwPlJlYWxseSBpbnRlcmVzdGluZyBpZGVhLiBU aGUgd2Fsay10aHJvdWdoIG9mIHRoZSBjaGFsbGVuZ2UNCiAgICAgIHByb3RvY29sIGhlbHBlZC4g PGJyLz4NCiAgICA8L3A+DQogICAgPHA+SW4gdGhlIGZpbmFsIHN0YXRlOjxmb250IGZhY2U9Im1v bm9zcGFjZSI+PGJyLz4NCiAgICAgIDwvZm9udD48L3A+DQogICAgPHA+PGZvbnQgZmFjZT0ibW9u b3NwYWNlIj5bUzE0LiBzdGF0ZTogaF97QTs2fSwgaF97Qjs2fV08YnIvPg0KICAgICAgICDCoCAt IEFsaWNlIGNhbiB0YWtlIGFsbCB0aGUgbW9uZXkgaWYgc2hlIGNhbiBvcGVuIGhfe0E7Nn0gdG8g YQ0KICAgICAgICBjb3JyZWN0ICYjMzQ7biA9Jmd0OyBuICsgbiYjMzQ7IGNvbXB1dGF0aW9uIHN0 ZXA8YnIvPg0KICAgICAgICDCoCAtIEJvYiBjYW4gdGFrZSBhbGwgdGhlIG1vbmV5IGlmIGhlIGNh biBvcGVuIGhfe0I7Nn0gdG8gYQ0KICAgICAgICBjb3JyZWN0ICYjMzQ7biA9Jmd0OyBuICsgbiYj MzQ7IGNvbXB1dGF0aW9uIHN0ZXA8L2ZvbnQ+PC9wPg0KICAgIDxwPk15IHVuZGVyc3RhbmRpbmcg b2YgeW91ciBzY2hlbWUgZm9yIGVuY29kaW5nIGV4ZWN1dGlvbiB0cmFjZXMgaXMNCiAgICAgIHRo YXQgZWFjaCBsZWFmIGlzIChwcmV2aW91cy1zdGF0ZSwgb3BlcmF0aW9uLCBwb3N0LXN0YXRlKSBT byBpbg0KICAgICAgdGhpcyBjYXNlIHdoZW4gd2UgZ2V0IHRvIHRoZSBjb25mbGljdGluZyBzdGVw IG9mIHRoZSBleGVjdXRpb24NCiAgICAgIHRyYWNlcywgYWxpY2UgbWlnaHQgcmV2ZWFsIHNvbWV0 aGluZyBsaWtlICh4PTY0LCB4K3gsIHg9MTI3KSBhbmQNCiAgICAgIGJvYiBtaWdodCByZXZlYWwg c29tZXRoaW5nIGxpa2UgKHg9NjQsIHgreCwgeD0xMjgpLiBTbyBpbiBvcmRlcg0KICAgICAgZm9y IHRoZSBjb3ZlbmFudCB0byBlbmZvcmNlIHdoaWNoIHN0YXRlLXRyYW5zaXRpb24gaXMgdmFsaWQg KHdobw0KICAgICAgY2FuIHNwZW5kIHRoZSBtb25leSksIHRoYXQgbWVhbnMgdGhhdCBgeCt4YCBu ZWVkcyB0byBiZSBldmFsdWF0ZWQNCiAgICAgIGluIHNjcmlwdCB0byB0ZWxsIHdobyBoYXMgcG9z dGVkIHRoZSBpbmNvcnJlY3Qgc3RhdGUuIEFtIEkNCiAgICAgIHVuZGVyc3RhbmRpbmcgdGhpcyBm aW5hbCBzdGVwIG9mIHRoZSBiaXNlY3Rpb24gcHJvdG9jb2wgY29ycmVjdGx5Pw0KICAgICAgPGJy Lz4NCiAgICA8L3A+DQogICAgPHA+LXJpam5kYWVsPGJyLz4NCiAgICA8L3A+DQogICAgPGRpdiBj bGFzcz0ibW96LWNpdGUtcHJlZml4Ij5PbiAxMS8xMi8yMiAxMDowNCBBTSwgU2FsdmF0b3JlIElu Z2FsYQ0KICAgICAgdmlhIGJpdGNvaW4tZGV2IHdyb3RlOjxici8+DQogICAgPC9kaXY+DQogICAg PGJsb2NrcXVvdGUgdHlwZT0iY2l0ZSIgY2l0ZT0ibWlkOkNBTWhDTW9FT052M2pyaUJVM3F3bTBw dDc1aUZfc2dyYTFIMlo0ck9GOHUrZTdoc19jd0BtYWlsLmdtYWlsLmNvbSI+DQogICAgICA8bWV0 YSBodHRwLWVxdWl2PSJjb250ZW50LXR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1V VEYtOCIvPg0KICAgICAgPGRpdiBkaXI9Imx0ciI+PGZvbnQgZmFjZT0ibW9ub3NwYWNlIj5IaSBB bnRvaW5lLDxici8+DQogICAgICAgICAgSXQgYXBwZWFycyB0aGF0IG15IGV4cGxhbmF0aW9uIG9m IHRoZSByZWxhdGlvbnNoaXAgYmV0d2VlbiB0aGUNCiAgICAgICAgICBjb3ZlbmFudCBhbmQgdGhl IGJpc2VjdGlvbiBwcm90b2NvbCBpcyBzdGlsbCB1bmNsZWFyOyBJJiMzOTtsbCBkbw0KICAgICAg ICAgIG15IGJlc3QgdG8gY2xhcmlmeS48YnIvPg0KICAgICAgICAgIDxici8+DQogICAgICAgICAg VGhlIGJpc2VjdGlvbiYjMzk7cyBNZXJrbGUgdHJlZSBuZXZlciBlbmRzIHVwIG9uLWNoYWluLCBp biBhbnkNCiAgICAgICAgICBmb3JtLiBUaGVyZWZvcmUsIGEgYmlnZ2VyIGNvbXB1dGF0aW9uIGRv ZXMgbm90IGVuZCB1cCBpbiBhDQogICAgICAgICAgYmlnZ2VyIHdpdG5lc3Mgc2l6ZSwgd2hpY2gg aXMga2V5IHRvIHRoZSBzY2FsYWJpbGl0eSBvZiB0aGUNCiAgICAgICAgICBhcHByb2FjaC4gT25s eSBpbiB0aGUgY2FzZSBvZiBhIGNoYWxsZW5nZSwgaXQgd2lsbCByZXN1bHQgaW4gYQ0KICAgICAg ICAgIChsb2dhcml0aG1pY2FsbHkpIGxvbmdlciBjaGFpbiBvZiB0cmFuc2FjdGlvbnMgdG8gcmVz b2x2ZSBpdC4NCiAgICAgICAgICBUaGlzIGNoYWluIG9mIHRyYW5zYWN0aW9ucyBjb3VsZCBiZSBt YXBwZWQgdG8gYSByb290LXRvLWxlYWYNCiAgICAgICAgICBwYXRoIGluIHRoZSBNZXJrbGUgdHJl ZSBvZiB0aGUgY29tcHV0YXRpb24gdHJhY2UuwqA8YnIvPg0KICAgICAgICAgIDxici8+DQogICAg ICAgICAgVGhlIGFjdHVhbCBjb21wdXRhdGlvbiB0cmFjZSAoYW5kIHRoZSBjb3JyZXNwb25kaW5n IE1lcmtsZQ0KICAgICAgICAgIHRyZWUpIGlzIG9ubHkgY29tcHV0ZWQgYnkgdGhlIHBhcnRpZXMg d2hlbiB0aGV5IGV4ZWN1dGUgdGhlDQogICAgICAgICAgY29tcHV0YXRpb24uPGJyLz4NCiAgICAg ICAgICBXaGF0JiMzOTtzIGluIHRoZSB0YXBsZWF2ZXMgaXMgb25seSB0aGUgdmFsaWQgdHJhbnNp dGlvbnMgYXQgdGhlDQogICAgICAgICAgY3VycmVudCBzdGF0ZSBvZiB0aGUgcHJvdG9jb2w7IHRo YXQgaXMsIHRoZSB2YWxpZCB0cmFuc2l0aW9ucw0KICAgICAgICAgIGluIHRoZSBGaW5pdGUgU3Rh dGUgTWFjaGluZSAoYW5kIHBvc3NpYmx5IG90aGVyIHZhbGlkIGV4aXQNCiAgICAgICAgICBjb25k aXRpb25zIHRoYXQgcmVtb3ZlIHRoZcKgY292ZW5hbnQgZW5jdW1icmFuY2UsIGlmIGFueSkuPGJy Lz4NCiAgICAgICAgICA8YnIvPg0KICAgICAgICAgIFRoZSBiaXNlY3Rpb24gcHJvdG9jb2wgb25s eSBtYWtlcyBzZW5zZSBhcyBhIHN0ZXAgaW4gYSBsYXJnZXINCiAgICAgICAgICBwcm90b2NvbCB0 aGF0IG1ha2VzIHVzZSBvZiBpdC48YnIvPg0KICAgICAgICAgIDxici8+DQogICAgICAgICAgUGVy aGFwcyBwcmVzZW50aW5nIHRoZSBwcm90b2NvbCBpbiBhIGxlc3MtdGhhbi1nZW5lcmFsIGNhc2UN CiAgICAgICAgICBtaWdodCBoZWxwIHRvIHVuZGVyc3RhbmQgaXQuIFNvIGxldCYjMzk7cyBwbGF5 IGEgc2ltcGxlciBnYW1lDQogICAgICAgICAgdXNpbmcgYSBwcm90b2NvbCB0aGF0IGluY2x1ZGVz IGEgZnJhdWQgcHJvb2YuPGJyLz4NCiAgICAgICAgICA8YnIvPg0KICAgICAgICAgIEFsaWNlIGNs YWltcyB0aGF0IHNoZSBrbm93cyBob3cgdG8gbXVsdGlwbHkgYnkgMjU2LCB3aGlsZSBCb2INCiAg ICAgICAgICBkb2VzbiYjMzk7dCBiZWxpZXZlIGhlci4gU28gdGhleSBtYWtlIGEgYmV0OiB0aGV5 IGVhY2ggY29tbWl0IDENCiAgICAgICAgICBjb2luOyB0aGVuIEJvYiBjaG9zZXMgYSBudW1iZXIg eDsgdGhlbiBBbGljZSBjb21wdXRlcyB5ID0NCiAgICAgICAgICAyNTYqeCBieSBkb3VibGluZyB4 IGVpZ2h0IHRpbWVzIChleHBlbnNpdmUgbXVsdGlwbGljYXRpb25zDQogICAgICAgICAgd2VyZSBk aXNhYmxlZCBpbiBhIHRyYWdpYyBERG9TIGFjY2lkZW50KSwgYW5kIHB1Ymxpc2hlcyB0aGUNCiAg ICAgICAgICByZXN1bHQgeS4gQm9iIGluZGVwZW5kZW50bHkgY29tcHV0ZXMgMjU2ICogeCAoaGUg aGFzIGEgZnJpZW5kDQogICAgICAgICAgd2hvIGlzIGEgbWF0aGVtYXRpY2lhbiwgaGUmIzM5O2xs IGtub3cgaG93IHRvIGRvIGl0KS4gSWYgdGhlDQogICAgICAgICAgcmVzdWx0IGlzIG5vdCB5LCBC b2Igd2lsbCBzdGFydCBhIGNoYWxsZW5nZTsgb3RoZXJ3aXNlLCBBbGljZQ0KICAgICAgICAgIHdp bnMgYW5kIHRha2VzIHRoZSBtb25leS48YnIvPg0KICAgICAgICAgIDxici8+DQogICAgICAgICAg KFRoZSBleGFtcGxlIGlzIG9mIGNvdXJzZSBhcnRpZmljaWFsLCBhcyByZWRvaW5nIHRoZQ0KICAg ICAgICAgIGNvbXB1dGF0aW9uIGluIFNjcmlwdCBpcyBjaGVhcGVyIHRoYW4gZXhlY3V0aW5nIHRo ZSBmcmF1ZA0KICAgICAgICAgIHByb29mIGluIHRoaXMgY2FzZSEpPGJyLz4NCiAgICAgICAgICA8 YnIvPg0KICAgICAgICAgIFdoYXQgZm9sbG93cyBpcyBhbiBhY3R1YWwgZXhlY3V0aW9uIG9mIHRo ZSBwcm90b2NvbC4gSW4gdGhlDQogICAgICAgICAgZm9sbG93aW5nLCBlYWNoIFtTaV0gaXMgYSBV VFhPIGNvcnJlc3BvbmRpbmcgdG8gc29tZSBwb3NzaWJsZQ0KICAgICAgICAgIEZTTSBub2RlLCBz dGFydGluZyB3aXRoIHRoZSBTMCwgdGhlIFVUWE8gd2l0aCAxKzEgPSAyIGNvaW5zLg0KICAgICAg ICAgIEVhY2ggbGluZSB3aXRoICYjMzQ7LSYjMzQ7IGlzIGEgcG9zc2libGUgdHJhbnNpdGlvbiAo c2NyaXB0IGluIHRoZQ0KICAgICAgICAgIHRhcHRyZWUpLCBzcGVjaWZ5aW5nIHdoYXQgaXMgdGhl IG5leHQgRlNNIG5vZGUgYWZ0ZXIgdGhlDQogICAgICAgICAgJiMzNDs9PSZndDsmIzM0OyBzeW1i b2w7IHRoZSBlbmN1bWJyYW5jZSBpbiB0aGUgc2NyaXB0cyBlbmZvcmNlIHRoYXQNCiAgICAgICAg ICB0aGUgc3RhdGUgb2YgdGhlIG5leHQgVVRYTyBpcyB1cGRhdGVkIGNvcnJlY3RseSAoZGV0YWls cw0KICAgICAgICAgIG9taXR0ZWQgYmVsb3cpLCBhbmQgYW55IG90aGVyIG5lY2Vzc2FyeSBjb25k aXRpb25zIHRvIGVuc3VyZQ0KICAgICAgICAgIHRoZSBpbnRlZ3JpdHkgb2YgdGhlIHByb3RvY29s Ljxici8+DQogICAgICAgICAgPGJyLz4NCiAgICAgICAgICA8YnIvPg0KICAgICAgICAgID09PT09 wqA8YnIvPg0KICAgICAgICAgIDxici8+DQogICAgICAgICAgPGJyLz4NCiAgICAgICAgICBbUzBd OiBJbml0aWFsIFVUWE88YnIvPg0KICAgICAgICAgIMKgIC0gb25seSBCb2IgY2FuIHNwZW5kLCBo ZSBtdXN0IGNob29zZSBoaXMgbnVtYmVyIHggPT0mZ3Q7IFMxPGJyLz4NCiAgICAgICAgICA8YnIv Pg0KICAgICAgICAgIFtTMTsgc3RhdGU6IHhdOjxici8+DQogICAgICAgICAgwqAgLSBvbmx5IEFs aWNlIGNhbiBzcGVuZCwgc2hlIHB1Ymxpc2hlcyBoZXIgYW5zd2VyIHkgPT0mZ3Q7IFMyPGJyLz4N CiAgICAgICAgICA8YnIvPg0KICAgICAgICAgIFtTMi4gc3RhdGU6IHgsIHldOjxici8+DQogICAg ICAgICAgwqAgLSBhZnRlciAxIGRheTogQWxpY2Ugd29uLCBzaGUgY2FuIHRha2UgdGhlIG1vbmV5 IMKgIMKgIC8vDQogICAgICAgICAgSGFwcHkgY2FzZSEgVXN1YWxseSB0aGF0JiMzOTtzIHRoZSBl bmQ8YnIvPg0KICAgICAgICAgIMKgIC0gQm9iIGRpc2FncmVlcyB3aXRoIHRoZSBhbnN3ZXIsIHBv c3QgeiBhcyBoaXMgYW5zd2VyLg0KICAgICAgICAgID09Jmd0OyBTMzxici8+DQogICAgICAgICAg PGJyLz4NCiAgICAgICAgICBUaGUgY2hhbGxlbmdlIHN0YXJ0cyBoZXJlISBMZXQmIzM5O3MgcHV0 IHNvbWUgYWN0dWFsIG51bWJlcnMuIHggPQ0KICAgICAgICAgIDI7IHkgPSA1MDg7IHogPSA1MTIu PGJyLz4NCiAgICAgICAgICA8YnIvPg0KICAgICAgICAgIFRoaXMgaXMgd2hhdCBBbGljZSBjb21w dXRlZDo8YnIvPg0KICAgICAgICAgIDxici8+DQogICAgICAgICAgwqAgMiA9Jmd0OyA0ID0mZ3Q7 IDggPSZndDsgMTYgPSZndDsgMzIgPSZndDsgNjQgPSZndDsgMTI3ID0mZ3Q7DQogICAgICAgICAg MjU0ID0mZ3Q7IDUwODxici8+DQogICAgICAgICAgPGJyLz4NCiAgICAgICAgICBUaGlzIGlzIHdo YXQgQm9iIGNvbXB1dGVkOjxici8+DQogICAgICAgICAgPGJyLz4NCiAgICAgICAgICDCoCAyID0m Z3Q7IDQgPSZndDsgOCA9Jmd0OyAxNiA9Jmd0OyAzMiA9Jmd0OyA2NCA9Jmd0OyAxMjggPSZndDsN CiAgICAgICAgICAyNTYgPSZndDsgNTEyPGJyLz4NCiAgICAgICAgICA8YnIvPg0KICAgICAgICAg IEF0IHRoaXMgdGltZSwgd2UgZG9uJiMzOTt0IGtub3cgd2hvIGlzIHJpZ2h0LiBUaGV5IGJvdGgg YnVpbHQgYQ0KICAgICAgICAgIHRyZWUgdGhhdCBsb29rcyBsaWtlIHRoaXMgKEFTQ0lJIGFydCBv bmx5IHdvcmtpbmcgaW4NCiAgICAgICAgICBmaXhlZC13aWR0aCBmb250KTo8YnIvPg0KICAgICAg ICAgIDxici8+DQogICAgICAgICAgwqAgwqAgwqAgwqAgwqAgwqAgwqBfX19IMThfX188YnIvPg0K ICAgICAgICAgIMKgIMKgIMKgIMKgIMKgIMKgIC8gwqAgwqAgwqAgwqAgXDxici8+DQogICAgICAg ICAgwqAgwqAgwqAgwqAgwqAgwqAvIMKgIMKgIMKgIMKgIMKgIFw8YnIvPg0KICAgICAgICAgIMKg IMKgIMKgIMKgIEgxNCDCoCDCoCDCoCDCoCDCoCDCoCBINTg8YnIvPg0KICAgICAgICAgIMKgIMKg IMKgIMKgIC8gXCDCoCDCoCDCoCDCoCDCoCDCoCAvIFw8YnIvPg0KICAgICAgICAgIMKgIMKgIMKg IMKgLyDCoCBcIMKgIMKgIMKgIMKgIMKgIC8gwqAgXDxici8+DQogICAgICAgICAgwqAgwqAgwqAg LyDCoCDCoCBcIMKgIMKgIMKgIMKgIC8gwqAgwqAgXDxici8+DQogICAgICAgICAgwqAgwqAgSDEy IMKgIMKgIEgzNCDCoCDCoCBINTYgwqAgwqAgSDc4PGJyLz4NCiAgICAgICAgICDCoCDCoCAvIFwg wqAgwqAgLyBcIMKgIMKgIC8gXCDCoCDCoCAvIFw8YnIvPg0KICAgICAgICAgIMKgIEgxIMKgSDIg wqBIMyDCoEg0IMKgSDUgwqBINiDCoEg3IMKgSDg8YnIvPg0KICAgICAgICAgIDxici8+DQogICAg ICAgICAgUmVtZW1iZXIgdGhhdCBlYWNoIGludGVybmFsIG5vZGUgY29tbWl0cyB0bzogdGhlIHN0 YXRlIG9mIHRoZQ0KICAgICAgICAgIGNvbXB1dGF0aW9uIGJlZm9yZSB0aGUgbGVmdG1vc3QgbGVh ZiBpbiB0aGUgc3VidHJlZSwgdGhlIHN0YXRlDQogICAgICAgICAgYWZ0ZXIgdGhlIHJpZ2h0bW9z dCBsZWFmLCBhbmQgdGhlIGhhc2ggb2Ygc3ViLXRyYWNlIGZvciB0aGUNCiAgICAgICAgICBzdWIt dHJlZS4gRWFjaCBsZWFmIGp1c3QgY29tbWl0cyB0byB0aGF0IGludGVybWVkaWF0ZQ0KICAgICAg ICAgIGNvbXB1dGF0aW9uIHN0ZXAgKGFuZCB0aGUgb3BlcmF0aW9uLCB3aGljaCBoZXJlIGlzIGFs d2F5cw0KICAgICAgICAgICYjMzQ7ZG91YmxlIHRoZSBpbnB1dCYjMzQ7KS4gRm9yIGV4YW1wbGUs IEg0IGNvbW1pdHMgdG8gJiMzNDsxNiA9Jmd0OyAzMiYjMzQ7DQogICAgICAgICAgYWNjb3JkaW5n IHRvIGJvdGggQWxpY2UmIzM5O3MgYW5kIEJvYiYjMzk7cyBjb21wdXRhdGlvbiB0cmFjZXMuPGJy Lz4NCiAgICAgICAgICA8YnIvPg0KICAgICAgICAgIChGcm9tIG91ciBwcml2aWxlZ2VkIHBvaW50 IG9mIHZpZXcsIHdlIGNhbiBmb3Jlc2VlIHRoYXQgdGhlDQogICAgICAgICAgZWFybGllc3QgZGlz YWdyZWVtZW50IGlzIG9uIHRoZSA2dGggc3RlcCBvZiB0aGUgY29tcHV0YXRpb246DQogICAgICAg ICAgJiMzNDs2NCA9Jmd0OyAxMjcmIzM0OyBhY2NvcmRpbmcgdG8gQWxpY2UsICYjMzQ7NjQgPSZn dDsgMTI4JiMzNDsgYWNjb3JkaW5nIHRvDQogICAgICAgICAgQm9iKS48YnIvPg0KICAgICAgICAg IDxici8+DQogICAgICAgICAgTGV0JiMzOTtzIGRlbm90ZSBoX3tBOzE4fSAocmVzcC4gaF97Qjsx OH0pIGFsbCB0aGUgaW5mb3JtYXRpb24NCiAgICAgICAgICBjb21taXR0ZWQgdG8gaW4gdGhlIG5v ZGUgSDE4LCBhY2NvcmRpbmcgdG8gQWxpY2UgKHJlc3AuIEJvYikuDQogICAgICAgICAgU2ltaWxh cmx5IGZvciBhbGwgdGhlIG90aGVyIG5vZGVzLjxici8+DQogICAgICAgICAgPGJyLz4NCiAgICAg ICAgICBbUzMuIHN0YXRlOiB4LCB5LCB6XTogQ2hhbGxlbmdlIHN0YXJ0cyE8YnIvPg0KICAgICAg ICAgIMKgIC0gQWxpY2UgcG9zdHMgdGhlIHJvb3Qgb2YgaGVyIGNvbXB1dGF0aW9uIHRyYWNlIGhf e0E7MTh9DQogICAgICAgICAgPT0mZ3Q7IFM0PGJyLz4NCiAgICAgICAgICA8YnIvPg0KICAgICAg ICAgIFtTNC4gc3RhdGU6IHgsIHksIHosIGhfe0E7MTh9XTxici8+DQogICAgICAgICAgwqAgLSBC b2IgcG9zdHMgdGhlIHJvb3Qgb2YgaGVyIGNvbXB1dGF0aW9uIHRyYWNlIGhfe0I7MTh9DQogICAg ICAgICAgPT0mZ3Q7IFM1PGJyLz4NCiAgICAgICAgICA8YnIvPg0KICAgICAgICAgIFNpbmNlIHRo ZXkgZGlzYWdyZWUsIGl0IG11c3QgYmUgdGhlIGNhc2UgdGhhdCBoX3tBOzE4fSAhPQ0KICAgICAg ICAgIGhfe0I7MTh9Ljxici8+DQogICAgICAgICAgPGJyLz4NCiAgICAgICAgICBbUzUuIHN0YXRl OiB4LCB5LCB6LCBoX3tBOzE4fSwgaF97QjsxOH1dPGJyLz4NCiAgICAgICAgICDCoCAtIEFsaWNl IG9wZW5zIHRoZSBjb21taXRtZW50IGhfe0E7MTh9LCBieSByZXZlYWxpbmcgSDE0IGFuZA0KICAg ICAgICAgIEg1OCAoYWNjb3JkaW5nIHRvIGhlcikgPT0mZ3Q7IFM2PGJyLz4NCiAgICAgICAgICA8 YnIvPg0KICAgICAgICAgIE5vdGUgdGhhdCBpbiB0aGlzIGxhc3QgdHJhbnNpdGlvbiAoZ29pbmcg dG8gUzYpLCB0aGUgY292ZW5hbnQNCiAgICAgICAgICBlbmZvcmNlcyB0aGF0IHRoZSBjaGlsZCBj b21taXRtZW50cyBhcmUgY29tcGF0aWJsZTogdGhlDQogICAgICAgICAgdHJhbnNpdGlvbiBpcyBv bmx5IHZhbGlkIGlmIHRoZSBzdGFydGluZyBzdGF0ZSBvZiB0aGUNCiAgICAgICAgICBjb21wdXRh dGlvbiBhY2NvcmRpbmcgdG8gaF97QTsxNH0gaXMgY29tcGF0aWJsZSB3aXRoIGhfe0E7MTh9DQog ICAgICAgICAgKHRoYXQgaXMsIGl0JiMzOTtzIGVxdWFsIHRvIHgpOyBzaW1pbGFybHkgdGhlIGVu ZCBzdGF0ZSBvZiB0aGUNCiAgICAgICAgICBjb21wdXRhdGlvbiBpbiBoX3tBOzU4fSBtdXN0IGJl IHksIGFuZCBoX3tBOzE4fSBjYW4gYmUNCiAgICAgICAgICByZWNvbXB1dGVkIGZyb20gdGhlIGRh dGEgcHJvdmlkZWQgKGVuc3VyaW5nIHRoZSBpbnRlZ3JpdHkgb2YNCiAgICAgICAgICB0aGUgTWVy a2xlIHRyZWUpLjxici8+DQogICAgICAgICAgVGhpcyBpcyB0cnVlIGZvciBhbGwgdGhlIGNvbW1p dG1lbnQgb3BlbmluZ3MgYmVsb3cuPGJyLz4NCiAgICAgICAgICA8YnIvPg0KICAgICAgICAgIFtT Ni4gc3RhdGU6IHgsIHksIHosIChoX3tBOzE0fSwgaF97QTs1OH0pLCBoX3tCOzE4fV08YnIvPg0K ICAgICAgICAgIMKgIC0gQm9iIG9wZW5zIHRoZSBjb21taXRtZW50IGhfe0I7MTh9LCBieSByZXZl YWxpbmcgSDE0IGFuZA0KICAgICAgICAgIEg1OCAoYWNjb3JkaW5nIHRvIGhpbSkgPT0mZ3Q7IFM3 PGJyLz4NCiAgICAgICAgICA8YnIvPg0KICAgICAgICAgIFtTNy4gc3RhdGU6IHgsIHksIHosICho X3tBOzE4fSwgaF97QTsxNH0sIGhfe0E7NTh9KSwNCiAgICAgICAgICAoaF97QjsxOH0sIGhfe0I7 MTR9LCBoX3tCOzU4fSldPGJyLz4NCiAgICAgICAgICDCoCAvLyBXZSBub3cgbmVlZCB0byBjaG9v c2UgYSBjaGlsZCB3aGVyZSB0aGVyZSBpcw0KICAgICAgICAgIGRpc2FncmVlbWVudC48YnIvPg0K ICAgICAgICAgIMKgIC8vIElmIGJvdGggY2hpbGRyZW4gZG9uJiMzOTt0IG1hdGNoLCBpdGVyYXRl IG9uIHRoZSBsZWZ0IGNoaWxkLjxici8+DQogICAgICAgICAgwqAgLSBBbnlvbmU6IGlmIGhfe0E7 MTR9ID09IGhfe0I7MTR9ID09Jmd0OyBTODxici8+DQogICAgICAgICAgwqAgLSBBbnlvbmU6IGlm IGhfe0E7MTR9ICE9IGhfe0I7MTR9ID09Jmd0OyBDb250aW51ZSBjaGFsbGVuZ2UNCiAgICAgICAg ICBvbiBIMTQgLy8gTm9uLWV4ZWN1dGVkIEZTTSBjYXNlcyBvbWl0dGVkIGZvciBicmV2aXR5PGJy Lz4NCiAgICAgICAgICA8YnIvPg0KICAgICAgICAgIEF0IHRoaXMgcG9pbnQsIHRoZSBkaXNhZ3Jl ZW1lbnQgb3ZlciB0aGUgcm9vdCBpcyBzZXR0bGVkOg0KICAgICAgICAgIEFsaWNlIGFuZCBCb2Ig YWdyZWUgb24gdGhlIGZpcnN0IGhhbGYgb2YgdGhlIGNvbXB1dGF0aW9uLCBidXQNCiAgICAgICAg ICB0aGV5IGRpc2FncmVlIG92ZXIgdGhlIHNlY29uZCBoYWxmLiBUaGVyZWZvcmUsIGluIFM4IHRo ZQ0KICAgICAgICAgIHByb3RvY29sIGNvbnRpbnVlcyBvdmVyIEg1OC48YnIvPg0KICAgICAgICAg IDxici8+DQogICAgICAgICAgW1M4LiBzdGF0ZTogaF97QTs1OH0sIGhfe0I7NTh9XTxici8+DQog ICAgICAgICAgwqAgLy8gVGhpcyBpcyBhbmFsb2dvdXMgdG8gUzUsIGp1c3Qgd2l0aCBoYWxmIG9m IHRoZQ0KICAgICAgICAgIGNvbXB1dGF0aW9uIHN0ZXBzLjxici8+DQogICAgICAgICAgwqAgLSBB bGljZSBvcGVucyB0aGUgY29tbWl0bWVudCBoX3tBOzU4fSwgYnkgcmV2ZWFsaW5nIEg1NiBhbmQN CiAgICAgICAgICBINzggKGFjY29yZGluZyB0byBoZXIpID09Jmd0OyBTOTxici8+DQogICAgICAg ICAgPGJyLz4NCiAgICAgICAgICBbUzkuIHN0YXRlOiAoaF97QTs1Nn0sIGhfe0E7Nzh9KSwgaF97 Qjs1OH1dPGJyLz4NCiAgICAgICAgICDCoCAtIEJvYiBvcGVucyB0aGUgY29tbWl0bWVudCBoX3tC OzU4fSwgYnkgcmV2ZWFsaW5nIEg1NiBhbmQNCiAgICAgICAgICBINzggKGFjY29yZGluZyB0byBo aW0pID09Jmd0OyBTMTA8YnIvPg0KICAgICAgICAgIDxici8+DQogICAgICAgICAgW1MxMC4gc3Rh dGU6IChoX3tBOzU2fSwgaF97QTs3OH0pLCAoaF97Qjs1Nn0sIGhfe0I7Nzh9KV08YnIvPg0KICAg ICAgICAgIMKgIC8vIExpa2UgUzcsIGl0ZXJhdGUgb24gYSBkaXNhZ3JlZWluZyBjaGlsZDxici8+ DQogICAgICAgICAgwqAgLSBBbnlvbmU6IGlmIGhfe0E7NTZ9ID09IGhfe0I7NTZ9ID09Jmd0OyBj b250aW51ZSBjaGFsbGVuZ2UNCiAgICAgICAgICBvbiBINzggLy8gTm9uLWV4ZWN1dGVkIEZTTSBj YXNlcyBvbWl0dGVkIGZvciBicmV2aXR5PGJyLz4NCiAgICAgICAgICDCoCAtIEFueW9uZTogaWYg aF97QTs1Nn0gIT0gaF97Qjs1Nn0gPT0mZ3Q7IFMxMTxici8+DQogICAgICAgICAgPGJyLz4NCiAg ICAgICAgICBHZXR0aW5nIHRoZXJlISBUaGUgc3VidHJlZSBub3cgY29tbWl0cyB0byBqdXN0IHR3 byBjb21wdXRhdGlvbg0KICAgICAgICAgIHN0ZXBzLjxici8+DQogICAgICAgICAgPGJyLz4NCiAg ICAgICAgICBbUzExLiBzdGF0ZTogaF97QTs1Nn0sIGhfe0I7NTZ9XTxici8+DQogICAgICAgICAg wqAgLy8gVGhpcyBpcyBhbmFsb2dvdXMgdG8gUzUgYW5kIFM4Ljxici8+DQogICAgICAgICAgwqAg LSBBbGljZSBvcGVucyB0aGUgY29tbWl0bWVudCBoX3tBOzU2fSwgYnkgcmV2ZWFsaW5nIEg1IGFu ZA0KICAgICAgICAgIEg2IChhY2NvcmRpbmcgdG8gaGVyKSA9PSZndDsgUzEyPGJyLz4NCiAgICAg ICAgICA8YnIvPg0KICAgICAgICAgIFtTMTIuIHN0YXRlOiAoaF97QTs1fSwgaF97QTs2fSksIGhf e0I7NTZ9XTxici8+DQogICAgICAgICAgwqAgLSBCb2Igb3BlbnMgdGhlIGNvbW1pdG1lbnQgaF97 Qjs1Nn0sIGJ5IHJldmVhbGluZyBINSBhbmQgSDYNCiAgICAgICAgICAoYWNjb3JkaW5nIHRvIGhp bSkgPT0mZ3Q7IFMxMzxici8+DQogICAgICAgICAgPGJyLz4NCiAgICAgICAgICBbUzEzLiBzdGF0 ZTogKGhfe0E7NX0sIGhfe0E7Nn0pLCAoaF97Qjs1fSwgaF97Qjs2fSldPGJyLz4NCiAgICAgICAg ICDCoCAvLyBMaWtlIFM3IGFuZCBTMTAsIGl0ZXJhdGUgb24gYSBkaXNhZ3JlZWluZyBjaGlsZDxi ci8+DQogICAgICAgICAgwqAgLSBBbnlvbmU6IGlmIGhfe0E7NX0gPT0gaF97Qjs1fSA9PSZndDsg UzE0PGJyLz4NCiAgICAgICAgICDCoCAtIEFueW9uZTogaWYgaF97QTs1fSAhPSBoX3tCOzV9ID09 Jmd0OyBjb250aW51ZSBjaGFsbGVuZ2Ugb24NCiAgICAgICAgICBINSAvLyBOb24tZXhlY3V0ZWQg RlNNIGNhc2VzIG9taXR0ZWQgZm9yIGJyZXZpdHk8YnIvPg0KICAgICAgICAgIDxici8+DQogICAg ICAgICAgV2UgYXJlIG5vdyBhdCB0aGUgY3J1Y2lhbCBzdGFnZTogdGhlIGNvbW1pdG1lbnQgY29y cmVzcG9uZHMgdG8NCiAgICAgICAgICBhIGxlYWYgb2YgdGhlIGNvbXB1dGF0aW9uIHRyYWNlIE1l cmtsZSB0cmVlLjxici8+DQogICAgICAgICAgPGJyLz4NCiAgICAgICAgICBbUzE0LiBzdGF0ZTog aF97QTs2fSwgaF97Qjs2fV08YnIvPg0KICAgICAgICAgIMKgIC0gQWxpY2UgY2FuIHRha2UgYWxs IHRoZSBtb25leSBpZiBzaGUgY2FuIG9wZW4gaF97QTs2fSB0byBhDQogICAgICAgICAgY29ycmVj dCAmIzM0O24gPSZndDsgbiArIG4mIzM0OyBjb21wdXRhdGlvbiBzdGVwPGJyLz4NCiAgICAgICAg ICDCoCAtIEJvYiBjYW4gdGFrZSBhbGwgdGhlIG1vbmV5IGlmIGhlIGNhbiBvcGVuIGhfe0I7Nn0g dG8gYQ0KICAgICAgICAgIGNvcnJlY3QgJiMzNDtuID0mZ3Q7IG4gKyBuJiMzNDsgY29tcHV0YXRp b24gc3RlcDxici8+DQogICAgICAgICAgPGJyLz4NCiAgICAgICAgICBUaGUgY2hhbGxlbmdlIG5v dyBlbmRzIHF1aWNrbHk6IEJvYiYjMzk7cyBoYXNoIGNvbW1pdHMgdG8gdGhlDQogICAgICAgICAg Y29tcHV0YXRpb24gc3RlcCAmIzM0OzY0ID0mZ3Q7IDEyOCYjMzQ7Ljxici8+DQogICAgICAgICAg SW5zdGVhZCwgQWxpY2UmIzM5O3Mgc3RlcCBpcyB0aGUgaW5jb3JyZWN0ICYjMzQ7NjQgPSZndDsg MTI3JiMzNDsuPGJyLz4NCiAgICAgICAgICA8YnIvPg0KICAgICAgICAgIEl0JiMzOTtzIG5vdCBk aWZmaWN1bHQgdG8gY29udmluY2Ugb25lc2VsZiB0aGF0LCBhcyBsb25nIGFzIHRoZQ0KICAgICAg ICAgIGhhc2ggZnVuY3Rpb24gaXMgY29sbGlzaW9uLWZyZWUgYW5kIHRoZSBjb21wdXRhdGlvbiBp cw0KICAgICAgICAgIGRldGVybWluaXN0aWMsIG9ubHkgdGhlIGhvbmVzdCBwYXJ0eSBjYW4gcHJv dmlkZSBjb3JyZWN0IGRhdGENCiAgICAgICAgICBmb3IgdGhpcyBmaW5hbCBzdGVwLjxici8+DQog ICAgICAgICAgKFRoZSBiaXNlY3Rpb24gcHJvdG9jb2wgY2FuJiMzOTt0IGRvIGFueXRoaW5nIHVz ZWZ1bCBpZiBib3RoDQogICAgICAgICAgcGFydGllcyBwcm92aWRlIGluY29ycmVjdCBkYXRhOyBh cmd1YWJseSwgdGhhdCBpcyBub3QgYSB2ZXJ5DQogICAgICAgICAgaW50ZXJlc3Rpbmcgc2NlbmFy aW8hKTxici8+DQogICAgICAgICAgPGJyLz4NCiAgICAgICAgICBDcnVjaWFsbHksIHRoZSBvcGVy YXRpb24gaW4gdGhlIHNpbmdsZSBzdGVwIGlzIHNvIHNpbXBsZSB0aGF0DQogICAgICAgICAgU2Ny aXB0IGNhbiB2ZXJpZnkgaXQuPC9mb250Pg0KICAgICAgICA8ZGl2Pjxmb250IGZhY2U9Im1vbm9z cGFjZSI+PGJyLz4NCiAgICAgICAgICA8L2ZvbnQ+PC9kaXY+DQogICAgICAgIDxkaXY+PGZvbnQg ZmFjZT0ibW9ub3NwYWNlIj49PT09PTxici8+DQogICAgICAgICAgICA8YnIvPg0KICAgICAgICAg ICAgSWYgeW91IHJlYWQgdW50aWwgaGVyZTogdGhhbmsgeW91LCB0aGlzIHdhcyB0aGUgZmlyc3QN CiAgICAgICAgICAgIGV4ZWN1dGlvbiBvZiBhIGNoYWxsZW5nZSBpbiBNQVRUIGNvdmVuYW50cyE8 YnIvPg0KICAgICAgICAgICAgPGJyLz4NCiAgICAgICAgICAgIE9mIGNvdXJzZSwgdGhlcmUgYXJl IGEgZmV3IHRoaW5ncyBtaXNzaW5nIGluIHRoZSBhYm92ZQ0KICAgICAgICAgICAgcHJvdG9jb2w6 PGJyLz4NCiAgICAgICAgICAgIC0gQm9uZHMgc2hvdWxkIGJlIGFkZGVkIGluIG9yZGVyIHRvIGlu Y2VudGl2aXplIGNvb3BlcmF0aW9uLjxici8+DQogICAgICAgICAgICAtIFRoZSBvbWl0dGVkIEZT TSBzdGVwcyAoY29ycmVzcG9uZGluZyB0byBicmFuY2hlcyBvZiB0aGUNCiAgICAgICAgICAgIGNo YWxsZW5nZSB0aGF0IHdlcmUgbmV2ZXIgdGFrZW4pIG5lZWQgdG8gYmUgY29tcHV0ZWQNCiAgICAg ICAgICAgIG5vbmV0aGVsZXNzIHdoZW4gcHJlcGFyaW5nIHRoZSBjb3ZlbmFudC48YnIvPg0KICAg ICAgICAgICAgLSBBZGRpdGlvbmFsIHRyYW5zaXRpb25zIHNob3VsZCBiZSBhZGRlZCBhdCBldmVy eSBzdGVwDQogICAgICAgICAgICAoYWx3YXlzIGFsbG93IGNvb3BlcmF0aXZlIGJlaGF2aW9yOyBm b3JmYWl0IGFmdGVyIGEgdGltZW91dA0KICAgICAgICAgICAgaWYgaXQmIzM5O3MgdGhlIG90aGVy IHBhcnR5JiMzOTtzIHR1cm4pLjxici8+DQogICAgICAgICAgICAtIFNvbWUgb2YgdGhvc2UgY29u c2VjdXRpdmUgJiMzNDtmb3JjZWQmIzM0OyBzdGVwcyBjYW4gYmUgY29udHJhY3RlZA0KICAgICAg ICAgICAgaW4gYSBzaW5nbGUgc3RlcDsgSSBmZWx0IHRoaXMgc2VxdWVuY2UgaXMgbW9yZSBsb2dp Y2FsIHRvDQogICAgICAgICAgICBleHBsYWluIHRoZSBwcm90b2NvbCwgYnV0IGltcGxlbWVudGF0 aW9ucyB3b3VsZCB3YW50IHRvDQogICAgICAgICAgICBvcHRpbWl6ZSBpdC48YnIvPg0KICAgICAg ICAgICAgPGJyLz4NCiAgICAgICAgICAgIFlldCwgX2FsbF8gdGhlIGNvZGUgYW5kIHNjcmlwdHMg b2YgdGhlIGJpc2VjdGlvbiBwcm90b2NvbA0KICAgICAgICAgICAgYXJlIGluZGVwZW5kZW50IG9m IHRoZSBhY3R1YWwgZXhlY3V0aW9uLCBhbmQgY2FuIGJlDQogICAgICAgICAgICBwcmVjb21wdXRl ZCAoYm90dG9tIHVwLCBzdGFydGluZyBmcm9tIHRoZSBsZWF2ZXMpIGJlZm9yZSB0aGUNCiAgICAg ICAgICAgIGluaXRpYWwgY292ZW5hbnQgaXMgY3JlYXRlZCAtIHRoZXJlZm9yZSwgYmVmb3JlIHgs IHkgYW5kIHoNCiAgICAgICAgICAgIGFyZSBjaG9zZW4gYW5kIGNvbW1pdHRlZCB0by48YnIvPg0K ICAgICAgICAgICAgPGJyLz4NCiAgICAgICAgICA8L2ZvbnQ+PHNwYW4gc3R5bGU9ImZvbnQtZmFt aWx5Om1vbm9zcGFjZSI+V2hpbGUgaGVyZSBlYWNoDQogICAgICAgICAgICBsZWFmIGlzIGRvaW5n IHRoZSBzYW1lIG9wZXJhdGlvbiAoZG91YmxpbmcgYSBudW1iZXIpLCBpdCBpcw0KICAgICAgICAg ICAgd2VsbC1rbm93biB0aGF0IGFyYml0cmFyeSBjb21wdXRhdGlvbiBjYW4gYmUgZGVjb21wb3Nl ZMKgaW4NCiAgICAgICAgICAgIHZlcnkgc2ltcGxlIGVsZW1lbnRhcnkgZnVuY3Rpb25zIChsaWtl IE5BTkQgZ2F0ZXMsIGlmIHdlDQogICAgICAgICAgICB3YW50IHRvIGJlIG1pbmltYWxpc3RpYyku PC9zcGFuPjxmb250IGZhY2U9Im1vbm9zcGFjZSI+PGJyLz4NCiAgICAgICAgICAgIDxici8+DQog ICAgICAgICAgICBJIGhvcGUgdGhpcyBoZWxwcyBpbiBjbGFyaWZ5aW5nIHRoZSByb2xlIG9mIHRo ZSBiaXNlY3Rpb24NCiAgICAgICAgICAgIHByb3RvY29sIGluIHNtYXJ0IGNvbnRyYWN0cyB1c2lu ZyBNQVRUIGNvdmVuYW50cy48L2ZvbnQ+PGJyLz4NCiAgICAgICAgPC9kaXY+DQogICAgICAgIDxk aXY+PGZvbnQgZmFjZT0ibW9ub3NwYWNlIj48YnIvPg0KICAgICAgICAgIDwvZm9udD48L2Rpdj4N CiAgICAgICAgPGRpdj48Zm9udCBmYWNlPSJtb25vc3BhY2UiPkJlc3QsPC9mb250PjwvZGl2Pg0K ICAgICAgICA8ZGl2Pjxmb250IGZhY2U9Im1vbm9zcGFjZSI+U2FsdmF0b3JlPC9mb250PjwvZGl2 Pg0KICAgICAgPC9kaXY+DQogICAgPC9ibG9ja3F1b3RlPg0KDQoNCjwvYm9keT48L2h0bWw+ --b1_LmIWKbXcSTGIHfudfbpKX5AuKAhy9MtSkoDtjPB6spY--