From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.5 required=3.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 1D955C2D0F7 for ; Tue, 12 May 2020 16:12:46 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id DECBB20736 for ; Tue, 12 May 2020 16:12:45 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=ffwll.ch header.i=@ffwll.ch header.b="IFTHA2tG" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org DECBB20736 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=ffwll.ch Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=intel-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id D5CC289991; Tue, 12 May 2020 16:12:41 +0000 (UTC) Received: from mail-oi1-x244.google.com (mail-oi1-x244.google.com [IPv6:2607:f8b0:4864:20::244]) by gabe.freedesktop.org (Postfix) with ESMTPS id 1730C89FD9 for ; Tue, 12 May 2020 16:12:40 +0000 (UTC) Received: by mail-oi1-x244.google.com with SMTP id o24so18708567oic.0 for ; Tue, 12 May 2020 09:12:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ffwll.ch; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=bww7fgLkKXfMv4PRaAkrQzDwPtCU39Ajw7uoGNUPEx8=; b=IFTHA2tGH4wZnxNRAUcfT8zYr0DM4ejTZAwt0QBnVPXV/VJ6Nv6Rm/Z4uxPHJf6EM9 o3blcr3tXN6xw0R+JJcCt118t8Siwgu0jYkJWW/6EIb4zkRegDQfgmFNm6UXfaQwXVZ2 ICEl8CUYDB9vwdSQcbawx4OpJypc3ygORsoTI= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=bww7fgLkKXfMv4PRaAkrQzDwPtCU39Ajw7uoGNUPEx8=; b=YardeSPN5r464sfXgDQOiOYDC4utPxwKM1tJttAXFUf7J++ycCpfRgpO5iL93ONTWP glHbqK2Rb1vh2kTdpCL1Gp+CrOK9UEJVBLIYwILC1KHeUfAWk+wG/yK4tp0z64sxvV1L 6GSu53oSIxFo4jr1+yIW4KpQFk4uSxzzAyy1TNxXBEQrQc0enVr5I1eZtRZU7jL3/kr1 /RW2tnYNbqTJP3OPw34gMOx0Lw9ktnY3+J/HRkHqpiaqJgvYwxZgj0Mj9NqO3TMGOgD/ 5Uj2kUmkC4hqCteglD6RLGCNwj+PAIvNEZ5tpMbccBjpj7uVCp7UjXrApkkfWv47Ypfb nOqA== X-Gm-Message-State: AGi0Puatbr5arso324Dd2BxpkDTZcf/u6DWBisXenK/jlV6aTL7kObUD b8c1BjNBUaDOjxPviM01ZgO0Ql4PV9+iDn1Og8wW0g== X-Google-Smtp-Source: APiQypJersL/YqDvlZr25aCAq1fwjpXeCzG4qwabGva1MCjtq3RE5tJM8ctElgeLrKI9mrxPFhV4nsqELGe9VpH6ZrM= X-Received: by 2002:aca:2113:: with SMTP id 19mr15372876oiz.128.1589299959079; Tue, 12 May 2020 09:12:39 -0700 (PDT) MIME-Version: 1.0 References: <20200512085944.222637-1-daniel.vetter@ffwll.ch> <20200512085944.222637-17-daniel.vetter@ffwll.ch> <20200512125841.GH206103@phenom.ffwll.local> In-Reply-To: From: Daniel Vetter Date: Tue, 12 May 2020 18:12:27 +0200 Message-ID: To: Alex Deucher Subject: Re: [Intel-gfx] [RFC 16/17] drm/amdgpu: gpu recovery does full modesets X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: linux-rdma , Intel Graphics Development , LKML , amd-gfx list , Chris Wilson , "moderated list:DMA BUFFER SHARING FRAMEWORK" , DRI Development , Daniel Vetter , =?UTF-8?Q?Christian_K=C3=B6nig?= , linux-media Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" T24gVHVlLCBNYXkgMTIsIDIwMjAgYXQgNDoyNCBQTSBBbGV4IERldWNoZXIgPGFsZXhkZXVjaGVy QGdtYWlsLmNvbT4gd3JvdGU6Cj4KPiBPbiBUdWUsIE1heSAxMiwgMjAyMCBhdCA5OjQ1IEFNIERh bmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJAZmZ3bGwuY2g+IHdyb3RlOgo+ID4KPiA+IE9uIFR1 ZSwgTWF5IDEyLCAyMDIwIGF0IDM6MjkgUE0gQWxleCBEZXVjaGVyIDxhbGV4ZGV1Y2hlckBnbWFp bC5jb20+IHdyb3RlOgo+ID4gPgo+ID4gPiBPbiBUdWUsIE1heSAxMiwgMjAyMCBhdCA5OjE3IEFN IERhbmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJAZmZ3bGwuY2g+IHdyb3RlOgo+ID4gPiA+Cj4g PiA+ID4gT24gVHVlLCBNYXkgMTIsIDIwMjAgYXQgMzoxMiBQTSBBbGV4IERldWNoZXIgPGFsZXhk ZXVjaGVyQGdtYWlsLmNvbT4gd3JvdGU6Cj4gPiA+ID4gPgo+ID4gPiA+ID4gT24gVHVlLCBNYXkg MTIsIDIwMjAgYXQgODo1OCBBTSBEYW5pZWwgVmV0dGVyIDxkYW5pZWxAZmZ3bGwuY2g+IHdyb3Rl Ogo+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiBPbiBUdWUsIE1heSAxMiwgMjAyMCBhdCAwODo1NDo0 NUFNIC0wNDAwLCBBbGV4IERldWNoZXIgd3JvdGU6Cj4gPiA+ID4gPiA+ID4gT24gVHVlLCBNYXkg MTIsIDIwMjAgYXQgNTowMCBBTSBEYW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVyQGZmd2xsLmNo PiB3cm90ZToKPiA+ID4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+ID4gPiAuLi4KPiA+ID4gPiA+ID4g PiA+Cj4gPiA+ID4gPiA+ID4gPiBJIHRoaW5rIGl0J3MgdGltZSB0byBzdG9wIHRoaXMgbGl0dGxl IGV4ZXJjaXNlLgo+ID4gPiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4gPiA+IFRoZSBsb2NrZGVwIHNw bGF0LCBmb3IgdGhlIHJlY29yZDoKPiA+ID4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+ID4gPiBbICAx MzIuNTgzMzgxXSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KPiA+ID4gPiA+ID4gPiA+IFsgIDEzMi41ODQwOTFdIFdBUk5JTkc6IHBvc3NpYmxl IGNpcmN1bGFyIGxvY2tpbmcgZGVwZW5kZW5jeSBkZXRlY3RlZAo+ID4gPiA+ID4gPiA+ID4gWyAg MTMyLjU4NDc3NV0gNS43LjAtcmMzKyAjMzQ2IFRhaW50ZWQ6IEcgICAgICAgIFcKPiA+ID4gPiA+ ID4gPiA+IFsgIDEzMi41ODU0NjFdIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLQo+ID4gPiA+ID4gPiA+ID4gWyAgMTMyLjU4NjE4NF0ga3dvcmtl ci8yOjMvODY1IGlzIHRyeWluZyB0byBhY3F1aXJlIGxvY2s6Cj4gPiA+ID4gPiA+ID4gPiBbICAx MzIuNTg2ODU3XSBmZmZmYzkwMDAwNjc3YzcwIChjcnRjX3d3X2NsYXNzX2FjcXVpcmUpeysuKy59 LXswOjB9LCBhdDogZHJtX2F0b21pY19oZWxwZXJfc3VzcGVuZCsweDM4LzB4MTIwIFtkcm1fa21z X2hlbHBlcl0KPiA+ID4gPiA+ID4gPiA+IFsgIDEzMi41ODc1NjldCj4gPiA+ID4gPiA+ID4gPiAg ICAgICAgICAgICAgICBidXQgdGFzayBpcyBhbHJlYWR5IGhvbGRpbmcgbG9jazoKPiA+ID4gPiA+ ID4gPiA+IFsgIDEzMi41ODkwNDRdIGZmZmZmZmZmODIzMThjODAgKGRtYV9mZW5jZV9tYXApeysr Kyt9LXswOjB9LCBhdDogZHJtX3NjaGVkX2pvYl90aW1lZG91dCsweDI1LzB4ZjAgW2dwdV9zY2hl ZF0KPiA+ID4gPiA+ID4gPiA+IFsgIDEzMi41ODk4MDNdCj4gPiA+ID4gPiA+ID4gPiAgICAgICAg ICAgICAgICB3aGljaCBsb2NrIGFscmVhZHkgZGVwZW5kcyBvbiB0aGUgbmV3IGxvY2suCj4gPiA+ ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiA+ID4gWyAgMTMyLjU5MjAwOV0KPiA+ID4gPiA+ID4gPiA+ ICAgICAgICAgICAgICAgIHRoZSBleGlzdGluZyBkZXBlbmRlbmN5IGNoYWluIChpbiByZXZlcnNl IG9yZGVyKSBpczoKPiA+ID4gPiA+ID4gPiA+IFsgIDEzMi41OTM1MDddCj4gPiA+ID4gPiA+ID4g PiAgICAgICAgICAgICAgICAtPiAjMiAoZG1hX2ZlbmNlX21hcCl7KysrK30tezA6MH06Cj4gPiA+ ID4gPiA+ID4gPiBbICAxMzIuNTk1MDE5XSAgICAgICAgZG1hX2ZlbmNlX2JlZ2luX3NpZ25hbGxp bmcrMHg1MC8weDYwCj4gPiA+ID4gPiA+ID4gPiBbICAxMzIuNTk1NzY3XSAgICAgICAgZHJtX2F0 b21pY19oZWxwZXJfY29tbWl0KzB4YTEvMHgxODAgW2RybV9rbXNfaGVscGVyXQo+ID4gPiA+ID4g PiA+ID4gWyAgMTMyLjU5NjU2N10gICAgICAgIGRybV9jbGllbnRfbW9kZXNldF9jb21taXRfYXRv bWljKzB4MWVhLzB4MjUwIFtkcm1dCj4gPiA+ID4gPiA+ID4gPiBbICAxMzIuNTk3NDIwXSAgICAg ICAgZHJtX2NsaWVudF9tb2Rlc2V0X2NvbW1pdF9sb2NrZWQrMHg1NS8weDE5MCBbZHJtXQo+ID4g PiA+ID4gPiA+ID4gWyAgMTMyLjU5ODE3OF0gICAgICAgIGRybV9jbGllbnRfbW9kZXNldF9jb21t aXQrMHgyNC8weDQwIFtkcm1dCj4gPiA+ID4gPiA+ID4gPiBbICAxMzIuNTk4OTQ4XSAgICAgICAg ZHJtX2ZiX2hlbHBlcl9yZXN0b3JlX2ZiZGV2X21vZGVfdW5sb2NrZWQrMHg0Yi8weGEwIFtkcm1f a21zX2hlbHBlcl0KPiA+ID4gPiA+ID4gPiA+IFsgIDEzMi41OTk3MzhdICAgICAgICBkcm1fZmJf aGVscGVyX3NldF9wYXIrMHgzMC8weDQwIFtkcm1fa21zX2hlbHBlcl0KPiA+ID4gPiA+ID4gPiA+ IFsgIDEzMi42MDA1MzldICAgICAgICBmYmNvbl9pbml0KzB4MmU4LzB4NjYwCj4gPiA+ID4gPiA+ ID4gPiBbICAxMzIuNjAxMzQ0XSAgICAgICAgdmlzdWFsX2luaXQrMHhjZS8weDEzMAo+ID4gPiA+ ID4gPiA+ID4gWyAgMTMyLjYwMjE1Nl0gICAgICAgIGRvX2JpbmRfY29uX2RyaXZlcisweDFiYy8w eDJiMAo+ID4gPiA+ID4gPiA+ID4gWyAgMTMyLjYwMjk3MF0gICAgICAgIGRvX3Rha2Vfb3Zlcl9j b25zb2xlKzB4MTE1LzB4MTgwCj4gPiA+ID4gPiA+ID4gPiBbICAxMzIuNjAzNzYzXSAgICAgICAg ZG9fZmJjb25fdGFrZW92ZXIrMHg1OC8weGIwCj4gPiA+ID4gPiA+ID4gPiBbICAxMzIuNjA0NTY0 XSAgICAgICAgcmVnaXN0ZXJfZnJhbWVidWZmZXIrMHgxZWUvMHgzMDAKPiA+ID4gPiA+ID4gPiA+ IFsgIDEzMi42MDUzNjldICAgICAgICBfX2RybV9mYl9oZWxwZXJfaW5pdGlhbF9jb25maWdfYW5k X3VubG9jaysweDM2ZS8weDUyMCBbZHJtX2ttc19oZWxwZXJdCj4gPiA+ID4gPiA+ID4gPiBbICAx MzIuNjA2MTg3XSAgICAgICAgYW1kZ3B1X2ZiZGV2X2luaXQrMHhiMy8weGYwIFthbWRncHVdCj4g PiA+ID4gPiA+ID4gPiBbICAxMzIuNjA3MDMyXSAgICAgICAgYW1kZ3B1X2RldmljZV9pbml0LmNv bGQrMHhlOTAvMHgxNjc3IFthbWRncHVdCj4gPiA+ID4gPiA+ID4gPiBbICAxMzIuNjA3ODYyXSAg ICAgICAgYW1kZ3B1X2RyaXZlcl9sb2FkX2ttcysweDVhLzB4MjAwIFthbWRncHVdCj4gPiA+ID4g PiA+ID4gPiBbICAxMzIuNjA4Njk3XSAgICAgICAgYW1kZ3B1X3BjaV9wcm9iZSsweGY3LzB4MTgw IFthbWRncHVdCj4gPiA+ID4gPiA+ID4gPiBbICAxMzIuNjA5NTExXSAgICAgICAgbG9jYWxfcGNp X3Byb2JlKzB4NDIvMHg4MAo+ID4gPiA+ID4gPiA+ID4gWyAgMTMyLjYxMDMyNF0gICAgICAgIHBj aV9kZXZpY2VfcHJvYmUrMHgxMDQvMHgxYTAKPiA+ID4gPiA+ID4gPiA+IFsgIDEzMi42MTExMzBd ICAgICAgICByZWFsbHlfcHJvYmUrMHgxNDcvMHgzYzAKPiA+ID4gPiA+ID4gPiA+IFsgIDEzMi42 MTE5MzldICAgICAgICBkcml2ZXJfcHJvYmVfZGV2aWNlKzB4YjYvMHgxMDAKPiA+ID4gPiA+ID4g PiA+IFsgIDEzMi42MTI3NjZdICAgICAgICBkZXZpY2VfZHJpdmVyX2F0dGFjaCsweDUzLzB4NjAK PiA+ID4gPiA+ID4gPiA+IFsgIDEzMi42MTM1OTNdICAgICAgICBfX2RyaXZlcl9hdHRhY2grMHg4 Yy8weDE1MAo+ID4gPiA+ID4gPiA+ID4gWyAgMTMyLjYxNDQxOV0gICAgICAgIGJ1c19mb3JfZWFj aF9kZXYrMHg3Yi8weGMwCj4gPiA+ID4gPiA+ID4gPiBbICAxMzIuNjE1MjQ5XSAgICAgICAgYnVz X2FkZF9kcml2ZXIrMHgxNGMvMHgxZjAKPiA+ID4gPiA+ID4gPiA+IFsgIDEzMi42MTYwNzFdICAg ICAgICBkcml2ZXJfcmVnaXN0ZXIrMHg2Yy8weGMwCj4gPiA+ID4gPiA+ID4gPiBbICAxMzIuNjE2 OTAyXSAgICAgICAgZG9fb25lX2luaXRjYWxsKzB4NWQvMHgyZjAKPiA+ID4gPiA+ID4gPiA+IFsg IDEzMi42MTc3MzFdICAgICAgICBkb19pbml0X21vZHVsZSsweDVjLzB4MjMwCj4gPiA+ID4gPiA+ ID4gPiBbICAxMzIuNjE4NTYwXSAgICAgICAgbG9hZF9tb2R1bGUrMHgyOTgxLzB4MmJjMAo+ID4g PiA+ID4gPiA+ID4gWyAgMTMyLjYxOTM5MV0gICAgICAgIF9fZG9fc3lzX2Zpbml0X21vZHVsZSsw eGFhLzB4MTEwCj4gPiA+ID4gPiA+ID4gPiBbICAxMzIuNjIwMjI4XSAgICAgICAgZG9fc3lzY2Fs bF82NCsweDVhLzB4MjUwCj4gPiA+ID4gPiA+ID4gPiBbICAxMzIuNjIxMDY0XSAgICAgICAgZW50 cnlfU1lTQ0FMTF82NF9hZnRlcl9od2ZyYW1lKzB4NDkvMHhiMwo+ID4gPiA+ID4gPiA+ID4gWyAg MTMyLjYyMTkwM10KPiA+ID4gPiA+ID4gPiA+ICAgICAgICAgICAgICAgIC0+ICMxIChjcnRjX3d3 X2NsYXNzX211dGV4KXsrLisufS17MzozfToKPiA+ID4gPiA+ID4gPiA+IFsgIDEzMi42MjM1ODdd ICAgICAgICBfX3d3X211dGV4X2xvY2suY29uc3Rwcm9wLjArMHhjYy8weDEwYzAKPiA+ID4gPiA+ ID4gPiA+IFsgIDEzMi42MjQ0NDhdICAgICAgICB3d19tdXRleF9sb2NrKzB4NDMvMHhiMAo+ID4g PiA+ID4gPiA+ID4gWyAgMTMyLjYyNTMxNV0gICAgICAgIGRybV9tb2Rlc2V0X2xvY2srMHg0NC8w eDEyMCBbZHJtXQo+ID4gPiA+ID4gPiA+ID4gWyAgMTMyLjYyNjE4NF0gICAgICAgIGRybW1fbW9k ZV9jb25maWdfaW5pdCsweDJkYi8weDhiMCBbZHJtXQo+ID4gPiA+ID4gPiA+ID4gWyAgMTMyLjYy NzA5OF0gICAgICAgIGFtZGdwdV9kZXZpY2VfaW5pdC5jb2xkKzB4YmQxLzB4MTY3NyBbYW1kZ3B1 XQo+ID4gPiA+ID4gPiA+ID4gWyAgMTMyLjYyODAwN10gICAgICAgIGFtZGdwdV9kcml2ZXJfbG9h ZF9rbXMrMHg1YS8weDIwMCBbYW1kZ3B1XQo+ID4gPiA+ID4gPiA+ID4gWyAgMTMyLjYyODkyMF0g ICAgICAgIGFtZGdwdV9wY2lfcHJvYmUrMHhmNy8weDE4MCBbYW1kZ3B1XQo+ID4gPiA+ID4gPiA+ ID4gWyAgMTMyLjYyOTgwNF0gICAgICAgIGxvY2FsX3BjaV9wcm9iZSsweDQyLzB4ODAKPiA+ID4g PiA+ID4gPiA+IFsgIDEzMi42MzA2OTBdICAgICAgICBwY2lfZGV2aWNlX3Byb2JlKzB4MTA0LzB4 MWEwCj4gPiA+ID4gPiA+ID4gPiBbICAxMzIuNjMxNTgzXSAgICAgICAgcmVhbGx5X3Byb2JlKzB4 MTQ3LzB4M2MwCj4gPiA+ID4gPiA+ID4gPiBbICAxMzIuNjMyNDc5XSAgICAgICAgZHJpdmVyX3By b2JlX2RldmljZSsweGI2LzB4MTAwCj4gPiA+ID4gPiA+ID4gPiBbICAxMzIuNjMzMzc5XSAgICAg ICAgZGV2aWNlX2RyaXZlcl9hdHRhY2grMHg1My8weDYwCj4gPiA+ID4gPiA+ID4gPiBbICAxMzIu NjM0Mjc1XSAgICAgICAgX19kcml2ZXJfYXR0YWNoKzB4OGMvMHgxNTAKPiA+ID4gPiA+ID4gPiA+ IFsgIDEzMi42MzUxNzBdICAgICAgICBidXNfZm9yX2VhY2hfZGV2KzB4N2IvMHhjMAo+ID4gPiA+ ID4gPiA+ID4gWyAgMTMyLjYzNjA2OV0gICAgICAgIGJ1c19hZGRfZHJpdmVyKzB4MTRjLzB4MWYw Cj4gPiA+ID4gPiA+ID4gPiBbICAxMzIuNjM2OTc0XSAgICAgICAgZHJpdmVyX3JlZ2lzdGVyKzB4 NmMvMHhjMAo+ID4gPiA+ID4gPiA+ID4gWyAgMTMyLjYzNzg3MF0gICAgICAgIGRvX29uZV9pbml0 Y2FsbCsweDVkLzB4MmYwCj4gPiA+ID4gPiA+ID4gPiBbICAxMzIuNjM4NzY1XSAgICAgICAgZG9f aW5pdF9tb2R1bGUrMHg1Yy8weDIzMAo+ID4gPiA+ID4gPiA+ID4gWyAgMTMyLjYzOTY1NF0gICAg ICAgIGxvYWRfbW9kdWxlKzB4Mjk4MS8weDJiYzAKPiA+ID4gPiA+ID4gPiA+IFsgIDEzMi42NDA1 MjJdICAgICAgICBfX2RvX3N5c19maW5pdF9tb2R1bGUrMHhhYS8weDExMAo+ID4gPiA+ID4gPiA+ ID4gWyAgMTMyLjY0MTM3Ml0gICAgICAgIGRvX3N5c2NhbGxfNjQrMHg1YS8weDI1MAo+ID4gPiA+ ID4gPiA+ID4gWyAgMTMyLjY0MjIwM10gICAgICAgIGVudHJ5X1NZU0NBTExfNjRfYWZ0ZXJfaHdm cmFtZSsweDQ5LzB4YjMKPiA+ID4gPiA+ID4gPiA+IFsgIDEzMi42NDMwMjJdCj4gPiA+ID4gPiA+ ID4gPiAgICAgICAgICAgICAgICAtPiAjMCAoY3J0Y193d19jbGFzc19hY3F1aXJlKXsrLisufS17 MDowfToKPiA+ID4gPiA+ID4gPiA+IFsgIDEzMi42NDQ2NDNdICAgICAgICBfX2xvY2tfYWNxdWly ZSsweDEyNDEvMHgyM2YwCj4gPiA+ID4gPiA+ID4gPiBbICAxMzIuNjQ1NDY5XSAgICAgICAgbG9j a19hY3F1aXJlKzB4YWQvMHgzNzAKPiA+ID4gPiA+ID4gPiA+IFsgIDEzMi42NDYyNzRdICAgICAg ICBkcm1fbW9kZXNldF9hY3F1aXJlX2luaXQrMHhkMi8weDEwMCBbZHJtXQo+ID4gPiA+ID4gPiA+ ID4gWyAgMTMyLjY0NzA3MV0gICAgICAgIGRybV9hdG9taWNfaGVscGVyX3N1c3BlbmQrMHgzOC8w eDEyMCBbZHJtX2ttc19oZWxwZXJdCj4gPiA+ID4gPiA+ID4gPiBbICAxMzIuNjQ3OTAyXSAgICAg ICAgZG1fc3VzcGVuZCsweDFjLzB4NjAgW2FtZGdwdV0KPiA+ID4gPiA+ID4gPiA+IFsgIDEzMi42 NDg2OThdICAgICAgICBhbWRncHVfZGV2aWNlX2lwX3N1c3BlbmRfcGhhc2UxKzB4ODMvMHhlMCBb YW1kZ3B1XQo+ID4gPiA+ID4gPiA+ID4gWyAgMTMyLjY0OTQ5OF0gICAgICAgIGFtZGdwdV9kZXZp Y2VfaXBfc3VzcGVuZCsweDFjLzB4NjAgW2FtZGdwdV0KPiA+ID4gPiA+ID4gPiA+IFsgIDEzMi42 NTAzMDBdICAgICAgICBhbWRncHVfZGV2aWNlX2dwdV9yZWNvdmVyLmNvbGQrMHg0ZTYvMHhlNjQg W2FtZGdwdV0KPiA+ID4gPiA+ID4gPiA+IFsgIDEzMi42NTEwODRdICAgICAgICBhbWRncHVfam9i X3RpbWVkb3V0KzB4ZmIvMHgxNTAgW2FtZGdwdV0KPiA+ID4gPiA+ID4gPiA+IFsgIDEzMi42NTE4 MjVdICAgICAgICBkcm1fc2NoZWRfam9iX3RpbWVkb3V0KzB4OGEvMHhmMCBbZ3B1X3NjaGVkXQo+ ID4gPiA+ID4gPiA+ID4gWyAgMTMyLjY1MjU5NF0gICAgICAgIHByb2Nlc3Nfb25lX3dvcmsrMHgy M2MvMHg1ODAKPiA+ID4gPiA+ID4gPiA+IFsgIDEzMi42NTM0MDJdICAgICAgICB3b3JrZXJfdGhy ZWFkKzB4NTAvMHgzYjAKPiA+ID4gPiA+ID4gPiA+IFsgIDEzMi42NTQxMzldICAgICAgICBrdGhy ZWFkKzB4MTJlLzB4MTUwCj4gPiA+ID4gPiA+ID4gPiBbICAxMzIuNjU0ODY4XSAgICAgICAgcmV0 X2Zyb21fZm9yaysweDI3LzB4NTAKPiA+ID4gPiA+ID4gPiA+IFsgIDEzMi42NTU1OThdCj4gPiA+ ID4gPiA+ID4gPiAgICAgICAgICAgICAgICBvdGhlciBpbmZvIHRoYXQgbWlnaHQgaGVscCB1cyBk ZWJ1ZyB0aGlzOgo+ID4gPiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4gPiA+IFsgIDEzMi42NTc3Mzld IENoYWluIGV4aXN0cyBvZjoKPiA+ID4gPiA+ID4gPiA+ICAgICAgICAgICAgICAgICAgY3J0Y193 d19jbGFzc19hY3F1aXJlIC0tPiBjcnRjX3d3X2NsYXNzX211dGV4IC0tPiBkbWFfZmVuY2VfbWFw Cj4gPiA+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiA+ID4gWyAgMTMyLjY1OTg3N10gIFBvc3NpYmxl IHVuc2FmZSBsb2NraW5nIHNjZW5hcmlvOgo+ID4gPiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4gPiA+ IFsgIDEzMi42NjE0MTZdICAgICAgICBDUFUwICAgICAgICAgICAgICAgICAgICBDUFUxCj4gPiA+ ID4gPiA+ID4gPiBbICAxMzIuNjYyMTI2XSAgICAgICAgLS0tLSAgICAgICAgICAgICAgICAgICAg LS0tLQo+ID4gPiA+ID4gPiA+ID4gWyAgMTMyLjY2Mjg0N10gICBsb2NrKGRtYV9mZW5jZV9tYXAp Owo+ID4gPiA+ID4gPiA+ID4gWyAgMTMyLjY2MzU3NF0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGxvY2soY3J0Y193d19jbGFzc19tdXRleCk7Cj4gPiA+ID4gPiA+ID4gPiBbICAxMzIu NjY0MzE5XSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9jayhkbWFfZmVuY2VfbWFw KTsKPiA+ID4gPiA+ID4gPiA+IFsgIDEzMi42NjUwNjNdICAgbG9jayhjcnRjX3d3X2NsYXNzX2Fj cXVpcmUpOwo+ID4gPiA+ID4gPiA+ID4gWyAgMTMyLjY2NTc5OV0KPiA+ID4gPiA+ID4gPiA+ICAg ICAgICAgICAgICAgICAqKiogREVBRExPQ0sgKioqCj4gPiA+ID4gPiA+ID4gPgo+ID4gPiA+ID4g PiA+ID4gWyAgMTMyLjY2Nzk2NV0gNCBsb2NrcyBoZWxkIGJ5IGt3b3JrZXIvMjozLzg2NToKPiA+ ID4gPiA+ID4gPiA+IFsgIDEzMi42Njg3MDFdICAjMDogZmZmZjg4ODdmYjgxYzkzOCAoKHdxX2Nv bXBsZXRpb24pZXZlbnRzKXsrLisufS17MDowfSwgYXQ6IHByb2Nlc3Nfb25lX3dvcmsrMHgxYmMv MHg1ODAKPiA+ID4gPiA+ID4gPiA+IFsgIDEzMi42Njk0NjJdICAjMTogZmZmZmM5MDAwMDY3N2U1 OCAoKHdvcmtfY29tcGxldGlvbikoJigmc2NoZWQtPndvcmtfdGRyKS0+d29yaykpeysuKy59LXsw OjB9LCBhdDogcHJvY2Vzc19vbmVfd29yaysweDFiYy8weDU4MAo+ID4gPiA+ID4gPiA+ID4gWyAg MTMyLjY3MDI0Ml0gICMyOiBmZmZmZmZmZjgyMzE4YzgwIChkbWFfZmVuY2VfbWFwKXsrKysrfS17 MDowfSwgYXQ6IGRybV9zY2hlZF9qb2JfdGltZWRvdXQrMHgyNS8weGYwIFtncHVfc2NoZWRdCj4g PiA+ID4gPiA+ID4gPiBbICAxMzIuNjcxMDM5XSAgIzM6IGZmZmY4ODg3Yjg0YTE3NDggKCZhZGV2 LT5sb2NrX3Jlc2V0KXsrLisufS17MzozfSwgYXQ6IGFtZGdwdV9kZXZpY2VfZ3B1X3JlY292ZXIu Y29sZCsweDU5ZS8weGU2NCBbYW1kZ3B1XQo+ID4gPiA+ID4gPiA+ID4gWyAgMTMyLjY3MTkwMl0K PiA+ID4gPiA+ID4gPiA+ICAgICAgICAgICAgICAgIHN0YWNrIGJhY2t0cmFjZToKPiA+ID4gPiA+ ID4gPiA+IFsgIDEzMi42NzM1MTVdIENQVTogMiBQSUQ6IDg2NSBDb21tOiBrd29ya2VyLzI6MyBU YWludGVkOiBHICAgICAgICBXICAgICAgICAgNS43LjAtcmMzKyAjMzQ2Cj4gPiA+ID4gPiA+ID4g PiBbICAxMzIuNjc0MzQ3XSBIYXJkd2FyZSBuYW1lOiBTeXN0ZW0gbWFudWZhY3R1cmVyIFN5c3Rl bSBQcm9kdWN0IE5hbWUvUFJJTUUgWDM3MC1QUk8sIEJJT1MgNDAxMSAwNC8xOS8yMDE4Cj4gPiA+ ID4gPiA+ID4gPiBbICAxMzIuNjc1MTk0XSBXb3JrcXVldWU6IGV2ZW50cyBkcm1fc2NoZWRfam9i X3RpbWVkb3V0IFtncHVfc2NoZWRdCj4gPiA+ID4gPiA+ID4gPiBbICAxMzIuNjc2MDQ2XSBDYWxs IFRyYWNlOgo+ID4gPiA+ID4gPiA+ID4gWyAgMTMyLjY3Njg5N10gIGR1bXBfc3RhY2srMHg4Zi8w eGQwCj4gPiA+ID4gPiA+ID4gPiBbICAxMzIuNjc3NzQ4XSAgY2hlY2tfbm9uY2lyY3VsYXIrMHgx NjIvMHgxODAKPiA+ID4gPiA+ID4gPiA+IFsgIDEzMi42Nzg2MDRdICA/IHN0YWNrX3RyYWNlX3Nh dmUrMHg0Yi8weDcwCj4gPiA+ID4gPiA+ID4gPiBbICAxMzIuNjc5NDU5XSAgX19sb2NrX2FjcXVp cmUrMHgxMjQxLzB4MjNmMAo+ID4gPiA+ID4gPiA+ID4gWyAgMTMyLjY4MDMxMV0gIGxvY2tfYWNx dWlyZSsweGFkLzB4MzcwCj4gPiA+ID4gPiA+ID4gPiBbICAxMzIuNjgxMTYzXSAgPyBkcm1fYXRv bWljX2hlbHBlcl9zdXNwZW5kKzB4MzgvMHgxMjAgW2RybV9rbXNfaGVscGVyXQo+ID4gPiA+ID4g PiA+ID4gWyAgMTMyLjY4MjAyMV0gID8gY3B1bWFza19uZXh0KzB4MTYvMHgyMAo+ID4gPiA+ID4g PiA+ID4gWyAgMTMyLjY4Mjg4MF0gID8gbW9kdWxlX2Fzc2VydF9tdXRleF9vcl9wcmVlbXB0KzB4 MTQvMHg0MAo+ID4gPiA+ID4gPiA+ID4gWyAgMTMyLjY4MzczN10gID8gX19tb2R1bGVfYWRkcmVz cysweDI4LzB4ZjAKPiA+ID4gPiA+ID4gPiA+IFsgIDEzMi42ODQ2MDFdICBkcm1fbW9kZXNldF9h Y3F1aXJlX2luaXQrMHhkMi8weDEwMCBbZHJtXQo+ID4gPiA+ID4gPiA+ID4gWyAgMTMyLjY4NTQ2 Nl0gID8gZHJtX2F0b21pY19oZWxwZXJfc3VzcGVuZCsweDM4LzB4MTIwIFtkcm1fa21zX2hlbHBl cl0KPiA+ID4gPiA+ID4gPiA+IFsgIDEzMi42ODYzMzVdICBkcm1fYXRvbWljX2hlbHBlcl9zdXNw ZW5kKzB4MzgvMHgxMjAgW2RybV9rbXNfaGVscGVyXQo+ID4gPiA+ID4gPiA+ID4gWyAgMTMyLjY4 NzI1NV0gIGRtX3N1c3BlbmQrMHgxYy8weDYwIFthbWRncHVdCj4gPiA+ID4gPiA+ID4gPiBbICAx MzIuNjg4MTUyXSAgYW1kZ3B1X2RldmljZV9pcF9zdXNwZW5kX3BoYXNlMSsweDgzLzB4ZTAgW2Ft ZGdwdV0KPiA+ID4gPiA+ID4gPiA+IFsgIDEzMi42ODkwNTddICA/IGFtZGdwdV9mZW5jZV9wcm9j ZXNzKzB4NGMvMHgxNTAgW2FtZGdwdV0KPiA+ID4gPiA+ID4gPiA+IFsgIDEzMi42ODk5NjNdICBh bWRncHVfZGV2aWNlX2lwX3N1c3BlbmQrMHgxYy8weDYwIFthbWRncHVdCj4gPiA+ID4gPiA+ID4g PiBbICAxMzIuNjkwODkzXSAgYW1kZ3B1X2RldmljZV9ncHVfcmVjb3Zlci5jb2xkKzB4NGU2LzB4 ZTY0IFthbWRncHVdCj4gPiA+ID4gPiA+ID4gPiBbICAxMzIuNjkxODE4XSAgYW1kZ3B1X2pvYl90 aW1lZG91dCsweGZiLzB4MTUwIFthbWRncHVdCj4gPiA+ID4gPiA+ID4gPiBbICAxMzIuNjkyNzA3 XSAgZHJtX3NjaGVkX2pvYl90aW1lZG91dCsweDhhLzB4ZjAgW2dwdV9zY2hlZF0KPiA+ID4gPiA+ ID4gPiA+IFsgIDEzMi42OTM1OTddICBwcm9jZXNzX29uZV93b3JrKzB4MjNjLzB4NTgwCj4gPiA+ ID4gPiA+ID4gPiBbICAxMzIuNjk0NDg3XSAgd29ya2VyX3RocmVhZCsweDUwLzB4M2IwCj4gPiA+ ID4gPiA+ID4gPiBbICAxMzIuNjk1MzczXSAgPyBwcm9jZXNzX29uZV93b3JrKzB4NTgwLzB4NTgw Cj4gPiA+ID4gPiA+ID4gPiBbICAxMzIuNjk2MjY0XSAga3RocmVhZCsweDEyZS8weDE1MAo+ID4g PiA+ID4gPiA+ID4gWyAgMTMyLjY5NzE1NF0gID8ga3RocmVhZF9jcmVhdGVfd29ya2VyX29uX2Nw dSsweDcwLzB4NzAKPiA+ID4gPiA+ID4gPiA+IFsgIDEzMi42OTgwNTddICByZXRfZnJvbV9mb3Jr KzB4MjcvMHg1MAo+ID4gPiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4gPiA+IENjOiBsaW51eC1tZWRp YUB2Z2VyLmtlcm5lbC5vcmcKPiA+ID4gPiA+ID4gPiA+IENjOiBsaW5hcm8tbW0tc2lnQGxpc3Rz LmxpbmFyby5vcmcKPiA+ID4gPiA+ID4gPiA+IENjOiBsaW51eC1yZG1hQHZnZXIua2VybmVsLm9y Zwo+ID4gPiA+ID4gPiA+ID4gQ2M6IGFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gPiA+ ID4gPiA+ID4gPiBDYzogaW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+ID4gPiA+ID4g PiA+ID4gQ2M6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgo+ID4gPiA+ ID4gPiA+ID4gQ2M6IE1hYXJ0ZW4gTGFua2hvcnN0IDxtYWFydGVuLmxhbmtob3JzdEBsaW51eC5p bnRlbC5jb20+Cj4gPiA+ID4gPiA+ID4gPiBDYzogQ2hyaXN0aWFuIEvDtm5pZyA8Y2hyaXN0aWFu LmtvZW5pZ0BhbWQuY29tPgo+ID4gPiA+ID4gPiA+ID4gU2lnbmVkLW9mZi1ieTogRGFuaWVsIFZl dHRlciA8ZGFuaWVsLnZldHRlckBpbnRlbC5jb20+Cj4gPiA+ID4gPiA+ID4gPiAtLS0KPiA+ID4g PiA+ID4gPiA+ICBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZGV2aWNlLmMgfCA4 ICsrKysrKysrCj4gPiA+ID4gPiA+ID4gPiAgMSBmaWxlIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygr KQo+ID4gPiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4gPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZGV2aWNlLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Ft ZGdwdS9hbWRncHVfZGV2aWNlLmMKPiA+ID4gPiA+ID4gPiA+IGluZGV4IDM1ODRlMjkzMjNjMC4u YjNiODRhMGQzYmFmIDEwMDY0NAo+ID4gPiA+ID4gPiA+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L2FtZC9hbWRncHUvYW1kZ3B1X2RldmljZS5jCj4gPiA+ID4gPiA+ID4gPiArKysgYi9kcml2ZXJz L2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZGV2aWNlLmMKPiA+ID4gPiA+ID4gPiA+IEBAIC0y NDE1LDYgKzI0MTUsMTQgQEAgc3RhdGljIGludCBhbWRncHVfZGV2aWNlX2lwX3N1c3BlbmRfcGhh c2UxKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KQo+ID4gPiA+ID4gPiA+ID4gICAgICAgICAg ICAgICAgIC8qIGRpc3BsYXlzIGFyZSBoYW5kbGVkIHNlcGFyYXRlbHkgKi8KPiA+ID4gPiA+ID4g PiA+ICAgICAgICAgICAgICAgICBpZiAoYWRldi0+aXBfYmxvY2tzW2ldLnZlcnNpb24tPnR5cGUg PT0gQU1EX0lQX0JMT0NLX1RZUEVfRENFKSB7Cj4gPiA+ID4gPiA+ID4gPiAgICAgICAgICAgICAg ICAgICAgICAgICAvKiBYWFggaGFuZGxlIGVycm9ycyAqLwo+ID4gPiA+ID4gPiA+ID4gKwo+ID4g PiA+ID4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgLyoKPiA+ID4gPiA+ID4gPiA+ICsg ICAgICAgICAgICAgICAgICAgICAgICAqIFRoaXMgaXMgZG1fc3VzcGVuZCwgd2hpY2ggY2FsbHMg bW9kZXNldCBsb2NrcywgYW5kCj4gPiA+ID4gPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAg ICAgKiB0aGF0IGEgcHJldHR5IGdvb2QgaW52ZXJzaW9uIGFnYWluc3QgZG1hX2ZlbmNlX3NpZ25h bAo+ID4gPiA+ID4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICogd2hpY2ggZ3B1IHJl Y292ZXJ5IGlzIHN1cHBvc2VkIHRvIGd1YXJhbnRlZS4KPiA+ID4gPiA+ID4gPiA+ICsgICAgICAg ICAgICAgICAgICAgICAgICAqCj4gPiA+ID4gPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAg ICAgKiBEb250IGFzayBtZSBob3cgdG8gZml4IHRoaXMuCj4gPiA+ID4gPiA+ID4gPiArICAgICAg ICAgICAgICAgICAgICAgICAgKi8KPiA+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiA+IFdlIGFjdHVh bGx5IGhhdmUgYSBmaXggZm9yIHRoaXMuICBXaWxsIGJlIG91dCBzaG9ydGx5Lgo+ID4gPiA+ID4g Pgo+ID4gPiA+ID4gPiBTcG9pbGVycz8gU29saWQgd2F5IGlzIHRvIHNpZGVzdGVjayB0aGUgZW50 aXJlIHRoaW5nIGJ5IGF2b2lkaW5nIHRvIHJlc2V0Cj4gPiA+ID4gPiA+IHRoZSBkaXNwbGF5IGJs b2NrIGVudGlyZWx5LiBGaXhpbmcgdGhlIGxvY2tpbmcgd2hpbGUgc3RpbGwgcmVzZXR0aW5nIHRo ZQo+ID4gPiA+ID4gPiBkaXNwbGF5IGlzIGdvaW5nIHRvIGJlIHJlYWxseSBoYXJkIG90b2ggLi4u Cj4gPiA+ID4gPgo+ID4gPiA+ID4gVGhlcmUncyBubyB3YXkgdG8gYXZvaWQgdGhhdC4gIE9uIGRH UFVzIGF0IGxlYXN0IGEgZnVsbCBhc2ljIHJlc2V0IGlzCj4gPiA+ID4gPiBhIGZ1bGwgYXNpYyBy ZXNldC4gIE1vc3RseSBqdXN0IHNraXBzIHRoZSBtb2Rlc2V0IGFuZCBkb2VzIHRoZSBtaW5pbXVt Cj4gPiA+ID4gPiBhbW91bnQgbmVjZXNzYXJ5IHRvIGdldCB0aGUgZGlzcGxheSBibG9jayBpbnRv IGEgZ29vZCBzdGF0ZSBmb3IgcmVzZXQuCj4gPiA+ID4KPiA+ID4gPiBCdXQgaG93IGRvIHlvdSBy ZXN0b3JlIHRoZSBkaXNwbGF5IGFmdGVyd2FyZHM/ICJbUkZDIDEzLzE3XQo+ID4gPiA+IGRybS9z Y2hlZHVsZXI6IHVzZSBkbWEtZmVuY2UgYW5ub3RhdGlvbnMgaW4gdGRyIHdvcmsiIGVhcmxpZXIg aW4gdGhlCj4gPiA+ID4gc2VyaWVzIGhhcyBzb21lIGlkZWFzIGZyb20gbWUgZm9yIGF0IGxlYXN0 Cj4gPiA+ID4gc29tZSBvZiB0aGUgcHJvYmxlbXMgZm9yIHRkciB3aGVuIHRoZSBkaXNwbGF5IGdl dHMgcmVzZXQgYWxvbmcuCj4gPiA+ID4gV2hhY2tpbmcgdGhlIGRpc3BsYXkgd2hpbGUgYSBtb2Rl c2V0L2ZsaXAvd2hhdGV2ZXIgaXMgb25nb2luZwo+ID4gPiA+IGNvbmN1cnJlbnRseSBkb2Vzbid0 IHNvdW5kIGxpa2UgYSBnb29kIGlkZWEsIHNvIG5vdCBzdXJlIGhvdyB5b3UgY2FuCj4gPiA+ID4g ZG8gdGhhdCB3aXRob3V0IHRha2luZyB0aGUgZHJtX21vZGVzZXRfbG9ja3MuIEFuZCBvbmNlIHlv dSBkbyB0aGF0LAo+ID4gPiA+IGl0J3MgZGVhZGxvY2sgdGltZS4KPiA+ID4KPiA+ID4gV2UgY2Fj aGUgdGhlIGN1cnJlbnQgZGlzcGxheSBodyBzdGF0ZSBhbmQgcmVzdG9yZSBpdCBhZnRlciB0aGUg cmVzZXQKPiA+ID4gd2l0aG91dCBnb2luZyB0aHJvdWdoIHRoZSBhdG9taWMgaW50ZXJmYWNlcyBz byBldmVyeXRoaW5nIGlzIGJhY2sgdGhlCj4gPiA+IHdheSBpdCB3YXMgYmVmb3JlIHRoZSByZXNl dC4KPiA+Cj4gPiBIbSB0aGlzIHNvdW5kcyBpbnRlcmVzdGluZyAuLi4gaG93IGRvIHlvdSBtYWtl IHN1cmUgYSBjb25jdXJyZW50Cj4gPiBhdG9taWMgdXBkYXRlIGRvZXNuJ3QgdHJhbXBsZSBvdmVy IHRoZSBzYW1lIG1taW8gcmVnaXN0ZXJzIHdoaWxlIHlvdQo+ID4gZG8gdGhhdCBkYW5jZT8KPgo+ IFdlIHRha2UgdGhlIGRtLT5kY19sb2NrIGFjcm9zcyB0aGUgcmVzZXQuCgpPayBpZiB0aGF0J3Mg YW4gaW5uZXJtb3N0IGxvY2sgYW5kIHlvdSBkb24ndCBkbyBhbnkgZG1hX2ZlbmNlX3dhaXQoKQp3 aGlsZSBob2xkaW5nIHRoYXQgKG9yIGFueXRoaW5nIHRoYXQgc29tZWhvdyBkZXBlbmRzIHVwb24g dGhhdCBhZ2FpbikKSSB0aGluayB0aGF0IHNob3VsZCB3b3JrLiBGcm9tIGEgcXVpY2sgbG9vayBh dCBjdXJyZW50IGNvZGUgaW4KZHJtLW5leHQgdGhhdCBzZWVtcyB0byBiZSB0aGUgY2FzZS4gQnV0 IHdvdWxkIGJlIGdvb2QgdG8gY2hlY2sgd2l0aCBteQphbm5vdGF0aW9ucyB3aGV0aGVyIGV2ZXJ5 dGhpbmcgaXMgcGxhY2VkIGNvcnJlY3RseSAob3IgbWF5YmUgdGhlcmUncyBhCmJ1ZyBpbiBteSBh bm5vdGF0aW9ucykuCgpJIHN0aWxsIHRoaW5rIHNvbWV0aGluZyBsaWtlIEkgZGVzY3JpYmVkIGlu IHRoZSBkcm0vc2NoZWR1bGVyIHBhdGNoLAp3aGljaCB3b3VsZCBhbGxvdyB1cyB0byB0YWtlIGRy bV9tb2Rlc2V0X2xvY2tzIGluIHRkciBwYXRoLCB3b3VsZCBiZSBhCmNsZWFuZXIgYW5kIG1vcmUg cm9idXN0IHNvbHV0aW9uIGxvbmdlciB0ZXJtLiBGb3JjaW5nIGRyaXZlcnMgdG8gZG8KdGhlaXIg b3duIG1vZGVzZXQgc3RhdGUgbG9va2luZyBqdXN0IGRvZXNuJ3QgZmVlbCB0aGF0IGF3ZXNvbWUg Li4uIEkKZ3Vlc3MgdGhhdCBhbHNvIGRlcGVuZHMgdXBvbiBob3cgbWFueSBvdGhlciBkcml2ZXJz IGhhdmUgdGhpcyBwcm9ibGVtLgoKPiA+ID4gSUlSQywgd2hlbiB3ZSByZXNldCB0aGUgcmVzZXQg b2YgdGhlCj4gPiA+IEdQVSwgd2UgZGlzY29ubmVjdCB0aGUgZmVuY2VzLCBhbmQgdGhlbiByZS1h dHRhY2ggdGhlbSBhZnRlciBhIHJlc2V0Lgo+ID4KPiA+IFdoZXJlIGlzIHRoYXQgY29kZT8gU2lu Y2UgSSdtIG5vdCBzdXJlIGhvdyB5b3UgY2FuIG1ha2UgdGhhdCB3b3JrCj4gPiB3aXRob3V0IGdl dHRpbmcgc3R1Y2sgaW4gYW5vdGhlciBraW5kIG9mIGRlYWRsb2NrIGluIHRkci4gQnV0IG1heWJl Cj4gPiB0aGUgY29kZSBoYXMgc29tZSBjbGV2ZXIgdHJpY2sgdG8gcHVsbCB0aGF0IG9mZiBzb21l aG93Lgo+Cj4gVGhlIEdQVSBzY2hlZHVsZXIuICBkcm1fc2NoZWRfc3RvcCwgZHJtX3NjaGVkX3Jl c3VibWl0X2pvYnMsIGFuZAo+IGRybV9zY2hlZF9zdGFydC4KClRoYXQgc2VlbXMgdG8ganVzdCBi ZSBhYm91dCB0aGUgc2NoZWR1bGVyLWludGVybmFsIGZlbmNlcy4gVGhhdAp0cmFja2luZyB5b3Ug a2luZGEgaGF2ZSB0byB0aHJvdyBhd2F5IGFuZCByZXN0YXJ0IHdpdGggYSByZXNldC4gQnV0IEkK ZG9uJ3QgdGhpbmsgdGhlc2UgYXJlIHRoZSBmZW5jZXMgdmlzaWJsZSB0byBvdGhlciBwbGFjZXMs IGxpa2UgaW4KZG1hX3Jlc3Ygb3IgZHJtX3N5bmNvYmogb3Igd2hlcmV2ZXIuCi1EYW5pZWwKCj4g QWxleAo+Cj4KPiA+IC1EYW5pZWwKPiA+Cj4gPiA+Cj4gPiA+IEFsZXgKPiA+ID4KPiA+ID4gPiAt RGFuaWVsCj4gPiA+ID4gLS0KPiA+ID4gPiBEYW5pZWwgVmV0dGVyCj4gPiA+ID4gU29mdHdhcmUg RW5naW5lZXIsIEludGVsIENvcnBvcmF0aW9uCj4gPiA+ID4gKzQxICgwKSA3OSAzNjUgNTcgNDgg LSBodHRwOi8vYmxvZy5mZndsbC5jaAo+ID4KPiA+Cj4gPgo+ID4gLS0KPiA+IERhbmllbCBWZXR0 ZXIKPiA+IFNvZnR3YXJlIEVuZ2luZWVyLCBJbnRlbCBDb3Jwb3JhdGlvbgo+ID4gKzQxICgwKSA3 OSAzNjUgNTcgNDggLSBodHRwOi8vYmxvZy5mZndsbC5jaAoKCgotLSAKRGFuaWVsIFZldHRlcgpT b2Z0d2FyZSBFbmdpbmVlciwgSW50ZWwgQ29ycG9yYXRpb24KKzQxICgwKSA3OSAzNjUgNTcgNDgg LSBodHRwOi8vYmxvZy5mZndsbC5jaApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVl ZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5m by9pbnRlbC1nZngK