From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: mx.groups.io; dkim=pass header.i=@protonmail.com header.s=default header.b=XZDhE58P; spf=pass (domain: protonmail.com, ip: 185.70.40.132, mailfrom: vit9696@protonmail.com) Received: from mail-40132.protonmail.ch (mail-40132.protonmail.ch [185.70.40.132]) by groups.io with SMTP; Fri, 16 Aug 2019 14:32:22 -0700 Date: Fri, 16 Aug 2019 21:32:12 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com; s=default; t=1565991139; bh=iyq/GdXxu0PMQkzQkb//fLgUPvcBD9xmTB8nl91LleI=; h=Date:To:From:Cc:Reply-To:Subject:In-Reply-To:References: Feedback-ID:From; b=XZDhE58PYBVlqICBbQaF5Zwr709nZLA1tFLCxDOQBRd6Bd3tbdtDknX3U0Gpxyhyf zCQQN2558nhQWFwkRT5bWE6IcVhfRTLMenrbkPNQ+X+yE2mbyyF0/FaUX1xBamqXE2 QGac0UFyFy8/X9fGT87KuLUXRdMcgjSU2NWcUT+c= To: Laszlo Ersek From: "Vitaly Cheptsov" Cc: "devel@edk2.groups.io" , "leif.lindholm@linaro.org" , "afish@apple.com" Reply-To: vit9696 Subject: Re: [edk2-devel] [PATCH v2 1/1] MdePkg: Add STATIC_ASSERT macro Message-ID: In-Reply-To: <8e766773-0b4e-e9bd-31a2-a858c7b476c9@redhat.com> References: <20190813081644.53963-1-vit9696@protonmail.com> <20190813081644.53963-2-vit9696@protonmail.com> <4A89E2EF3DFEDB4C8BFDE51014F606A14E4D0EC7@SHSMSX104.ccr.corp.intel.com> <65C2153C-7D59-490C-8DD2-A48FF0EEA8DE@protonmail.com> <74D8A39837DF1E4DA445A8C0B3885C503F75D776@shsmsx102.ccr.corp.intel.com> <4A89E2EF3DFEDB4C8BFDE51014F606A14E4D1378@SHSMSX104.ccr.corp.intel.com> <8e766773-0b4e-e9bd-31a2-a858c7b476c9@redhat.com> Feedback-ID: p9QuX-L1wMgUm6nrSvNrf8juLupNs0VSnzXGVXuYDxlEahFdWtaedWDMB9zpwGDklGt7kzs1-RBc0cqz327Gcg==:Ext:ProtonMail MIME-Version: 1.0 X-Spam-Status: No, score=-0.7 required=7.0 tests=ALL_TRUSTED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM,FREEMAIL_REPLYTO_END_DIGIT,HTML_MESSAGE autolearn=no autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on mail.protonmail.ch Content-Type: multipart/alternative; boundary="b1_039f8464f2bf56d366cab8ab757908e3" --b1_039f8464f2bf56d366cab8ab757908e3 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: base64 TGFzemxvLAoKSSBhbSB2ZXJ5IGdsYWQgdG8geW91IGZvciBleHByZXNzaW5nIGEgZGlmZmVyZW50 IG9waW5pb24gYXMgdGhpcyBsZXRzIG1lIHZpZXcgdGhlIHNpdHVhdGlvbiBmcm9tIGRpZmZlcmVu dCBhbmdsZXMuCgpJIHVuZGVyc3RhbmQgeW91ciBjb25jZXJucywgYW5kIGJlbGlldmUgdGhhdCBt b3N0IG9mIHRoZW0gc2hvdWxkIGFjdHVhbGx5IGJlIGFkZHJlc3NlZCBpbiBhIHdheSB5b3UgZXhw bGFpbi4gSW4gZmFjdCwgSSBwbGFuIHRvIHN1Ym1pdCBtb3JlIHBhdGNoZXMgbXlzZWxmIGZvciBl dmVyeW9uZSdzIGJlbmVmaXQuCgpUaGUgZXhhY3Qgc2l0dWF0aW9uIHdpdGggc3RhdGljIGFzc2Vy dGlvbnMgaXMgdGhhdCB0aGV5IGFyZSBub3QgY29taW5nIHRvbyBlYXJseSwgYnV0IGFjdHVhbGx5 IHRvbyBsYXRlLiBXZSBoYXZlIGJlZW4gdXNpbmcgc3RhdGljIGFzc2VydGlvbnMgaW4gVUVGSSBj b2RlIGZvciBxdWl0ZSBzb21lIHRpbWUgYWxyZWFkeSwgYW5kIEkgYmVsaWV2ZSB3ZSBhcmUgbm90 IGFsb25lLiBBbGwgb2YgdXMgd2lsbCBiZW5lZml0IGZyb20gbGVnYWN5IGNvZGUgcmVtb3ZhbCBv bmNlIHRoaXMgcGF0Y2ggbGFuZHMgdXBzdHJlYW0uCgpGb3IgeW91ciBjbGFpbSB0aGF0IHRoaXMg Y29kZSBpcyBub3Qgd2VsbCB0ZXN0ZWQgSSBzaG91bGQgbWVudGlvbiB0aGF0IHRoZSBwYXRjaCBp cyBiYXNlZCBvbiBvbmUgb2YgdGhlIG9wZW4tc291cmNlIHByb2plY3RzIEkgbWFpbnRhaW4sIHdo aWNoIGV2ZXJ5b25lIGNhbiB0cmFjaywgYW5kIHdoaWNoIEkgYmVsaWV2ZSBoYXZlIGdvdHRlbiBy ZWFzb25hYmxlIGF0dGVudGlvbiBmcm9tIGRpZmZlcmVudCBwZW9wbGUgd2l0aCBkaWZmZXJlbnQg Y29tcGlsZXJzLgoKRm9yIGRlYWQgY29kZSBJIGJlbGlldmUgdGhhdCBpbiBFREsgSUkgd2UgZG8g bm90IGhhdmUgYSBnb29kIGRlZmluaXRpb24gZm9yIHRoYXQgdGVybSBhcyBub3JtYWxseSBkb25l IGluIHNlcmlvdXMgaW5kdXN0cmlhbCBwcm9qZWN0cyBsaWtlIGFlcm9zcGFjZSBvciBtaWxpdGFy eSB0aGF0IGhhdmUgbm8gZGVhZCBjb2RlIHJlcXVpcmVtZW50IGluIHRoZWlyIFNETC4gUHJpbWFy aWx5IGJlY2F1c2UgRURLIElJIGlzIGEgbGlicmFyeSBmb3Igb3RoZXJzIHRvIHJlbHkgb24sIGl0 IGlzIG5vdCBhIHNlbGYgY29udGFpbmVkIHN5c3RlbSB3aGVyZSBkZWFkIGNvZGUgdGVybSBpcyB1 c3VhbGx5IGRlZmluZWQsIHN0YW5kYXJkaXNlZCBhbmQgdmVyaWZpZWQgYWdhaW5zdC4KCldoZXRo ZXIgaXQgaXMgbGlrZWQgb3Igbm90LCB0aGUgZmFjdCBFREsgSUkgZ2V0cyBjb250aW51YWwgZGV2 ZWxvcG1lbnQgaXMgb25seSBiZWNhdXNlIGRpZmZlcmVudCBjb21wYW5pZXMsIGFjYWRlbWlhLCBh bmQgaW5kaXZpZHVhbHMgdXNlIGl0cyBjb2RlLiBJIGZlZWwgYmFkIGZvciB0aGVzZSBwZW9wbGUg aGF2aW5nIHRvIGZvcmssIGFuZCBiZWxpZXZlIHRoYXQgbW9zdCB2YWx1ZSBpbiBFREsgaXMgd2hh dCBpdCBnaXZlcyB0byB0aGUgb3V0c2lkZSwgbm90IHRoZSBpbnNpZGUuIFNvIHN1cHBvcnRpbmcg YSBuZXcgaW50ZXJmYWNlIGEgbnVtYmVyIG9mIHByb2plY3RzIHVzZSBhbmQgbmVlZCBtYWtlcyBt b3N0IHNlbnNlIHRvIG1lLgoKSSBkbyBub3Qgd2FudCB0byBtYWtlIG1vcmUgY2hhbmdlcyB0byBj b3JlIGNvZGUgZm9yIG11bHRpcGxlIHJlYXNvbnMgYXMgeW91IHNlZSBhYm92ZS4gT25lIG9mIHRo ZW0gaW5kZWVkIGJlaW5nIHNvbWUgbmVjZXNzYXJ5IGRpc2N1c3Npb24gZm9yIHRoZSB1c2UgaW5z aWRlIEVESyBJSS4gQnV0IEkgZG8gbm90IGJlbGlldmUgdGhpcyBhIGdvb2Qgc3RvcHBlciBmcm9t IGdpdmluZyBhIHdvcmtpbmcgaW50ZXJmYWNlIHRvIG90aGVycywgd2hpY2ggdW5saWtlIEVESyBJ SSwgYWN0dWFsbHkgaGF2ZSBkZWZpbmVkIGNvbXBpbGVycywgaW5mcmFzdHJ1Y3R1cmUsIGFuZCBy ZXF1aXJlbWVudHMuCgpIb3BlZnVsbHkgSSBwb2ludGVkIG91dCB0byBlbm91Z2ggcmVhc29ucyB0 byBsZWF2ZSB5b3Ugd2l0aCBzb21lIGRvdWJ0cyBhbmQgcGVybWl0IHRoaXMgcGF0Y2ggdG8gbGFu ZCBpbiBhcyBhbiBleGNlcHRpb24gZnJvbSB5b3VyIHBlcnNvbmFsIHN0YW5kcG9pbnQuIFRoYW5r IHlvdSBmb3IgdW5kZXJzdGFuZGluZyBhbmQgYmVpbmcgY29uc3RydWN0aXZlLgoKQ2hlZXJzLApW aXRhbHkKCk9uINC/0YIsINCw0LLQsy4gMTYsIDIwMTkgYXQgMjI6MzgsIExhc3psbyBFcnNlayA8 bGVyc2VrQHJlZGhhdC5jb20+IHdyb3RlOgoKPiBPbiAwOC8xNi8xOSAxOToyMywgdml0OTY5NkBw cm90b25tYWlsLmNvbSB3cm90ZToKPj4gTGFzemxvLAo+Pgo+PiBJIGhhdmUgYWxyZWFkeSBtZW50 aW9uZWQgdGhhdCB0aGUgZG9jdW1lbnRhdGlvbiBpcyBzdWZmaWNpZW50IGFzCj4+IF9TdGF0aWNf YXNzZXJ0IGlzIEMgc3RhbmRhcmQKPgo+IFllcywgaW4gYSByZWxlYXNlIG9mIHRoZSBJU08gQyBz dGFuZGFyZCB0aGF0IGVkazIgZG9lcyBub3QgdGFyZ2V0Lgo+Cj4gSW4gYWRkaXRpb24sIGVkazIg YWxyZWFkeSBoYXMgc2V2ZXJhbCByZXN0cmljdGlvbnMgaW4gcGxhY2UgYWdhaW5zdAo+IHN0YW5k YXJkcy1jb25mb3JtYW50IGNvZGUuIChTdWNoIGFzIGJpdC1zaGlmdGluZyBvZiBVSU5UNjQgdmFs dWVzLAo+IGluaXRpYWxpemF0aW9uIG9mIHN0cnVjdHVyZXMgd2l0aCBhdXRvbWF0aWMgc3RvcmFn ZSBkdXJhdGlvbiwgc3RydWN0dXJlCj4gYXNzaWdubWVudCwgbWF5YmUgbW9yZS4pCj4KPj4gc28g SSBkbyBub3QgcGxhbiB0byBtYWtlIGEgVjMgZm9yIHRoaXMgcGF0Y2guCj4KPiBJIGZpbmQgdGhh dCByZWdyZXR0YWJsZS4KPgo+PiBUaGUgcGF0Y2ggaXMgbWVyZ2UgcmVhZHkuCj4KPiBTdWNoIHN0 YXRlbWVudHMgYXJlIHVzdWFsbHkgbWFkZSB3aGVuIHBlb3BsZSB0aGF0IGNvbW1lbnQgb24gYSBw YXRjaAo+IGFycml2ZSBhdCBhIGNvbnNlbnN1cy4gVGhlIHBhdGNoIG1heSBiZSBtZXJnZS1yZWFk eSBmcm9tIHlvdXIKPiBwZXJzcGVjdGl2ZSBhbmQgZnJvbSBNaWtlJ3MuIEl0IGlzIG5vdCBtZXJn ZS1yZWFkeSBmcm9tIG15IHBlcnNwZWN0aXZlLgo+IEkgaG9wZSBJJ20gYWxsb3dlZCB0byBjb21t ZW50IChjb25zdHJ1Y3RpdmVseSkgb24gcGF0Y2hlcyB0aGF0IGFyZW4ndAo+IHN0cmljdGx5IGFp bWVkIGF0IHRoZSBzdWJzeXN0ZW1zIEkgY28tbWFpbnRhaW4uCj4KPj4gQXMgZm9yIHVzYWdlIGV4 YW1wbGVzIEkgaGF2ZSBhbiBvcHBvc2luZyBvcGluaW9uIHRvIHlvdXJzIGFuZCBiZWxpZXZlCj4+ IGl0IGlzIGJhc2VkIG9uIHZlcnkgZ29vZCByZWFzb25zLiBOb3QgdXNpbmcgU1RBVElDX0FTU0VS VCBpbiB0aGUKPj4gY3VycmVudCByZWxlYXNlIHdpbGwgbWFrZSB0aGUgZmVhdHVyZSBvcHRpb25h bGx5IGF2YWlsYWJsZSBhbmQgbGV0Cj4+IHBlb3BsZSB0ZXN0IGl0IGluIHRoZWlyIHNldHVwcy4K Pgo+IE5vdCB1c2luZyBTVEFUSUNfQVNTRVJUIGluIHRoZSBjdXJyZW50IHN0YWJsZSByZWxlYXNl IG1ha2VzIHRoZQo+IFNUQVRJQ19BU1NFUlQgbWFjcm8gZGVmaW5pdGlvbiAqZGVhZCBjb2RlKiBp biBlZGsyIHByb3Blci4gSSB1bmRlcnN0YW5kCj4gdGhhdCBlZGsyIGlzIGEgImtpdCIsIGFuZCBx dWl0ZSBleHBsaWNpdGx5IGNhdGVycyB0byBvdXQtb2YtdHJlZQo+IHBsYXRmb3Jtcy4gVGhhdCdz IG5vdCBhIHBvc2l0aXZlIHRyYWl0IG9mIGVkazIgaG93ZXZlcjsgaXQncyBhIG5lZ2F0aXZlCj4g b25lLCBpbiBteSBqdWRnZW1lbnQuIFdoYXRldmVyIHdlIGFkZCB0byB0aGUgY29yZSBvZiBlZGsy LCB3ZSBzaG91bGQKPiBleGVyY2lzZSBhcyBkaWxpZ2VudGx5IGFzIHdlIGNhbiAqaW5zaWRlKiBv ZiBlZGsyLgo+Cj4+IEluIGNhc2UgdGhleSBub3RpY2UgaXQgZG9lcyBub3Qgd29yayBmb3IgdGhl bSB0aGV5IHdpbGwgaGF2ZSAzIG1vbnRocwo+PiBncmFjZSBwZXJpb2QgdG8gcmVwb3J0IGl0IHRv IHVzIGFuZCBjb25zaWRlciBtYWtpbmcgYSBjaGFuZ2UuCj4KPiBUaGF0IGlzIHdoYXQgdGhlIGZl YXR1cmUgZnJlZXplcyBhcmUgZm9yLiBUaGUgZmVhdHVyZSBpcyByZXZpZXdlZCBiZWZvcmUKPiB0 aGUgc29mdCBmZWF0dXJlIGZyZWV6ZSwgbWVyZ2VkIChhdCB0aGUgbGF0ZXN0KSBkdXJpbmcgdGhl IHNvZnQgZmVhdHVyZQo+IGZyZWV6ZSwgYW5kIGJ1Z3MgY2FuIHN0aWxsIGJlIGZpeGVkIGR1cmlu ZyB0aGUgaGFyZCBmZWF0dXJlIGZyZWV6ZS4gVGhlCj4gY29tbXVuaXR5IGlzIGV4cGVjdGVkIHRv IHRlc3QgZGlsaWdlbnRseSBkdXJpbmcgdGhlIGhhcmQgZmVhdHVyZSBmcmVlemUuCj4gUGVyaGFw cyB3ZSBzaG91bGQgZXh0ZW5kIHRoZSBoYXJkIGZlYXR1cmUgZnJlZXplLgo+Cj4gTXkgcHJvYmxl bSBpcyBub3QgdGhhdCB0aGUgY2hhbmdlIGlzIG5vdCAiaW4geW91ciBmYWNlIi4gSSdtIGFsbCBm b3IKPiBhdm9pZGluZyByZWdyZXNzaW9ucy4gTXkgcHJvYmxlbSBpcyB0aGF0IHRoZSBjb2RlIGlz IGRlYWQgYW5kIHVudGVzdGFibGUKPiB3aXRob3V0IHBsYXRmb3JtIGNoYW5nZXMsIGV2ZW4gdGhv dWdoIGl0IGNvdWxkIGJlIHB1dCB0byBncmVhdCB1c2UgaW4KPiBjb3JlIGNvZGUgYXQgb25jZS4g SWYgeW91IHRoaW5rIHRoYXQncyB0b28gcmlza3ksIHRoaXMgY2xvc2UgdG8gdGhlCj4gc3RhYmxl IHRhZywgdGhlbiBvbmUgc29sdXRpb24gaXMgdG8gcmVzdWJtaXQgYXQgdGhlIGJlZ2lubmluZyBv ZiB0aGUKPiBuZXh0IGRldmVsb3BtZW50IGN5Y2xlIChhZ2FpbiB3aXRoIGFkZGl0aW9uYWwgcGF0 Y2hlcyB0aGF0IHV0aWxpemUgdGhlCj4gU1RBVElDX0FTU0VSVCBtYWNybyBhdCBvbmNlKS4gRGV2 ZWxvcGVycyB3aWxsIHRoZW4gaGF2ZSBjbG9zZSB0byB0aHJlZQo+IG1vbnRocyB0byByZXBvcnQg YW5kIGZpeCBpc3N1ZXMuCj4KPiBBbm90aGVyIHNvbHV0aW9uIHdvdWxkIGJlIHRvIGNvbmRpdGlv bmFsbHkga2VlcCBWRVJJRllfU0laRV9PRiwgdnMuCj4gdXNpbmcgU1RBVElDX0FTU0VSVCwgZm9y IGV4cHJlc3NpbmcgdGhlIGJ1aWxkLXRpbWUgaW52YXJpYW50cy4gVGhlCj4gZGVmYXVsdCB3b3Vs ZCBiZSBTVEFUSUNfQVNTRVJULiBTaG91bGQgaXQgYnJlYWssIHBlb3BsZSBjb3VsZAo+IGltbWVk aWF0ZWx5IHN3aXRjaCBiYWNrIHRvIFZFUklGWV9TSVpFX09GLCB3aXRob3V0IGRpc3J1cHRpb24g dG8gdGhlaXIKPiB3b3JrZmxvd3MuCj4KPiBXZSd2ZSBkb25lIHNpbWlsYXIgdGhpbmdzIGluIE92 bWZQa2cgaW4gdGhlIHBhc3QuIEZvciBleGFtcGxlOgo+IC0gVVNFX0xFR0FDWV9JU0FfU1RBQ0sg KGNvbW1pdCBhMDY4MTAyMjk2MTggLyBjb21taXQgNTYyNjg4NzA3MTQ1KSwKPiAtIFVTRV9PTERf QkRTIChjb21taXQgNzljMDk4YjZkMjVkIC8gY29tbWl0IGRkNDM0ODY1NzdiMyksCj4gLSBVU0Vf T0xEX1BDSV9IT1NUIChjb21taXQgNDAxNDg4NWZmZGZhIC8gY29tbWl0IGNlZjgzYTMwNTBlNSku Cj4KPj4gVGhpcyB3aWxsIGFsc28gZ2l2ZSB0aGVtIDMgbW9udGhzIGdyYWNlIHBlcmlvZCBvZiBW RVJJRllfU0laRV9PRiBtYWNybwo+PiByZW1vdmFsIGluIGZhdm91ciBvZiBTVEFUSUNfQVNTRVJU LiBNYWtpbmcgdGhlIGNoYW5nZSBub3cgd2lsbCBsZXQKPj4gcGVvcGxlIGRvIHNlYW1sZXNzIHRy YW5zaXRpb24gdG8gdGhlIG5ldyBmZWF0dXJlIGFuZCB3aWxsIGF2b2lkCj4+IG9ic3RhY2xlcyB5 b3UgYXJlIGN1cnJlbnRseSB0cnlpbmcgdG8gY3JlYXRlLgo+Cj4gUGxlYXNlIHN0b3AgbWFraW5n IGNsYWltcyBpbiBiYWQgZmFpdGguIEknbSBub3QgdHJ5aW5nIHRvICJjcmVhdGUKPiBvYnN0YWNs ZXMiLiBJJ20gYSBmYW4gb2YgU1RBVElDX0FTU0VSVC4gSSdtIG5vdCBhIGZhbiBvZiBkZWFkIGNv ZGUuCj4KPj4gVGh1cyBTVEFUSUNfQVNTRVJUIHVzYWdlIGFuZCBWRVJJRllfU0laRV9PRiByZW1v dmFsIG11c3QgYm90aCBiZQo+PiBzZXBhcmF0ZSBwYXRjaHNldHMgd2l0aCBwb3RlbnRpYWxseSBz ZXBhcmF0ZSBCWnMuCj4+Cj4+IFRoYW5rcyBmb3IgdW5kZXJzdGFuZGluZywKPgo+IFdoeSBhcmUg eW91IHByZXNlbnRpbmcgdGhpcyBhcyBhIGRvbmUgZGVhbD8gVGhlIHYyIHBhdGNoIHdhcyBzdWJt aXR0ZWQKPiB0aHJlZSBkYXlzIGFnbywgSUlVQy4KPgo+IEFsc28sIEkgd2lzaCB3ZSBjb3VsZCBo YXZlIHRoaXMgZGlzY3Vzc2lvbiB3aXRob3V0IGNvbmRlc2NlbnNpb24uCj4KPiBUaGFua3MsCj4g TGFzemxv --b1_039f8464f2bf56d366cab8ab757908e3 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: base64 ICAgIDxkaXY+TGFzemxvLDwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+SSBhbSB2ZXJ5IGdsYWQg dG8geW91IGZvciBleHByZXNzaW5nJm5ic3A7YSBkaWZmZXJlbnQgb3BpbmlvbiBhcyB0aGlzIGxl dHMgbWUgdmlldyB0aGUgc2l0dWF0aW9uIGZyb20gZGlmZmVyZW50IGFuZ2xlcy48L2Rpdj48ZGl2 Pjxicj48L2Rpdj48ZGl2PkkgdW5kZXJzdGFuZCB5b3VyIGNvbmNlcm5zLCBhbmQgYmVsaWV2ZSB0 aGF0IG1vc3Qgb2YgdGhlbSBzaG91bGQgYWN0dWFsbHkgYmUgYWRkcmVzc2VkIGluIGEgd2F5IHlv dSBleHBsYWluLiBJbiBmYWN0LCBJIHBsYW4gdG8gc3VibWl0IG1vcmUgcGF0Y2hlcyZuYnNwO215 c2VsZiBmb3IgZXZlcnlvbmUncyBiZW5lZml0LjwvZGl2PjxkaXY+PGJyPjwvZGl2PlRoZSBleGFj dCBzaXR1YXRpb24gd2l0aCBzdGF0aWMgYXNzZXJ0aW9ucyBpcyB0aGF0IHRoZXkgYXJlIG5vdCBj b21pbmcgdG9vIGVhcmx5LCBidXQgYWN0dWFsbHkgdG9vIGxhdGUuJm5ic3A7V2UgaGF2ZSBiZWVu IHVzaW5nIHN0YXRpYyBhc3NlcnRpb25zIGluIFVFRkkgY29kZSZuYnNwO2ZvciBxdWl0ZSBzb21l IHRpbWUgYWxyZWFkeSwgYW5kIEkgYmVsaWV2ZSB3ZSBhcmUgbm90IGFsb25lLiZuYnNwO0FsbCBv ZiB1cyB3aWxsIGJlbmVmaXQgZnJvbSBsZWdhY3kgY29kZSByZW1vdmFsIG9uY2UgdGhpcyBwYXRj aCBsYW5kcyB1cHN0cmVhbS48ZGl2Pjxicj48L2Rpdj48ZGl2PkZvciB5b3VyIGNsYWltIHRoYXQg dGhpcyBjb2RlIGlzIG5vdCB3ZWxsIHRlc3RlZCBJIHNob3VsZCBtZW50aW9uIHRoYXQgdGhlJm5i c3A7cGF0Y2ggaXMmbmJzcDtiYXNlZCBvbiBvbmUgb2YgdGhlIG9wZW4tc291cmNlIHByb2plY3Rz IEkmbmJzcDttYWludGFpbiwgd2hpY2ggZXZlcnlvbmUgY2FuIHRyYWNrLCBhbmQgd2hpY2gmbmJz cDtJIGJlbGlldmUgaGF2ZSBnb3R0ZW4gcmVhc29uYWJsZSBhdHRlbnRpb24gZnJvbSBkaWZmZXJl bnQgcGVvcGxlIHdpdGggZGlmZmVyZW50IGNvbXBpbGVycy48L2Rpdj48ZGl2Pjxicj48L2Rpdj48 ZGl2PkZvciBkZWFkIGNvZGUgSSBiZWxpZXZlIHRoYXQgaW4gRURLIElJIHdlIGRvIG5vdCBoYXZl IGEgZ29vZCBkZWZpbml0aW9uIGZvciB0aGF0IHRlcm0gYXMgbm9ybWFsbHkgZG9uZSZuYnNwO2lu Jm5ic3A7c2VyaW91czxzcGFuIHN0eWxlPSJjYXJldC1jb2xvcjogcmdiKDgwLCA4MCwgOTcpOyI+ Jm5ic3A7aW5kdXN0cmlhbCBwcm9qZWN0cyBsaWtlIGFlcm9zcGFjZSBvciBtaWxpdGFyeSB0aGF0 Jm5ic3A7aGF2ZSBubyBkZWFkIGNvZGUgcmVxdWlyZW1lbnQgaW4gdGhlaXIgU0RMLiZuYnNwOzwv c3Bhbj5QcmltYXJpbHkgYmVjYXVzZSBFREsgSUkmbmJzcDtpcyBhIGxpYnJhcnkgZm9yIG90aGVy cyB0byByZWx5IG9uLCBpdCBpcyBub3QgYSBzZWxmIGNvbnRhaW5lZCBzeXN0ZW0gd2hlcmUgZGVh ZCBjb2RlIHRlcm0gaXMgdXN1YWxseSBkZWZpbmVkLCBzdGFuZGFyZGlzZWQgYW5kIHZlcmlmaWVk IGFnYWluc3QuPC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj5XaGV0aGVyIGl0IGlzIGxpa2VkIG9y IG5vdCwgdGhlIGZhY3QgRURLIElJIGdldHMgY29udGludWFsIGRldmVsb3BtZW50IGlzIG9ubHkg YmVjYXVzZSBkaWZmZXJlbnQgY29tcGFuaWVzLCBhY2FkZW1pYSwgYW5kIGluZGl2aWR1YWxzIHVz ZSBpdHMmbmJzcDtjb2RlLiBJIGZlZWwgYmFkIGZvciB0aGVzZSBwZW9wbGUgaGF2aW5nIHRvIGZv cmssIGFuZCBiZWxpZXZlIHRoYXQgbW9zdCB2YWx1ZSBpbiBFREsgaXMgd2hhdCBpdCBnaXZlcyB0 byB0aGUgb3V0c2lkZSwgbm90IHRoZSBpbnNpZGUuIFNvIHN1cHBvcnRpbmcgYSBuZXcgaW50ZXJm YWNlIGEgbnVtYmVyIG9mIHByb2plY3RzIHVzZSBhbmQgbmVlZCBtYWtlcyBtb3N0IHNlbnNlIHRv IG1lLjxicj48L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2PjxzcGFuIHN0eWxlPSJjYXJldC1jb2xv cjogcmdiKDgwLCA4MCwgOTcpOyI+SSBkbyBub3Qgd2FudCB0byBtYWtlIG1vcmUgY2hhbmdlcyB0 byBjb3JlIGNvZGUgZm9yIG11bHRpcGxlIHJlYXNvbnMgYXMgeW91IHNlZSBhYm92ZS4gT25lIG9m IHRoZW0gaW5kZWVkIGJlaW5nIHNvbWUgbmVjZXNzYXJ5IGRpc2N1c3Npb24gZm9yIHRoZSB1c2Ug aW5zaWRlIEVESyBJSS4gQnV0IEkgZG8gbm90IGJlbGlldmUgdGhpcyBhIGdvb2Qgc3RvcHBlciBm cm9tIGdpdmluZyBhIHdvcmtpbmcgaW50ZXJmYWNlIHRvIG90aGVycywgd2hpY2ggdW5saWtlIEVE SyBJSSwgYWN0dWFsbHkgaGF2ZSBkZWZpbmVkIGNvbXBpbGVycywgaW5mcmFzdHJ1Y3R1cmUsIGFu ZCByZXF1aXJlbWVudHMuPC9zcGFuPjwvZGl2PjxkaXY+PHNwYW4gc3R5bGU9ImNhcmV0LWNvbG9y OiByZ2IoODAsIDgwLCA5Nyk7Ij48YnI+PC9zcGFuPjwvZGl2PkhvcGVmdWxseSBJIHBvaW50ZWQg b3V0IHRvIGVub3VnaCByZWFzb25zIHRvIGxlYXZlIHlvdSB3aXRoIHNvbWUgZG91YnRzIGFuZCBw ZXJtaXQgdGhpcyBwYXRjaCB0byBsYW5kIGluIGFzIGFuIGV4Y2VwdGlvbiBmcm9tIHlvdXIgcGVy c29uYWwgc3RhbmRwb2ludC4mbmJzcDs8Y2FyZXQ+PC9jYXJldD5UaGFuayB5b3UgZm9yIHVuZGVy c3RhbmRpbmcgYW5kIGJlaW5nIGNvbnN0cnVjdGl2ZS48ZGl2Pjxicj48L2Rpdj48ZGl2PkNoZWVy cyw8L2Rpdj48ZGl2PlZpdGFseTxicj48ZGl2Pjxicj48L2Rpdj5PbiDQv9GCLCDQsNCy0LMuIDE2 LCAyMDE5IGF0IDIyOjM4LCBMYXN6bG8gRXJzZWsgJmx0OzxhIGhyZWY9Im1haWx0bzpsZXJzZWtA cmVkaGF0LmNvbSIgY2xhc3M9IiI+bGVyc2VrQHJlZGhhdC5jb208L2E+Jmd0OyB3cm90ZTo8Ymxv Y2txdW90ZSBjbGFzcz0icHJvdG9ubWFpbF9xdW90ZSIgdHlwZT0iY2l0ZSI+ICBPbiAwOC8xNi8x OSAxOToyMywgdml0OTY5NkBwcm90b25tYWlsLmNvbSB3cm90ZTo8YnI+Jmd0OyBMYXN6bG8sPGJy PiZndDs8YnI+Jmd0OyBJIGhhdmUgYWxyZWFkeSBtZW50aW9uZWQgdGhhdCB0aGUgZG9jdW1lbnRh dGlvbiBpcyBzdWZmaWNpZW50IGFzPGJyPiZndDsgX1N0YXRpY19hc3NlcnQgaXMgQyBzdGFuZGFy ZDxicj48YnI+WWVzLCBpbiBhIHJlbGVhc2Ugb2YgdGhlIElTTyBDIHN0YW5kYXJkIHRoYXQgZWRr MiBkb2VzIG5vdCB0YXJnZXQuPGJyPjxicj5JbiBhZGRpdGlvbiwgZWRrMiBhbHJlYWR5IGhhcyBz ZXZlcmFsIHJlc3RyaWN0aW9ucyBpbiBwbGFjZSBhZ2FpbnN0PGJyPnN0YW5kYXJkcy1jb25mb3Jt YW50IGNvZGUuIChTdWNoIGFzIGJpdC1zaGlmdGluZyBvZiBVSU5UNjQgdmFsdWVzLDxicj5pbml0 aWFsaXphdGlvbiBvZiBzdHJ1Y3R1cmVzIHdpdGggYXV0b21hdGljIHN0b3JhZ2UgZHVyYXRpb24s IHN0cnVjdHVyZTxicj5hc3NpZ25tZW50LCBtYXliZSBtb3JlLik8YnI+PGJyPiZndDsgc28gSSBk byBub3QgcGxhbiB0byBtYWtlIGEgVjMgZm9yIHRoaXMgcGF0Y2guPGJyPjxicj5JIGZpbmQgdGhh dCByZWdyZXR0YWJsZS48YnI+PGJyPiZndDsgVGhlIHBhdGNoIGlzIG1lcmdlIHJlYWR5Ljxicj48 YnI+U3VjaCBzdGF0ZW1lbnRzIGFyZSB1c3VhbGx5IG1hZGUgd2hlbiBwZW9wbGUgdGhhdCBjb21t ZW50IG9uIGEgcGF0Y2g8YnI+YXJyaXZlIGF0IGEgY29uc2Vuc3VzLiBUaGUgcGF0Y2ggbWF5IGJl IG1lcmdlLXJlYWR5IGZyb20geW91cjxicj5wZXJzcGVjdGl2ZSBhbmQgZnJvbSBNaWtlJ3MuIEl0 IGlzIG5vdCBtZXJnZS1yZWFkeSBmcm9tIG15IHBlcnNwZWN0aXZlLjxicj5JIGhvcGUgSSdtIGFs bG93ZWQgdG8gY29tbWVudCAoY29uc3RydWN0aXZlbHkpIG9uIHBhdGNoZXMgdGhhdCBhcmVuJ3Q8 YnI+c3RyaWN0bHkgYWltZWQgYXQgdGhlIHN1YnN5c3RlbXMgSSBjby1tYWludGFpbi48YnI+PGJy PiZndDsgQXMgZm9yIHVzYWdlIGV4YW1wbGVzIEkgaGF2ZSBhbiBvcHBvc2luZyBvcGluaW9uIHRv IHlvdXJzIGFuZCBiZWxpZXZlPGJyPiZndDsgaXQgaXMgYmFzZWQgb24gdmVyeSBnb29kIHJlYXNv bnMuIE5vdCB1c2luZyBTVEFUSUNfQVNTRVJUIGluIHRoZTxicj4mZ3Q7IGN1cnJlbnQgcmVsZWFz ZSB3aWxsIG1ha2UgdGhlIGZlYXR1cmUgb3B0aW9uYWxseSBhdmFpbGFibGUgYW5kIGxldDxicj4m Z3Q7IHBlb3BsZSB0ZXN0IGl0IGluIHRoZWlyIHNldHVwcy48YnI+PGJyPk5vdCB1c2luZyBTVEFU SUNfQVNTRVJUIGluIHRoZSBjdXJyZW50IHN0YWJsZSByZWxlYXNlIG1ha2VzIHRoZTxicj5TVEFU SUNfQVNTRVJUIG1hY3JvIGRlZmluaXRpb24gKmRlYWQgY29kZSogaW4gZWRrMiBwcm9wZXIuIEkg dW5kZXJzdGFuZDxicj50aGF0IGVkazIgaXMgYSAia2l0IiwgYW5kIHF1aXRlIGV4cGxpY2l0bHkg Y2F0ZXJzIHRvIG91dC1vZi10cmVlPGJyPnBsYXRmb3Jtcy4gVGhhdCdzIG5vdCBhIHBvc2l0aXZl IHRyYWl0IG9mIGVkazIgaG93ZXZlcjsgaXQncyBhIG5lZ2F0aXZlPGJyPm9uZSwgaW4gbXkganVk Z2VtZW50LiBXaGF0ZXZlciB3ZSBhZGQgdG8gdGhlIGNvcmUgb2YgZWRrMiwgd2Ugc2hvdWxkPGJy PmV4ZXJjaXNlIGFzIGRpbGlnZW50bHkgYXMgd2UgY2FuICppbnNpZGUqIG9mIGVkazIuPGJyPjxi cj4mZ3Q7IEluIGNhc2UgdGhleSBub3RpY2UgaXQgZG9lcyBub3Qgd29yayBmb3IgdGhlbSB0aGV5 IHdpbGwgaGF2ZSAzIG1vbnRoczxicj4mZ3Q7IGdyYWNlIHBlcmlvZCB0byByZXBvcnQgaXQgdG8g dXMgYW5kIGNvbnNpZGVyIG1ha2luZyBhIGNoYW5nZS48YnI+PGJyPlRoYXQgaXMgd2hhdCB0aGUg ZmVhdHVyZSBmcmVlemVzIGFyZSBmb3IuIFRoZSBmZWF0dXJlIGlzIHJldmlld2VkIGJlZm9yZTxi cj50aGUgc29mdCBmZWF0dXJlIGZyZWV6ZSwgbWVyZ2VkIChhdCB0aGUgbGF0ZXN0KSBkdXJpbmcg dGhlIHNvZnQgZmVhdHVyZTxicj5mcmVlemUsIGFuZCBidWdzIGNhbiBzdGlsbCBiZSBmaXhlZCBk dXJpbmcgdGhlIGhhcmQgZmVhdHVyZSBmcmVlemUuIFRoZTxicj5jb21tdW5pdHkgaXMgZXhwZWN0 ZWQgdG8gdGVzdCBkaWxpZ2VudGx5IGR1cmluZyB0aGUgaGFyZCBmZWF0dXJlIGZyZWV6ZS48YnI+ UGVyaGFwcyB3ZSBzaG91bGQgZXh0ZW5kIHRoZSBoYXJkIGZlYXR1cmUgZnJlZXplLjxicj48YnI+ TXkgcHJvYmxlbSBpcyBub3QgdGhhdCB0aGUgY2hhbmdlIGlzIG5vdCAiaW4geW91ciBmYWNlIi4g SSdtIGFsbCBmb3I8YnI+YXZvaWRpbmcgcmVncmVzc2lvbnMuIE15IHByb2JsZW0gaXMgdGhhdCB0 aGUgY29kZSBpcyBkZWFkIGFuZCB1bnRlc3RhYmxlPGJyPndpdGhvdXQgcGxhdGZvcm0gY2hhbmdl cywgZXZlbiB0aG91Z2ggaXQgY291bGQgYmUgcHV0IHRvIGdyZWF0IHVzZSBpbjxicj5jb3JlIGNv ZGUgYXQgb25jZS4gSWYgeW91IHRoaW5rIHRoYXQncyB0b28gcmlza3ksIHRoaXMgY2xvc2UgdG8g dGhlPGJyPnN0YWJsZSB0YWcsIHRoZW4gb25lIHNvbHV0aW9uIGlzIHRvIHJlc3VibWl0IGF0IHRo ZSBiZWdpbm5pbmcgb2YgdGhlPGJyPm5leHQgZGV2ZWxvcG1lbnQgY3ljbGUgKGFnYWluIHdpdGgg YWRkaXRpb25hbCBwYXRjaGVzIHRoYXQgdXRpbGl6ZSB0aGU8YnI+U1RBVElDX0FTU0VSVCBtYWNy byBhdCBvbmNlKS4gRGV2ZWxvcGVycyB3aWxsIHRoZW4gaGF2ZSBjbG9zZSB0byB0aHJlZTxicj5t b250aHMgdG8gcmVwb3J0IGFuZCBmaXggaXNzdWVzLjxicj48YnI+QW5vdGhlciBzb2x1dGlvbiB3 b3VsZCBiZSB0byBjb25kaXRpb25hbGx5IGtlZXAgVkVSSUZZX1NJWkVfT0YsIHZzLjxicj51c2lu ZyBTVEFUSUNfQVNTRVJULCBmb3IgZXhwcmVzc2luZyB0aGUgYnVpbGQtdGltZSBpbnZhcmlhbnRz LiBUaGU8YnI+ZGVmYXVsdCB3b3VsZCBiZSBTVEFUSUNfQVNTRVJULiBTaG91bGQgaXQgYnJlYWss IHBlb3BsZSBjb3VsZDxicj5pbW1lZGlhdGVseSBzd2l0Y2ggYmFjayB0byBWRVJJRllfU0laRV9P Riwgd2l0aG91dCBkaXNydXB0aW9uIHRvIHRoZWlyPGJyPndvcmtmbG93cy48YnI+PGJyPldlJ3Zl IGRvbmUgc2ltaWxhciB0aGluZ3MgaW4gT3ZtZlBrZyBpbiB0aGUgcGFzdC4gRm9yIGV4YW1wbGU6 PGJyPi0gVVNFX0xFR0FDWV9JU0FfU1RBQ0sgKGNvbW1pdCBhMDY4MTAyMjk2MTggLyBjb21taXQg NTYyNjg4NzA3MTQ1KSw8YnI+LSBVU0VfT0xEX0JEUyAoY29tbWl0IDc5YzA5OGI2ZDI1ZCAvIGNv bW1pdCBkZDQzNDg2NTc3YjMpLDxicj4tIFVTRV9PTERfUENJX0hPU1QgKGNvbW1pdCA0MDE0ODg1 ZmZkZmEgLyBjb21taXQgY2VmODNhMzA1MGU1KS48YnI+PGJyPiZndDsgVGhpcyB3aWxsIGFsc28g Z2l2ZSB0aGVtIDMgbW9udGhzIGdyYWNlIHBlcmlvZCBvZiBWRVJJRllfU0laRV9PRiBtYWNybzxi cj4mZ3Q7IHJlbW92YWwgaW4gZmF2b3VyIG9mIFNUQVRJQ19BU1NFUlQuIE1ha2luZyB0aGUgY2hh bmdlIG5vdyB3aWxsIGxldDxicj4mZ3Q7IHBlb3BsZSBkbyBzZWFtbGVzcyB0cmFuc2l0aW9uIHRv IHRoZSBuZXcgZmVhdHVyZSBhbmQgd2lsbCBhdm9pZDxicj4mZ3Q7IG9ic3RhY2xlcyB5b3UgYXJl IGN1cnJlbnRseSB0cnlpbmcgdG8gY3JlYXRlLjxicj48YnI+UGxlYXNlIHN0b3AgbWFraW5nIGNs YWltcyBpbiBiYWQgZmFpdGguIEknbSBub3QgdHJ5aW5nIHRvICJjcmVhdGU8YnI+b2JzdGFjbGVz Ii4gSSdtIGEgZmFuIG9mIFNUQVRJQ19BU1NFUlQuIEknbSBub3QgYSBmYW4gb2YgZGVhZCBjb2Rl Ljxicj48YnI+Jmd0OyBUaHVzIFNUQVRJQ19BU1NFUlQgdXNhZ2UgYW5kIFZFUklGWV9TSVpFX09G IHJlbW92YWwgbXVzdCBib3RoIGJlPGJyPiZndDsgc2VwYXJhdGUgcGF0Y2hzZXRzIHdpdGggcG90 ZW50aWFsbHkgc2VwYXJhdGUgQlpzLjxicj4mZ3Q7PGJyPiZndDsgVGhhbmtzIGZvciB1bmRlcnN0 YW5kaW5nLDxicj48YnI+V2h5IGFyZSB5b3UgcHJlc2VudGluZyB0aGlzIGFzIGEgZG9uZSBkZWFs PyBUaGUgdjIgcGF0Y2ggd2FzIHN1Ym1pdHRlZDxicj50aHJlZSBkYXlzIGFnbywgSUlVQy48YnI+ PGJyPkFsc28sIEkgd2lzaCB3ZSBjb3VsZCBoYXZlIHRoaXMgZGlzY3Vzc2lvbiB3aXRob3V0IGNv bmRlc2NlbnNpb24uPGJyPjxicj5UaGFua3MsPGJyPkxhc3psbzxicj48L2Jsb2NrcXVvdGU+PGRp dj48YnI+PC9kaXY+PGRpdj48YnI+PC9kaXY+PC9kaXY+ --b1_039f8464f2bf56d366cab8ab757908e3--