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 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id B7D23C433EF for ; Mon, 4 Apr 2022 16:37:36 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:Content-Type: Content-Transfer-Encoding:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:From:References:Cc:To:Subject: MIME-Version:Date:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=KEIth+NmMiRu0tE6bfWyTLxWIuUx14vA2dd1pSjETb0=; b=lMFHaplkzjYD8O sNitH73ygOB9KvRb8SkMdvg1GCn/g7gJwZO5HoWWIhg5Q5kb5q/XPgNBXHdDZHpgGPjRS2By3Bgp5 L6pBkoo2/8YbJm/Th/k1QOAwXcjI4JyC427zjD1RSGtF4lCCxrnb8uBmC64ZngSEu6/WHqDrcnND+ n1KCIoZGmFTho4oaRGLH1jSYmwsTVmSztHUgIp0Ynf0xiFCTSDlpCeNwboONsnPg9MQY/dm/oj5J7 lApo9+klYHRv9eb1LLNSlepDQuRzVPWNVoARUuX1lhlBuB9y2iqnRDhjxMcIWvJj0TDc0IbUx7wJM z2TtPjRCywLMh9V8MJUQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1nbPgm-00FpDS-DN; Mon, 04 Apr 2022 16:36:24 +0000 Received: from bhuna.collabora.co.uk ([46.235.227.227]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1nbPgh-00FpCW-SD for linux-arm-kernel@lists.infradead.org; Mon, 04 Apr 2022 16:36:23 +0000 Received: from [IPV6:2a01:e0a:120:3210:52e1:bbc1:ca8:7fa9] (unknown [IPv6:2a01:e0a:120:3210:52e1:bbc1:ca8:7fa9]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: benjamin.gaignard) by bhuna.collabora.co.uk (Postfix) with ESMTPSA id EB91B1F44385; Mon, 4 Apr 2022 17:36:15 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1649090176; bh=MjFXckYarAYVYMiX/hbqr2pm8QEBHSAUWT0XXvIFBjM=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From; b=HcBPgHD99KKzsk3Dw9IYHS75grL5BrXcSroHY6Mhi7xxPWwpF4aYibu6/VFw8cNNS JKeBqnCS66SFMem0UxetTQOaEdVUKd0dFsVzrSpU88SByvVmmcSasEz4MxQFG6kn7A 72ikmbV6h1k1b378TIHZGEPTbIGCMqkR/gdrQia+lFueyhnD/q6kaHMM7IGVEdIti1 UByASanx6sEFVjY9lT8pMPmA2/Z4/6p4kXxD5mKcBVXSsO3I3g5sBOh6T6+Q4MjMSo txjqEr1lOvJcDdB/yVK2MbGTeFzJOwg92Pr1Mn+cONN90mv1pU0Q4sNmx3DAaPuENy PVzTvTqNCOgoQ== Message-ID: <8c5745f7-2b56-d10d-de87-607f2d96a79d@collabora.com> Date: Mon, 4 Apr 2022 18:36:13 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.7.0 Subject: Re: [PATCH v4 06/15] media: uapi: HEVC: Add document uAPI structure Content-Language: en-US To: Nicolas Dufresne , mchehab@kernel.org, ezequiel@vanguardiasur.com.ar, p.zabel@pengutronix.de, gregkh@linuxfoundation.org, mripard@kernel.org, paul.kocialkowski@bootlin.com, wens@csie.org, jernej.skrabec@gmail.com, jonas@kwiboo.se Cc: linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, linux-staging@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-sunxi@lists.linux.dev, kernel@collabora.com, knaerzche@gmail.com, jc@kynesim.co.uk References: <20220228140838.622021-1-benjamin.gaignard@collabora.com> <20220228140838.622021-7-benjamin.gaignard@collabora.com> <9fc8c5e8aefdfdefebd9f1d389d0892c361d9b3f.camel@ndufresne.ca> From: Benjamin Gaignard In-Reply-To: <9fc8c5e8aefdfdefebd9f1d389d0892c361d9b3f.camel@ndufresne.ca> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220404_093620_234041_7ADC7307 X-CRM114-Status: GOOD ( 23.79 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org CkxlIDA0LzA0LzIwMjIgw6AgMTg6MjAsIE5pY29sYXMgRHVmcmVzbmUgYSDDqWNyaXTCoDoKPiBM ZSBsdW5kaSAyOCBmw6l2cmllciAyMDIyIMOgIDE1OjA4ICswMTAwLCBCZW5qYW1pbiBHYWlnbmFy ZCBhIMOpY3JpdMKgOgo+PiBBZGQga2VybmVsLWRvYyBkb2N1bWVudGF0aW9uIGZvciBhbGwgdGhl IEhFVkMgc3RydWN0dXJlcy4KPj4KPj4gU2lnbmVkLW9mZi1ieTogQmVuamFtaW4gR2FpZ25hcmQg PGJlbmphbWluLmdhaWduYXJkQGNvbGxhYm9yYS5jb20+Cj4+IC0tLQo+PiBWZXJzaW9uIDQ6Cj4+ IC0gRml4IHNwYWNlL3RhYiBpc3N1ZSBpbiBrZXJuZWwtZG9jCj4+Cj4+ICAgLi4uL21lZGlhL3Y0 bC9leHQtY3RybHMtY29kZWMucnN0ICAgICAgICAgICAgIHwgMTU2ICsrKysrKystLS0tLS0KPj4g ICBpbmNsdWRlL21lZGlhL2hldmMtY3RybHMuaCAgICAgICAgICAgICAgICAgICAgfCAyMTcgKysr KysrKysrKysrKysrKystCj4+ICAgMiBmaWxlcyBjaGFuZ2VkLCAzMDQgaW5zZXJ0aW9ucygrKSwg NjkgZGVsZXRpb25zKC0pCj4+Cj4+IGRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL3VzZXJzcGFj ZS1hcGkvbWVkaWEvdjRsL2V4dC1jdHJscy1jb2RlYy5yc3QgYi9Eb2N1bWVudGF0aW9uL3VzZXJz cGFjZS1hcGkvbWVkaWEvdjRsL2V4dC1jdHJscy1jb2RlYy5yc3QKPj4gaW5kZXggYWNmNDk0MjBl NTZkLi5hYzEzYTNlYjg1YzIgMTAwNjQ0Cj4+IC0tLSBhL0RvY3VtZW50YXRpb24vdXNlcnNwYWNl LWFwaS9tZWRpYS92NGwvZXh0LWN0cmxzLWNvZGVjLnJzdAo+PiArKysgYi9Eb2N1bWVudGF0aW9u L3VzZXJzcGFjZS1hcGkvbWVkaWEvdjRsL2V4dC1jdHJscy1jb2RlYy5yc3QKPj4gQEAgLTI2NzMs NzAgKzI2NzMsNzYgQEAgZW51bSB2NGwyX21wZWdfdmlkZW9faGV2Y19zaXplX29mX2xlbmd0aF9m aWVsZCAtCj4+ICAgICAgICAgICBvZiBILjI2NSBzcGVjaWZpY2F0aW9ucy4KPj4gICAgICAgKiAt IF9fdTE2Cj4+ICAgICAgICAgLSBgYHBpY193aWR0aF9pbl9sdW1hX3NhbXBsZXNgYAo+PiAtICAg ICAgLQo+PiArICAgICAgLSBTcGVjaWZpZXMgdGhlIHdpZHRoIG9mIGVhY2ggZGVjb2RlZCBwaWN0 dXJlIGluIHVuaXRzIG9mIGx1bWEgc2FtcGxlcy4KPj4gICAgICAgKiAtIF9fdTE2Cj4+ICAgICAg ICAgLSBgYHBpY19oZWlnaHRfaW5fbHVtYV9zYW1wbGVzYGAKPj4gLSAgICAgIC0KPj4gKyAgICAg IC0gU3BlY2lmaWVzIHRoZSBoZWlnaHQgb2YgZWFjaCBkZWNvZGVkIHBpY3R1cmUgaW4gdW5pdHMg b2YgbHVtYSBzYW1wbGVzLgo+PiAgICAgICAqIC0gX191OAo+PiAgICAgICAgIC0gYGBiaXRfZGVw dGhfbHVtYV9taW51czhgYAo+PiAtICAgICAgLQo+PiArICAgICAgLSBTcGVjaWZpZXMgdGhlIGJp dCBkZXB0aCBvZiB0aGUgc2FtcGxlcyBvZiB0aGUgbHVtYSBhcnJheS4KPj4gICAgICAgKiAtIF9f dTgKPj4gICAgICAgICAtIGBgYml0X2RlcHRoX2Nocm9tYV9taW51czhgYAo+PiAtICAgICAgLQo+ PiArICAgICAgLSBTcGVjaWZpZXMgdGhlIGJpdCBkZXB0aCBvZiB0aGUgc2FtcGxlcyBvZiB0aGUg Y2hyb21hIGFycmF5cy4KPj4gICAgICAgKiAtIF9fdTgKPj4gICAgICAgICAtIGBgbG9nMl9tYXhf cGljX29yZGVyX2NudF9sc2JfbWludXM0YGAKPj4gLSAgICAgIC0KPj4gKyAgICAgIC0gU3BlY2lm aWVzIHRoZSB2YWx1ZSBvZiB0aGUgdmFyaWFibGUgTWF4UGljT3JkZXJDbnRMc2IuCj4+ICAgICAg ICogLSBfX3U4Cj4+ICAgICAgICAgLSBgYHNwc19tYXhfZGVjX3BpY19idWZmZXJpbmdfbWludXMx YGAKPj4gLSAgICAgIC0KPj4gKyAgICAgIC0gUGx1cyAxIHNwZWNpZmllcyB0aGUgbWF4aW11bSBy ZXF1aXJlZCBzaXplIG9mIHRoZSBkZWNvZGVkIHBpY3R1cmUgYnVmZmVyIGZvcgo+PiArICAgICAg ICB0aGUgQ1ZTCj4+ICAgICAgICogLSBfX3U4Cj4+ICAgICAgICAgLSBgYHNwc19tYXhfbnVtX3Jl b3JkZXJfcGljc2BgCj4+IC0gICAgICAtCj4+ICsgICAgICAtIEluZGljYXRlcyB0aGUgbWF4aW11 bSBhbGxvd2VkIG51bWJlciBvZiBwaWN0dXJlcy4KPj4gICAgICAgKiAtIF9fdTgKPj4gICAgICAg ICAtIGBgc3BzX21heF9sYXRlbmN5X2luY3JlYXNlX3BsdXMxYGAKPj4gLSAgICAgIC0KPj4gKyAg ICAgIC0gTm90IGVxdWFsIHRvIDAgaXMgdXNlZCB0byBjb21wdXRlIHRoZSB2YWx1ZSBvZiBTcHNN YXhMYXRlbmN5UGljdHVyZXNbaV0uCj4+ICAgICAgICogLSBfX3U4Cj4+ICAgICAgICAgLSBgYGxv ZzJfbWluX2x1bWFfY29kaW5nX2Jsb2NrX3NpemVfbWludXMzYGAKPj4gLSAgICAgIC0KPj4gKyAg ICAgIC0gUGx1cyAzIHNwZWNpZmllcyB0aGUgbWluaW11bSBsdW1hIGNvZGluZyBibG9jayBzaXpl Lgo+PiAgICAgICAqIC0gX191OAo+PiAgICAgICAgIC0gYGBsb2cyX2RpZmZfbWF4X21pbl9sdW1h X2NvZGluZ19ibG9ja19zaXplYGAKPj4gLSAgICAgIC0KPj4gKyAgICAgIC0gU3BlY2lmaWVzIHRo ZSBkaWZmZXJlbmNlIGJldHdlZW4gdGhlIG1heGltdW0gYW5kIG1pbmltdW0gbHVtYSBjb2Rpbmcg YmxvY2sgc2l6ZS4KPj4gICAgICAgKiAtIF9fdTgKPj4gICAgICAgICAtIGBgbG9nMl9taW5fbHVt YV90cmFuc2Zvcm1fYmxvY2tfc2l6ZV9taW51czJgYAo+PiAtICAgICAgLQo+PiArICAgICAgLSBQ bHVzIDIgc3BlY2lmaWVzIHRoZSBtaW5pbXVtIGx1bWEgdHJhbnNmb3JtIGJsb2NrIHNpemUuCj4+ ICAgICAgICogLSBfX3U4Cj4+ICAgICAgICAgLSBgYGxvZzJfZGlmZl9tYXhfbWluX2x1bWFfdHJh bnNmb3JtX2Jsb2NrX3NpemVgYAo+PiAtICAgICAgLQo+PiArICAgICAgLSBTcGVjaWZpZXMgdGhl IGRpZmZlcmVuY2UgYmV0d2VlbiB0aGUgbWF4aW11bSBhbmQgbWluaW11bSBsdW1hIHRyYW5zZm9y bSBibG9jayBzaXplLgo+PiAgICAgICAqIC0gX191OAo+PiAgICAgICAgIC0gYGBtYXhfdHJhbnNm b3JtX2hpZXJhcmNoeV9kZXB0aF9pbnRlcmBgCj4+IC0gICAgICAtCj4+ICsgICAgICAtIFNwZWNp ZmllcyB0aGUgbWF4aW11bSBoaWVyYXJjaHkgZGVwdGggZm9yIHRyYW5zZm9ybSB1bml0cyBvZiBj b2RpbmcgdW5pdHMgY29kZWQKPj4gKyAgICAgICAgaW4gaW50ZXIgcHJlZGljdGlvbiBtb2RlLgo+ PiAgICAgICAqIC0gX191OAo+PiAgICAgICAgIC0gYGBtYXhfdHJhbnNmb3JtX2hpZXJhcmNoeV9k ZXB0aF9pbnRyYWBgCj4+IC0gICAgICAtCj4+ICsgICAgICAtIFNwZWNpZmllcyB0aGUgbWF4aW11 bSBoaWVyYXJjaHkgZGVwdGggZm9yIHRyYW5zZm9ybSB1bml0cyBvZiBjb2RpbmcgdW5pdHMgY29k ZWQgaW4KPj4gKyAgICAgICAgaW50cmEgcHJlZGljdGlvbiBtb2RlLgo+PiAgICAgICAqIC0gX191 OAo+PiAgICAgICAgIC0gYGBwY21fc2FtcGxlX2JpdF9kZXB0aF9sdW1hX21pbnVzMWBgCj4+IC0g ICAgICAtCj4+ICsgICAgICAtIFNwZWNpZmllcyB0aGUgbnVtYmVyIG9mIGJpdHMgdXNlZCB0byBy ZXByZXNlbnQgZWFjaCBvZiBQQ00gc2FtcGxlIHZhbHVlcyBvZiB0aGUKPj4gKyAgICAgICAgbHVt YSBjb21wb25lbnQuCj4+ICAgICAgICogLSBfX3U4Cj4+ICAgICAgICAgLSBgYHBjbV9zYW1wbGVf Yml0X2RlcHRoX2Nocm9tYV9taW51czFgYAo+PiAtICAgICAgLQo+PiArICAgICAgLSBTcGVjaWZp ZXMgdGhlIG51bWJlciBvZiBiaXRzIHVzZWQgdG8gcmVwcmVzZW50IGVhY2ggb2YgUENNIHNhbXBs ZSB2YWx1ZXMgb2YKPj4gKyAgICAgICAgdGhlIGNocm9tYSBjb21wb25lbnRzLgo+PiAgICAgICAq IC0gX191OAo+PiAgICAgICAgIC0gYGBsb2cyX21pbl9wY21fbHVtYV9jb2RpbmdfYmxvY2tfc2l6 ZV9taW51czNgYAo+PiAtICAgICAgLQo+PiArICAgICAgLSBQbHVzIDMgc3BlY2lmaWVzIHRoZSBt aW5pbXVtIHNpemUgb2YgY29kaW5nIGJsb2Nrcy4KPj4gICAgICAgKiAtIF9fdTgKPj4gICAgICAg ICAtIGBgbG9nMl9kaWZmX21heF9taW5fcGNtX2x1bWFfY29kaW5nX2Jsb2NrX3NpemVgYAo+PiAt ICAgICAgLQo+PiArICAgICAgLSBTcGVjaWZpZXMgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGUg bWF4aW11bSBhbmQgbWluaW11bSBzaXplIG9mIGNvZGluZyBibG9ja3MuCj4+ICAgICAgICogLSBf X3U4Cj4+ICAgICAgICAgLSBgYG51bV9zaG9ydF90ZXJtX3JlZl9waWNfc2V0c2BgCj4+IC0gICAg ICAtCj4+ICsgICAgICAtIFNwZWNpZmllcyB0aGUgbnVtYmVyIG9mIHN0X3JlZl9waWNfc2V0KCkg c3ludGF4IHN0cnVjdHVyZXMgaW5jbHVkZWQgaW4gdGhlIFNQUy4KPj4gICAgICAgKiAtIF9fdTgK Pj4gICAgICAgICAtIGBgbnVtX2xvbmdfdGVybV9yZWZfcGljc19zcHNgYAo+PiAtICAgICAgLQo+ PiArICAgICAgLSBTcGVjaWZpZXMgdGhlIG51bWJlciBvZiBjYW5kaWRhdGUgbG9uZy10ZXJtIHJl ZmVyZW5jZSBwaWN0dXJlcyB0aGF0IGFyZQo+PiArICAgICAgICBzcGVjaWZpZWQgaW4gdGhlIFNQ Uy4KPj4gICAgICAgKiAtIF9fdTgKPj4gICAgICAgICAtIGBgY2hyb21hX2Zvcm1hdF9pZGNgYAo+ PiAtICAgICAgLQo+PiArICAgICAgLSBTcGVjaWZpZXMgdGhlIGNocm9tYSBzYW1wbGluZy4KPj4g ICAgICAgKiAtIF9fdTgKPj4gICAgICAgICAtIGBgc3BzX21heF9zdWJfbGF5ZXJzX21pbnVzMWBg Cj4+IC0gICAgICAtCj4+ICsgICAgICAtIHBsdXMgMSBzcGVjaWZpZXMgdGhlIG1heGltdW0gbnVt YmVyIG9mIHRlbXBvcmFsIHN1Yi1sYXllcnMuCj4+ICAgICAgICogLSBfX3U2NAo+PiAgICAgICAg IC0gYGBmbGFnc2BgCj4+ICAgICAgICAgLSBTZWUgOnJlZjpgU2VxdWVuY2UgUGFyYW1ldGVyIFNl dCBGbGFncyA8aGV2Y19zcHNfZmxhZ3M+YAo+PiBAQCAtMjgxNSw3ICsyODIxLDggQEAgZW51bSB2 NGwyX21wZWdfdmlkZW9faGV2Y19zaXplX29mX2xlbmd0aF9maWVsZCAtCj4+ICAgICAgICAgLSBJ ZGVudGlmaWVzIHRoZSBQUFMgZm9yIHJlZmVyZW5jZSBieSBvdGhlciBzeW50YXggZWxlbWVudHMu Cj4+ICAgICAgICogLSBfX3U4Cj4+ICAgICAgICAgLSBgYG51bV9leHRyYV9zbGljZV9oZWFkZXJf Yml0c2BgCj4+IC0gICAgICAtCj4+ICsgICAgICAtIFNwZWNpZmllcyB0aGUgbnVtYmVyIG9mIGV4 dHJhIHNsaWNlIGhlYWRlciBiaXRzIHRoYXQgYXJlIHByZXNlbnQKPj4gKyAgICAgICAgaW4gdGhl IHNsaWNlIGhlYWRlciBSQlNQIGZvciBjb2RlZCBwaWN0dXJlcyByZWZlcnJpbmcgdG8gdGhlIFBQ Uy4KPj4gICAgICAgKiAtIF9fdTgKPj4gICAgICAgICAtIGBgbnVtX3JlZl9pZHhfbDBfZGVmYXVs dF9hY3RpdmVfbWludXMxYGAKPj4gICAgICAgICAtIFNwZWNpZmllcyB0aGUgaW5mZXJyZWQgdmFs dWUgb2YgbnVtX3JlZl9pZHhfbDBfYWN0aXZlX21pbnVzMQo+PiBAQCAtMjgyNCwzNyArMjgzMSw0 MiBAQCBlbnVtIHY0bDJfbXBlZ192aWRlb19oZXZjX3NpemVfb2ZfbGVuZ3RoX2ZpZWxkIC0KPj4g ICAgICAgICAtIFNwZWNpZmllcyB0aGUgaW5mZXJyZWQgdmFsdWUgb2YgbnVtX3JlZl9pZHhfbDFf YWN0aXZlX21pbnVzMQo+PiAgICAgICAqIC0gX19zOAo+PiAgICAgICAgIC0gYGBpbml0X3FwX21p bnVzMjZgYAo+PiAtICAgICAgLQo+PiArICAgICAgLSBQbHVzIDI2IHNwZWNpZmllcyB0aGUgaW5p dGlhbCB2YWx1ZSBvZiBTbGljZVFwIFkgZm9yIGVhY2ggc2xpY2UKPj4gKyAgICAgICAgcmVmZXJy aW5nIHRvIHRoZSBQUFMuCj4+ICAgICAgICogLSBfX3U4Cj4+ICAgICAgICAgLSBgYGRpZmZfY3Vf cXBfZGVsdGFfZGVwdGhgYAo+PiAtICAgICAgLQo+PiArICAgICAgLSBTcGVjaWZpZXMgdGhlIGRp ZmZlcmVuY2UgYmV0d2VlbiB0aGUgbHVtYSBjb2RpbmcgdHJlZSBibG9jayBzaXplCj4+ICsgICAg ICAgIGFuZCB0aGUgbWluaW11bSBsdW1hIGNvZGluZyBibG9jayBzaXplIG9mIGNvZGluZyB1bml0 cyB0aGF0Cj4+ICsgICAgICAgIGNvbnZleSBjdV9xcF9kZWx0YV9hYnMgYW5kIGN1X3FwX2RlbHRh X3NpZ25fZmxhZy4KPj4gICAgICAgKiAtIF9fczgKPj4gICAgICAgICAtIGBgcHBzX2NiX3FwX29m ZnNldGBgCj4+IC0gICAgICAtCj4+ICsgICAgICAtIFNwZWNpZnkgdGhlIG9mZnNldHMgdG8gdGhl IGx1bWEgcXVhbnRpemF0aW9uIHBhcmFtZXRlciBDYi4KPj4gICAgICAgKiAtIF9fczgKPj4gICAg ICAgICAtIGBgcHBzX2NyX3FwX29mZnNldGBgCj4+IC0gICAgICAtCj4+ICsgICAgICAtIFNwZWNp ZnkgdGhlIG9mZnNldHMgdG8gdGhlIGx1bWEgcXVhbnRpemF0aW9uIHBhcmFtZXRlciBDci4KPj4g ICAgICAgKiAtIF9fdTgKPj4gICAgICAgICAtIGBgbnVtX3RpbGVfY29sdW1uc19taW51czFgYAo+ PiAtICAgICAgLQo+PiArICAgICAgLSBQbHVzIDEgc3BlY2lmaWVzIHRoZSBudW1iZXIgb2YgdGls ZSBjb2x1bW5zIHBhcnRpdGlvbmluZyB0aGUgcGljdHVyZS4KPj4gICAgICAgKiAtIF9fdTgKPj4g ICAgICAgICAtIGBgbnVtX3RpbGVfcm93c19taW51czFgYAo+PiAtICAgICAgLQo+PiArICAgICAg LSBQbHVzIDEgc3BlY2lmaWVzIHRoZSBudW1iZXIgb2YgdGlsZSByb3dzIHBhcnRpdGlvbmluZyB0 aGUgcGljdHVyZS4KPj4gICAgICAgKiAtIF9fdTgKPj4gICAgICAgICAtIGBgY29sdW1uX3dpZHRo X21pbnVzMVsyMF1gYAo+PiAtICAgICAgLQo+PiArICAgICAgLSBQbHVzIDEgc3BlY2lmaWVzIHRo ZSB3aWR0aCBvZiB0aGUgaS10aCB0aWxlIGNvbHVtbiBpbiB1bml0cyBvZgo+PiArICAgICAgICBj b2RpbmcgdHJlZSBibG9ja3MuCj4+ICAgICAgICogLSBfX3U4Cj4+ICAgICAgICAgLSBgYHJvd19o ZWlnaHRfbWludXMxWzIyXWBgCj4+IC0gICAgICAtCj4+ICsgICAgICAtIFBsdXMgMSBzcGVjaWZp ZXMgdGhlIGhlaWdodCBvZiB0aGUgaS10aCB0aWxlIHJvdyBpbiB1bml0cyBvZiBjb2RpbmcKPj4g KyAgICAgICAgdHJlZSBibG9ja3MuCj4+ICAgICAgICogLSBfX3M4Cj4+ICAgICAgICAgLSBgYHBw c19iZXRhX29mZnNldF9kaXYyYGAKPj4gLSAgICAgIC0KPj4gKyAgICAgIC0gU3BlY2lmeSB0aGUg ZGVmYXVsdCBkZWJsb2NraW5nIHBhcmFtZXRlciBvZmZzZXRzIGZvciBiZXRhIGRpdmlkZWQgYnkg Mi4KPj4gICAgICAgKiAtIF9fczgKPj4gICAgICAgICAtIGBgcHBzX3RjX29mZnNldF9kaXYyYGAK Pj4gLSAgICAgIC0KPj4gKyAgICAgIC0gU3BlY2lmeSB0aGUgZGVmYXVsdCBkZWJsb2NraW5nIHBh cmFtZXRlciBvZmZzZXRzIGZvciB0QyBkaXZpZGVkIGJ5IDIuCj4+ICAgICAgICogLSBfX3U4Cj4+ ICAgICAgICAgLSBgYGxvZzJfcGFyYWxsZWxfbWVyZ2VfbGV2ZWxfbWludXMyYGAKPj4gLSAgICAg IC0KPj4gKyAgICAgIC0gUGx1cyAyIHNwZWNpZmllcyB0aGUgdmFsdWUgb2YgdGhlIHZhcmlhYmxl IExvZzJQYXJNcmdMZXZlbC4KPj4gICAgICAgKiAtIF9fdTgKPj4gICAgICAgICAtIGBgcGFkZGlu Z1s0XWBgCj4+ICAgICAgICAgLSBBcHBsaWNhdGlvbnMgYW5kIGRyaXZlcnMgbXVzdCBzZXQgdGhp cyB0byB6ZXJvLgo+PiBAQCAtMjk3NiwxMCArMjk4OCwxMCBAQCBlbnVtIHY0bDJfbXBlZ192aWRl b19oZXZjX3NpemVfb2ZfbGVuZ3RoX2ZpZWxkIC0KPj4gICAgICAgICAtIE9mZnNldCAoaW4gYml0 cykgdG8gdGhlIHZpZGVvIGRhdGEgaW4gdGhlIGN1cnJlbnQgc2xpY2UgZGF0YS4KPj4gICAgICAg KiAtIF9fdTgKPj4gICAgICAgICAtIGBgbmFsX3VuaXRfdHlwZWBgCj4+IC0gICAgICAtCj4+ICsg ICAgICAtIFNwZWNpZmllcyB0aGUgY29kaW5nIHR5cGUgb2YgdGhlIHNsaWNlIChCLCBQIG9yIEkp Lgo+PiAgICAgICAqIC0gX191OAo+PiAgICAgICAgIC0gYGBudWhfdGVtcG9yYWxfaWRfcGx1czFg YAo+PiAtICAgICAgLQo+PiArICAgICAgLSBNaW51cyAxIHNwZWNpZmllcyBhIHRlbXBvcmFsIGlk ZW50aWZpZXIgZm9yIHRoZSBOQUwgdW5pdC4KPj4gICAgICAgKiAtIF9fdTgKPj4gICAgICAgICAt IGBgc2xpY2VfdHlwZWBgCj4+ICAgICAgICAgLQo+PiBAQCAtMjk4Nyw1MiArMjk5OSw1NiBAQCBl bnVtIHY0bDJfbXBlZ192aWRlb19oZXZjX3NpemVfb2ZfbGVuZ3RoX2ZpZWxkIC0KPj4gICAJVjRM Ml9IRVZDX1NMSUNFX1RZUEVfQikuCj4+ICAgICAgICogLSBfX3U4Cj4+ICAgICAgICAgLSBgYGNv bG91cl9wbGFuZV9pZGBgCj4+IC0gICAgICAtCj4+ICsgICAgICAtIFNwZWNpZmllcyB0aGUgY29s b3VyIHBsYW5lIGFzc29jaWF0ZWQgd2l0aCB0aGUgY3VycmVudCBzbGljZS4KPj4gICAgICAgKiAt IF9fdTE2Cj4+ICAgICAgICAgLSBgYHNsaWNlX3BpY19vcmRlcl9jbnRgYAo+PiAtICAgICAgLQo+ PiArICAgICAgLSBTcGVjaWZpZXMgdGhlIHBpY3R1cmUgb3JkZXIgY291bnQuCj4+ICAgICAgICog LSBfX3U4Cj4+ICAgICAgICAgLSBgYG51bV9yZWZfaWR4X2wwX2FjdGl2ZV9taW51czFgYAo+PiAt ICAgICAgLQo+PiArICAgICAgLSBTcGVjaWZpZXMgdGhlIG1heGltdW0gcmVmZXJlbmNlIGluZGV4 IGZvciByZWZlcmVuY2UgcGljdHVyZSBsaXN0IDAKPj4gKyAgICAgICAgdGhhdCBtYXkgYmUgdXNl ZCB0byBkZWNvZGUgdGhlIHNsaWNlLgo+PiAgICAgICAqIC0gX191OAo+PiAgICAgICAgIC0gYGBu dW1fcmVmX2lkeF9sMV9hY3RpdmVfbWludXMxYGAKPj4gLSAgICAgIC0KPj4gKyAgICAgIC0gU3Bl Y2lmaWVzIHRoZSBtYXhpbXVtIHJlZmVyZW5jZSBpbmRleCBmb3IgcmVmZXJlbmNlIHBpY3R1cmUg bGlzdCAxCj4+ICsgICAgICAgIHRoYXQgbWF5IGJlIHVzZWQgdG8gZGVjb2RlIHRoZSBzbGljZS4K Pj4gICAgICAgKiAtIF9fdTgKPj4gICAgICAgICAtIGBgY29sbG9jYXRlZF9yZWZfaWR4YGAKPj4g LSAgICAgIC0KPj4gKyAgICAgIC0gU3BlY2lmaWVzIHRoZSByZWZlcmVuY2UgaW5kZXggb2YgdGhl IGNvbGxvY2F0ZWQgcGljdHVyZSB1c2VkIGZvcgo+PiArICAgICAgICB0ZW1wb3JhbCBtb3Rpb24g dmVjdG9yIHByZWRpY3Rpb24uCj4+ICAgICAgICogLSBfX3U4Cj4+ICAgICAgICAgLSBgYGZpdmVf bWludXNfbWF4X251bV9tZXJnZV9jYW5kYGAKPj4gLSAgICAgIC0KPj4gKyAgICAgIC0gU3BlY2lm aWVzIHRoZSBtYXhpbXVtIG51bWJlciBvZiBtZXJnaW5nIG1vdGlvbiB2ZWN0b3IgcHJlZGljdGlv bgo+PiArICAgICAgICBjYW5kaWRhdGVzIHN1cHBvcnRlZCBpbiB0aGUgc2xpY2Ugc3VidHJhY3Rl ZCBmcm9tIDUuCj4+ICAgICAgICogLSBfX3M4Cj4+ICAgICAgICAgLSBgYHNsaWNlX3FwX2RlbHRh YGAKPj4gLSAgICAgIC0KPj4gKyAgICAgIC0gU3BlY2lmaWVzIHRoZSBpbml0aWFsIHZhbHVlIG9m IFFwWSB0byBiZSB1c2VkIGZvciB0aGUgY29kaW5nIGJsb2NrcyBpbiB0aGUgc2xpY2UuCj4+ICAg ICAgICogLSBfX3M4Cj4+ICAgICAgICAgLSBgYHNsaWNlX2NiX3FwX29mZnNldGBgCj4+IC0gICAg ICAtCj4+ICsgICAgICAtIFNwZWNpZmllcyBhIGRpZmZlcmVuY2UgdG8gYmUgYWRkZWQgdG8gdGhl IHZhbHVlIG9mIHBwc19jYl9xcF9vZmZzZXQuCj4+ICAgICAgICogLSBfX3M4Cj4+ICAgICAgICAg LSBgYHNsaWNlX2NyX3FwX29mZnNldGBgCj4+IC0gICAgICAtCj4+ICsgICAgICAtIFNwZWNpZmll cyBhIGRpZmZlcmVuY2UgdG8gYmUgYWRkZWQgdG8gdGhlIHZhbHVlIG9mIHBwc19jcl9xcF9vZmZz ZXQuCj4+ICAgICAgICogLSBfX3M4Cj4+ICAgICAgICAgLSBgYHNsaWNlX2FjdF95X3FwX29mZnNl dGBgCj4+IC0gICAgICAtCj4+ICsgICAgICAtIHNjcmVlbiBjb250ZW50IGV4dGVuc2lvbiBwYXJh bWV0ZXJzCj4+ICAgICAgICogLSBfX3M4Cj4+ICAgICAgICAgLSBgYHNsaWNlX2FjdF9jYl9xcF9v ZmZzZXRgYAo+PiAtICAgICAgLQo+PiArICAgICAgLSBzY3JlZW4gY29udGVudCBleHRlbnNpb24g cGFyYW1ldGVycwo+PiAgICAgICAqIC0gX19zOAo+PiAgICAgICAgIC0gYGBzbGljZV9hY3RfY3Jf cXBfb2Zmc2V0YGAKPj4gLSAgICAgIC0KPj4gKyAgICAgIC0gc2NyZWVuIGNvbnRlbnQgZXh0ZW5z aW9uIHBhcmFtZXRlcnMKPj4gICAgICAgKiAtIF9fczgKPj4gICAgICAgICAtIGBgc2xpY2VfYmV0 YV9vZmZzZXRfZGl2MmBgCj4+IC0gICAgICAtCj4+ICsgICAgICAtIFNwZWNpZnkgdGhlIGRlYmxv Y2tpbmcgcGFyYW1ldGVyIG9mZnNldHMgZm9yIGJldGEgZGl2aWRlZCBieSAyLgo+PiAgICAgICAq IC0gX19zOAo+PiAgICAgICAgIC0gYGBzbGljZV90Y19vZmZzZXRfZGl2MmBgCj4+IC0gICAgICAt Cj4+ICsgICAgICAtIFNwZWNpZnkgdGhlIGRlYmxvY2tpbmcgcGFyYW1ldGVyIG9mZnNldHMgZm9y IHRDIGRpdmlkZWQgYnkgMi4KPj4gICAgICAgKiAtIF9fdTgKPj4gICAgICAgICAtIGBgcGljX3N0 cnVjdGBgCj4+IC0gICAgICAtCj4+ICsgICAgICAtIEluZGljYXRlcyB3aGV0aGVyIGEgcGljdHVy ZSBzaG91bGQgYmUgZGlzcGxheWVkIGFzIGEgZnJhbWUgb3IgYXMgb25lIG9yIG1vcmUgZmllbGRz Lgo+PiAgICAgICAqIC0gX191MzIKPj4gICAgICAgICAtIGBgc2xpY2Vfc2VnbWVudF9hZGRyYGAK Pj4gLSAgICAgIC0KPj4gKyAgICAgIC0gU3BlY2lmaWVzIHRoZSBhZGRyZXNzIG9mIHRoZSBmaXJz dCBjb2RpbmcgdHJlZSBibG9jayBpbiB0aGUgc2xpY2Ugc2VnbWVudC4KPj4gICAgICAgKiAtIF9f dTgKPj4gICAgICAgICAtIGBgcmVmX2lkeF9sMFtWNEwyX0hFVkNfRFBCX0VOVFJJRVNfTlVNX01B WF1gYAo+PiAgICAgICAgIC0gVGhlIGxpc3Qgb2YgTDAgcmVmZXJlbmNlIGVsZW1lbnRzIGFzIGlu ZGljZXMgaW4gdGhlIERQQi4KPj4gQEAgLTMyMjIsMzYgKzMyMzgsNDQgQEAgZW51bSB2NGwyX21w ZWdfdmlkZW9faGV2Y19zaXplX29mX2xlbmd0aF9maWVsZCAtCj4+ICAgICAgIDpzdHViLWNvbHVt bnM6IDAKPj4gICAgICAgOndpZHRoczogICAgICAgMSAxIDIKPj4gICAKPj4gLSAgICAqIC0gX191 OAo+PiAtICAgICAgLSBgYGx1bWFfbG9nMl93ZWlnaHRfZGVub21gYAo+PiAtICAgICAgLQo+PiAt ICAgICogLSBfX3M4Cj4+IC0gICAgICAtIGBgZGVsdGFfY2hyb21hX2xvZzJfd2VpZ2h0X2Rlbm9t YGAKPj4gLSAgICAgIC0KPj4gICAgICAgKiAtIF9fczgKPj4gICAgICAgICAtIGBgZGVsdGFfbHVt YV93ZWlnaHRfbDBbVjRMMl9IRVZDX0RQQl9FTlRSSUVTX05VTV9NQVhdYGAKPj4gLSAgICAgIC0K Pj4gKyAgICAgIC0gVGhlIGRpZmZlcmVuY2Ugb2YgdGhlIHdlaWdodGluZyBmYWN0b3IgYXBwbGll ZCB0byB0aGUgbHVtYQo+PiArICAgICAgICBwcmVkaWN0aW9uIHZhbHVlIGZvciBsaXN0IDAuCj4+ ICAgICAgICogLSBfX3M4Cj4+ICAgICAgICAgLSBgYGx1bWFfb2Zmc2V0X2wwW1Y0TDJfSEVWQ19E UEJfRU5UUklFU19OVU1fTUFYXWBgCj4+IC0gICAgICAtCj4+ICsgICAgICAtIFRoZSBhZGRpdGl2 ZSBvZmZzZXQgYXBwbGllZCB0byB0aGUgbHVtYSBwcmVkaWN0aW9uIHZhbHVlIGZvciBsaXN0IDAu Cj4+ICAgICAgICogLSBfX3M4Cj4+ICAgICAgICAgLSBgYGRlbHRhX2Nocm9tYV93ZWlnaHRfbDBb VjRMMl9IRVZDX0RQQl9FTlRSSUVTX05VTV9NQVhdWzJdYGAKPj4gLSAgICAgIC0KPj4gKyAgICAg IC0gVGhlIGRpZmZlcmVuY2Ugb2YgdGhlIHdlaWdodGluZyBmYWN0b3IgYXBwbGllZCB0byB0aGUg Y2hyb21hCj4+ICsgICAgICAgIHByZWRpY3Rpb24gdmFsdWUgZm9yIGxpc3QgMC4KPj4gICAgICAg KiAtIF9fczgKPj4gICAgICAgICAtIGBgY2hyb21hX29mZnNldF9sMFtWNEwyX0hFVkNfRFBCX0VO VFJJRVNfTlVNX01BWF1bMl1gYAo+PiAtICAgICAgLQo+PiArICAgICAgLSBUaGUgZGlmZmVyZW5j ZSBvZiB0aGUgYWRkaXRpdmUgb2Zmc2V0IGFwcGxpZWQgdG8gdGhlIGNocm9tYQo+PiArICAgICAg ICBwcmVkaWN0aW9uIHZhbHVlcyBmb3IgbGlzdCAwLgo+PiAgICAgICAqIC0gX19zOAo+PiAgICAg ICAgIC0gYGBkZWx0YV9sdW1hX3dlaWdodF9sMVtWNEwyX0hFVkNfRFBCX0VOVFJJRVNfTlVNX01B WF1gYAo+PiAtICAgICAgLQo+PiArICAgICAgLSBUaGUgZGlmZmVyZW5jZSBvZiB0aGUgd2VpZ2h0 aW5nIGZhY3RvciBhcHBsaWVkIHRvIHRoZSBsdW1hCj4+ICsgICAgICAgIHByZWRpY3Rpb24gdmFs dWUgZm9yIGxpc3QgMS4KPj4gICAgICAgKiAtIF9fczgKPj4gICAgICAgICAtIGBgbHVtYV9vZmZz ZXRfbDFbVjRMMl9IRVZDX0RQQl9FTlRSSUVTX05VTV9NQVhdYGAKPj4gLSAgICAgIC0KPj4gKyAg ICAgIC0gVGhlIGFkZGl0aXZlIG9mZnNldCBhcHBsaWVkIHRvIHRoZSBsdW1hIHByZWRpY3Rpb24g dmFsdWUgZm9yIGxpc3QgMS4KPj4gICAgICAgKiAtIF9fczgKPj4gICAgICAgICAtIGBgZGVsdGFf Y2hyb21hX3dlaWdodF9sMVtWNEwyX0hFVkNfRFBCX0VOVFJJRVNfTlVNX01BWF1bMl1gYAo+PiAt ICAgICAgLQo+PiArICAgICAgLSBUaGUgZGlmZmVyZW5jZSBvZiB0aGUgd2VpZ2h0aW5nIGZhY3Rv ciBhcHBsaWVkIHRvIHRoZSBjaHJvbWEKPj4gKyAgICAgICAgcHJlZGljdGlvbiB2YWx1ZSBmb3Ig bGlzdCAxLgo+PiAgICAgICAqIC0gX19zOAo+PiAgICAgICAgIC0gYGBjaHJvbWFfb2Zmc2V0X2wx W1Y0TDJfSEVWQ19EUEJfRU5UUklFU19OVU1fTUFYXVsyXWBgCj4+IC0gICAgICAtCj4+ICsgICAg ICAtIFRoZSBkaWZmZXJlbmNlIG9mIHRoZSBhZGRpdGl2ZSBvZmZzZXQgYXBwbGllZCB0byB0aGUg Y2hyb21hCj4+ICsgICAgICAgIHByZWRpY3Rpb24gdmFsdWVzIGZvciBsaXN0IDEuCj4+ICsgICAg KiAtIF9fdTgKPj4gKyAgICAgIC0gYGBsdW1hX2xvZzJfd2VpZ2h0X2Rlbm9tYGAKPj4gKyAgICAg IC0gVGhlIGJhc2UgMiBsb2dhcml0aG0gb2YgdGhlIGRlbm9taW5hdG9yIGZvciBhbGwgbHVtYSB3 ZWlnaHRpbmcKPj4gKyAgICAgICAgZmFjdG9ycy4KPj4gKyAgICAqIC0gX19zOAo+PiArICAgICAg LSBgYGRlbHRhX2Nocm9tYV9sb2cyX3dlaWdodF9kZW5vbWBgCj4+ICsgICAgICAtIFRoZSBkaWZm ZXJlbmNlIG9mIHRoZSBiYXNlIDIgbG9nYXJpdGhtIG9mIHRoZSBkZW5vbWluYXRvciBmb3IKPj4g KyAgICAgICAgYWxsIGNocm9tYSB3ZWlnaHRpbmcgZmFjdG9ycy4KPj4gICAgICAgKiAtIF9fdTgK Pj4gICAgICAgICAtIGBgcGFkZGluZ1s2XWBgCj4+ICAgICAgICAgLSBBcHBsaWNhdGlvbnMgYW5k IGRyaXZlcnMgbXVzdCBzZXQgdGhpcyB0byB6ZXJvLgo+PiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9t ZWRpYS9oZXZjLWN0cmxzLmggYi9pbmNsdWRlL21lZGlhL2hldmMtY3RybHMuaAo+PiBpbmRleCBi MzU0MDE2N2RmOWUuLjE0OTM4NGNhNGM4NCAxMDA2NDQKPj4gLS0tIGEvaW5jbHVkZS9tZWRpYS9o ZXZjLWN0cmxzLmgKPj4gKysrIGIvaW5jbHVkZS9tZWRpYS9oZXZjLWN0cmxzLmgKPj4gQEAgLTU1 LDkgKzU1LDY4IEBAIGVudW0gdjRsMl9zdGF0ZWxlc3NfaGV2Y19zdGFydF9jb2RlIHsKPj4gICAj ZGVmaW5lIFY0TDJfSEVWQ19TUFNfRkxBR19TUFNfVEVNUE9SQUxfTVZQX0VOQUJMRUQJCSgxVUxM IDw8IDcpCj4+ICAgI2RlZmluZSBWNEwyX0hFVkNfU1BTX0ZMQUdfU1RST05HX0lOVFJBX1NNT09U SElOR19FTkFCTEVECSgxVUxMIDw8IDgpCj4+ICAgCj4+IC0vKiBUaGUgY29udHJvbHMgYXJlIG5v dCBzdGFibGUgYXQgdGhlIG1vbWVudCBhbmQgd2lsbCBsaWtlbHkgYmUgcmV3b3JrZWQuICovCj4+ ICsvKioKPj4gKyAqIHN0cnVjdCB2NGwyX2N0cmxfaGV2Y19zcHMgLSBJVFUtVCBSZWMuIEguMjY1 OiBTZXF1ZW5jZSBwYXJhbWV0ZXIgc2V0Cj4+ICsgKgo+PiArICogQHZpZGVvX3BhcmFtZXRlcl9z ZXRfaWQ6IHNwZWNpZmllcyB0aGUgdmFsdWUgb2YgdGhlCj4+ICsgKgkJCSAgICB2cHNfdmlkZW9f cGFyYW1ldGVyX3NldF9pZCBvZiB0aGUgYWN0aXZlIFZQUwo+PiArICogQHNlcV9wYXJhbWV0ZXJf c2V0X2lkOiBwcm92aWRlcyBhbiBpZGVudGlmaWVyIGZvciB0aGUgU1BTIGZvcgo+PiArICoJCQkg IHJlZmVyZW5jZSBieSBvdGhlciBzeW50YXggZWxlbWVudHMKPj4gKyAqIEBwaWNfd2lkdGhfaW5f bHVtYV9zYW1wbGVzOiBzcGVjaWZpZXMgdGhlIHdpZHRoIG9mIGVhY2ggZGVjb2RlZCBwaWN0dXJl Cj4+ICsgKgkJCSAgICAgICBpbiB1bml0cyBvZiBsdW1hIHNhbXBsZXMKPj4gKyAqIEBwaWNfaGVp Z2h0X2luX2x1bWFfc2FtcGxlczogc3BlY2lmaWVzIHRoZSBoZWlnaHQgb2YgZWFjaCBkZWNvZGVk IHBpY3R1cmUKPj4gKyAqCQkJCWluIHVuaXRzIG9mIGx1bWEgc2FtcGxlcwo+PiArICogQGJpdF9k ZXB0aF9sdW1hX21pbnVzODogc3BlY2lmaWVzIHRoZSBiaXQgZGVwdGggb2YgdGhlIHNhbXBsZXMg b2YgdGhlCj4+ICsgKgkJCSAgIGx1bWEgYXJyYXkKPj4gKyAqIEBiaXRfZGVwdGhfY2hyb21hX21p bnVzODogc3BlY2lmaWVzIHRoZSBiaXQgZGVwdGggb2YgdGhlIHNhbXBsZXMgb2YgdGhlCj4+ICsg KgkJCSAgICAgY2hyb21hIGFycmF5cwo+PiArICogQGxvZzJfbWF4X3BpY19vcmRlcl9jbnRfbHNi X21pbnVzNDogc3BlY2lmaWVzIHRoZSB2YWx1ZSBvZiB0aGUgdmFyaWFibGUKPj4gKyAqCQkJCSAg ICAgICBNYXhQaWNPcmRlckNudExzYgo+PiArICogQHNwc19tYXhfZGVjX3BpY19idWZmZXJpbmdf bWludXMxOiBwbHVzIDEgc3BlY2lmaWVzIHRoZSBtYXhpbXVtIHJlcXVpcmVkCj4+ICsgKgkJCQkg ICAgICBzaXplIG9mIHRoZSBkZWNvZGVkIHBpY3R1cmUgYnVmZmVyIGZvcgo+PiArICoJCQkJICAg ICAgdGhlIENWUwo+PiArICogQHNwc19tYXhfbnVtX3Jlb3JkZXJfcGljczogaW5kaWNhdGVzIHRo ZSBtYXhpbXVtIGFsbG93ZWQgbnVtYmVyIG9mIHBpY3R1cmVzCj4+ICsgKiBAc3BzX21heF9sYXRl bmN5X2luY3JlYXNlX3BsdXMxOiBub3QgZXF1YWwgdG8gMCBpcyB1c2VkIHRvIGNvbXB1dGUgdGhl Cj4+ICsgKgkJCQkgICAgdmFsdWUgb2YgU3BzTWF4TGF0ZW5jeVBpY3R1cmVzW2ldCj4+ICsgKiBA bG9nMl9taW5fbHVtYV9jb2RpbmdfYmxvY2tfc2l6ZV9taW51czM6IHBsdXMgMyBzcGVjaWZpZXMg dGhlIG1pbmltdW0KPj4gKyAqCQkJCQkgICAgbHVtYSBjb2RpbmcgYmxvY2sgc2l6ZQo+PiArICog QGxvZzJfZGlmZl9tYXhfbWluX2x1bWFfY29kaW5nX2Jsb2NrX3NpemU6IHNwZWNpZmllcyB0aGUg ZGlmZmVyZW5jZSBiZXR3ZWVuCj4+ICsgKgkJCQkJICAgICAgdGhlIG1heGltdW0gYW5kIG1pbmlt dW0gbHVtYQo+PiArICoJCQkJCSAgICAgIGNvZGluZyBibG9jayBzaXplCj4+ICsgKiBAbG9nMl9t aW5fbHVtYV90cmFuc2Zvcm1fYmxvY2tfc2l6ZV9taW51czI6IHBsdXMgMiBzcGVjaWZpZXMgdGhl IG1pbmltdW0gbHVtYQo+PiArICoJCQkJCSAgICAgICB0cmFuc2Zvcm0gYmxvY2sgc2l6ZQo+PiAr ICogQGxvZzJfZGlmZl9tYXhfbWluX2x1bWFfdHJhbnNmb3JtX2Jsb2NrX3NpemU6IHNwZWNpZmll cyB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuCj4+ICsgKgkJCQkJCSB0aGUgbWF4aW11bSBhbmQgbWlu aW11bSBsdW1hCj4+ICsgKgkJCQkJCSB0cmFuc2Zvcm0gYmxvY2sgc2l6ZQo+PiArICogQG1heF90 cmFuc2Zvcm1faGllcmFyY2h5X2RlcHRoX2ludGVyOiBzcGVjaWZpZXMgdGhlIG1heGltdW0gaGll cmFyY2h5Cj4+ICsgKgkJCQkJIGRlcHRoIGZvciB0cmFuc2Zvcm0gdW5pdHMgb2YKPj4gKyAqCQkJ CQkgY29kaW5nIHVuaXRzIGNvZGVkIGluIGludGVyCj4+ICsgKgkJCQkJIHByZWRpY3Rpb24gbW9k ZQo+PiArICogQG1heF90cmFuc2Zvcm1faGllcmFyY2h5X2RlcHRoX2ludHJhOiBzcGVjaWZpZXMg dGhlIG1heGltdW0gaGllcmFyY2h5Cj4+ICsgKgkJCQkJIGRlcHRoIGZvciB0cmFuc2Zvcm0gdW5p dHMgb2YKPj4gKyAqCQkJCQkgY29kaW5nIHVuaXRzIGNvZGVkIGluIGludHJhCj4+ICsgKgkJCQkJ IHByZWRpY3Rpb24gbW9kZQo+PiArICogQHBjbV9zYW1wbGVfYml0X2RlcHRoX2x1bWFfbWludXMx OiBzcGVjaWZpZXMgdGhlIG51bWJlciBvZiBiaXRzIHVzZWQgdG8KPj4gKyAqCQkJCSAgICAgIHJl cHJlc2VudCBlYWNoIG9mIFBDTSBzYW1wbGUgdmFsdWVzIG9mIHRoZQo+PiArICoJCQkJICAgICAg bHVtYSBjb21wb25lbnQKPj4gKyAqIEBwY21fc2FtcGxlX2JpdF9kZXB0aF9jaHJvbWFfbWludXMx OiBzcGVjaWZpZXMgdGhlIG51bWJlciBvZiBiaXRzIHVzZWQgdG8KPj4gKyAqCQkJCQlyZXByZXNl bnQgZWFjaCBvZiBQQ00gc2FtcGxlIHZhbHVlcyBvZgo+PiArICoJCQkJCXRoZSBjaHJvbWEgY29t cG9uZW50cwo+PiArICogQGxvZzJfbWluX3BjbV9sdW1hX2NvZGluZ19ibG9ja19zaXplX21pbnVz MzogcGx1cyAzIHNwZWNpZmllcyB0aGUgbWluaW11bSBzaXplCj4+ICsgKgkJCQkJCW9mIGNvZGlu ZyBibG9ja3MKPj4gKyAqIEBsb2cyX2RpZmZfbWF4X21pbl9wY21fbHVtYV9jb2RpbmdfYmxvY2tf c2l6ZTogc3BlY2lmaWVzIHRoZSBkaWZmZXJlbmNlIGJldHdlZW4KPj4gKyAqCQkJCQkJICB0aGUg bWF4aW11bSBhbmQgbWluaW11bSBzaXplIG9mCj4+ICsgKgkJCQkJCSAgY29kaW5nIGJsb2Nrcwo+ PiArICogQG51bV9zaG9ydF90ZXJtX3JlZl9waWNfc2V0czogc3BlY2llZmllcyB0aGUgbnVtYmVy IG9mIHN0X3JlZl9waWNfc2V0KCkKPj4gKyAqCQkJCSBzeW50YXggc3RydWN0dXJlcyBpbmNsdWRl ZCBpbiB0aGUgU1BTCj4+ICsgKiBAbnVtX2xvbmdfdGVybV9yZWZfcGljc19zcHM6CXNwZWNpZmll cyB0aGUgbnVtYmVyIG9mIGNhbmRpZGF0ZSBsb25nLXRlcm0KPj4gKyAqCQkJCXJlZmVyZW5jZSBw aWN0dXJlcyB0aGF0IGFyZSBzcGVjaWZpZWQgaW4gdGhlIFNQUwo+PiArICogQGNocm9tYV9mb3Jt YXRfaWRjOiBzcGVjaWZpZXMgdGhlIGNocm9tYSBzYW1wbGluZwo+PiArICogQHNwc19tYXhfc3Vi X2xheWVyc19taW51czE6IHBsdXMgMSBzcGVjaWZpZXMgdGhlIG1heGltdW0gbnVtYmVyIG9mIHRl bXBvcmFsCj4+ICsgKgkJCSAgICAgICBzdWItbGF5ZXJzCj4+ICsgKiBAZmxhZ3M6IHNlZSBWNEwy X0hFVkNfU1BTX0ZMQUdfe30KPj4gKyAqLwo+PiAgIHN0cnVjdCB2NGwyX2N0cmxfaGV2Y19zcHMg ewo+PiAtCS8qIElTTy9JRUMgMjMwMDgtMiwgSVRVLVQgUmVjLiBILjI2NTogU2VxdWVuY2UgcGFy YW1ldGVyIHNldCAqLwo+PiAgIAlfX3U4CXZpZGVvX3BhcmFtZXRlcl9zZXRfaWQ7Cj4+ICAgCV9f dTgJc2VxX3BhcmFtZXRlcl9zZXRfaWQ7Cj4+ICAgCV9fdTE2CXBpY193aWR0aF9pbl9sdW1hX3Nh bXBsZXM7Cj4+IEBAIC0xMDgsOCArMTY3LDQzIEBAIHN0cnVjdCB2NGwyX2N0cmxfaGV2Y19zcHMg ewo+PiAgICNkZWZpbmUgVjRMMl9IRVZDX1BQU19GTEFHX0RFQkxPQ0tJTkdfRklMVEVSX0NPTlRS T0xfUFJFU0VOVAkoMVVMTCA8PCAxOSkKPj4gICAjZGVmaW5lIFY0TDJfSEVWQ19QUFNfRkxBR19V TklGT1JNX1NQQUNJTkcJCQkoMVVMTCA8PCAyMCkKPj4gICAKPj4gKy8qKgo+PiArICogc3RydWN0 IHY0bDJfY3RybF9oZXZjX3BwcyAtIElUVS1UIFJlYy4gSC4yNjU6IFBpY3R1cmUgcGFyYW1ldGVy IHNldAo+PiArICoKPj4gKyAqIEBwaWNfcGFyYW1ldGVyX3NldF9pZDogaWRlbnRpZmllcyB0aGUg UFBTIGZvciByZWZlcmVuY2UgYnkgb3RoZXIKPj4gKyAqCQkJICBzeW50YXggZWxlbWVudHMKPj4g KyAqIEBudW1fZXh0cmFfc2xpY2VfaGVhZGVyX2JpdHM6IHNwZWNpZmllcyB0aGUgbnVtYmVyIG9m IGV4dHJhIHNsaWNlIGhlYWRlcgo+PiArICoJCQkJIGJpdHMgdGhhdCBhcmUgcHJlc2VudCBpbiB0 aGUgc2xpY2UgaGVhZGVyIFJCU1AKPj4gKyAqCQkJCSBmb3IgY29kZWQgcGljdHVyZXMgcmVmZXJy aW5nIHRvIHRoZSBQUFMuCj4+ICsgKiBAbnVtX3JlZl9pZHhfbDBfZGVmYXVsdF9hY3RpdmVfbWlu dXMxOiBzcGVjaWZpZXMgdGhlIGluZmVycmVkIHZhbHVlIG9mCj4+ICsgKgkJCQkJICBudW1fcmVm X2lkeF9sMF9hY3RpdmVfbWludXMxCj4+ICsgKiBAbnVtX3JlZl9pZHhfbDFfZGVmYXVsdF9hY3Rp dmVfbWludXMxOiBzcGVjaWZpZXMgdGhlIGluZmVycmVkIHZhbHVlIG9mCj4+ICsgKgkJCQkJICBu dW1fcmVmX2lkeF9sMV9hY3RpdmVfbWludXMxCj4+ICsgKiBAaW5pdF9xcF9taW51czI2OiBwbHVz IDI2IHNwZWNpZmllcyB0aGUgaW5pdGlhbCB2YWx1ZSBvZiBTbGljZVFwIFkgZm9yCj4+ICsgKgkJ ICAgICBlYWNoIHNsaWNlIHJlZmVycmluZyB0byB0aGUgUFBTCj4+ICsgKiBAZGlmZl9jdV9xcF9k ZWx0YV9kZXB0aDogc3BlY2lmaWVzIHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gdGhlIGx1bWEgY29k aW5nCj4+ICsgKgkJCSAgICB0cmVlIGJsb2NrIHNpemUgYW5kIHRoZSBtaW5pbXVtIGx1bWEgY29k aW5nIGJsb2NrCj4+ICsgKgkJCSAgICBzaXplIG9mIGNvZGluZyB1bml0cyB0aGF0IGNvbnZleSBj dV9xcF9kZWx0YV9hYnMKPj4gKyAqCQkJICAgIGFuZCBjdV9xcF9kZWx0YV9zaWduX2ZsYWcKPj4g KyAqIEBwcHNfY2JfcXBfb2Zmc2V0OiBzcGVjaWZ5IHRoZSBvZmZzZXRzIHRvIHRoZSBsdW1hIHF1 YW50aXphdGlvbiBwYXJhbWV0ZXIgQ2IKPj4gKyAqIEBwcHNfY3JfcXBfb2Zmc2V0OiBzcGVjaWZ5 IHRoZSBvZmZzZXRzIHRvIHRoZSBsdW1hIHF1YW50aXphdGlvbiBwYXJhbWV0ZXIgQ3IKPj4gKyAq IEBudW1fdGlsZV9jb2x1bW5zX21pbnVzMTogcGx1cyAxIHNwZWNpZmllcyB0aGUgbnVtYmVyIG9m IHRpbGUgY29sdW1ucwo+PiArICoJCQkgICAgIHBhcnRpdGlvbmluZyB0aGUgcGljdHVyZQo+PiAr ICogQG51bV90aWxlX3Jvd3NfbWludXMxOiBwbHVzIDEgc3BlY2lmaWVzIHRoZSBudW1iZXIgb2Yg dGlsZSByb3dzIHBhcnRpdGlvbmluZwo+PiArICoJCQkgIHRoZSBwaWN0dXJlCj4+ICsgKiBAY29s dW1uX3dpZHRoX21pbnVzMTogcGx1cyAxIHNwZWNpZmllcyB0aGUgd2lkdGggb2YgdGhlIGktdGgg dGlsZSBjb2x1bW4gaW4KPj4gKyAqCQkJIHVuaXRzIG9mIGNvZGluZyB0cmVlIGJsb2Nrcwo+PiAr ICogQHJvd19oZWlnaHRfbWludXMxOiBwbHVzIDEgc3BlY2lmaWVzIHRoZSBoZWlnaHQgb2YgdGhl IGktdGggdGlsZSByb3cgaW4KPj4gKyAqCQkgICAgICAgdW5pdHMgb2YgY29kaW5nIHRyZWUgYmxv Y2tzCj4+ICsgKiBAcHBzX2JldGFfb2Zmc2V0X2RpdjI6IHNwZWNpZnkgdGhlIGRlZmF1bHQgZGVi bG9ja2luZyBwYXJhbWV0ZXIgb2Zmc2V0cyBmb3IKPj4gKyAqCQkJICBiZXRhIGRpdmlkZWQgYnkg Mgo+PiArICogQHBwc190Y19vZmZzZXRfZGl2Mjogc3BlY2lmeSB0aGUgZGVmYXVsdCBkZWJsb2Nr aW5nIHBhcmFtZXRlciBvZmZzZXRzIGZvciB0Qwo+PiArICoJCQlkaXZpZGVkIGJ5IDIKPj4gKyAq IEBsb2cyX3BhcmFsbGVsX21lcmdlX2xldmVsX21pbnVzMjogcGx1cyAyIHNwZWNpZmllcyB0aGUg dmFsdWUgb2YgdGhlIHZhcmlhYmxlCj4+ICsgKgkJCQkgICAgICBMb2cyUGFyTXJnTGV2ZWwKPj4g KyAqIEBmbGFnczogc2VlIFY0TDJfSEVWQ19QUFNfRkxBR197fQo+PiArICovCj4+ICAgc3RydWN0 IHY0bDJfY3RybF9oZXZjX3BwcyB7Cj4+IC0JLyogSVNPL0lFQyAyMzAwOC0yLCBJVFUtVCBSZWMu IEguMjY1OiBQaWN0dXJlIHBhcmFtZXRlciBzZXQgKi8KPj4gICAJX191OAlwaWNfcGFyYW1ldGVy X3NldF9pZDsKPj4gICAJX191OAludW1fZXh0cmFfc2xpY2VfaGVhZGVyX2JpdHM7Cj4+ICAgCV9f dTgJbnVtX3JlZl9pZHhfbDBfZGVmYXVsdF9hY3RpdmVfbWludXMxOwo+PiBAQCAtMTM0LDYgKzIy OCwxNCBAQCBzdHJ1Y3QgdjRsMl9jdHJsX2hldmNfcHBzIHsKPj4gICAKPj4gICAjZGVmaW5lIFY0 TDJfSEVWQ19EUEJfRU5UUklFU19OVU1fTUFYCQkxNgo+PiAgIAo+PiArLyoqCj4+ICsgKiBzdHJ1 Y3QgdjRsMl9oZXZjX2RwYl9lbnRyeSAtIEhFVkMgZGVjb2RlZCBwaWN0dXJlIGJ1ZmZlciBlbnRy eQo+PiArICoKPj4gKyAqIEB0aW1lc3RhbXA6IHRpbWVzdGFtcCBvZiB0aGUgVjRMMiBjYXB0dXJl IGJ1ZmZlciB0byB1c2UgYXMgcmVmZXJlbmNlLgo+PiArICogQGZsYWdzOiBsb25nIHRlcm0gZmxh ZyBmb3IgdGhlIHJlZmVyZW5jZSBmcmFtZQo+PiArICogQGZpZWxkX3BpYzogd2hldGhlciB0aGUg cmVmZXJlbmNlIGlzIGEgZmllbGQgcGljdHVyZSBvciBhIGZyYW1lLgo+PiArICogQHBpY19vcmRl cl9jbnQ6IHRoZSBwaWN0dXJlIG9yZGVyIGNvdW50IG9mIHRoZSByZWZlcmVuY2UuCj4gVW5sZXNz IEkgbWlzc2VkIHRoYXQgY2hhbmdlLCB0aGVyZSBpcyB0d28gUE9DIChpdHMgYW4gYXJyYXkpLCBi dXQgdGhlIGRvYyBkb2VzCj4gbm90IHJlZmxlY3QgdGhpcy4KPgo+ICAgIF9fdTE2ICAgcGljX29y ZGVyX2NudFsyXTsKPgo+IEluIEguMjY0LCB0aGlzIGhhcyBiZWVuIHNwbGl0IGluIHR3bzoKPgo+ ICAgICAgICAgIF9fczMyIHRvcF9maWVsZF9vcmRlcl9jbnQ7Cj4gICAgICAgICAgX19zMzIgYm90 dG9tX2ZpZWxkX29yZGVyX2NudDsKPgo+IEknbSBhbHNvIG5vdGljaW5nIHRoZSBkaWZmZXJlbmNl IGluIG51bWJlciBvZiBiaXRzLiBIRVZDIGNvdWxkIGhhdmUgYmVlbgo+IGRpZmZlcmVudCwgYnV0 IHRoZSBzcGVjIHNheXM6Cj4KPiAgICAgVGhlIHZhbHVlIG9mIFBpY09yZGVyQ250VmFsIHNoYWxs IGJlIGluIHRoZSByYW5nZSBvZiDiiJIyXjMxIHRvIDJeMzEg4oiSIDEsCj4gICAgIGluY2x1c2l2 ZQo+ICAgICAKPiBDbGFyaWZpY2F0aW9uIG5lZWRlZCBpZiB0aGlzIGlzbid0IG1lYW50IHRvIGJl IFBpY09yZGVyQ250VmFsIGJ1dAo+IHBpY19vcmRlcl9jbnRfbHNiLiBUaGF0IGJlaW5nIHNhaWQs IGl0IGxvb2tzIGxpa2UgRFhWQSBleHBvc2VzIHRoYXQgYXMgYSBzaWduZWQKPiBpbnRlZ2VyICgz MiBiaXQpLgoKSSB3aWxsIGNoYW5nZSBfX3UxNiAgIHBpY19vcmRlcl9jbnRbMl0gdG8gX19zMzIg UGljT3JkZXJDbnRWYWwKdG8gZm9sbG93IHRoZSBzcGVjIG5hbWluZyB0aGF0IHdpbGwgYmUgbW9y ZSBjbGVhciBsaWtlIHRoYXQuCgpUaGFua3MsCkJlbmphbWluCgo+Cj4+ICsgKi8KPj4gICBzdHJ1 Y3QgdjRsMl9oZXZjX2RwYl9lbnRyeSB7Cj4+ICAgCV9fdTY0CXRpbWVzdGFtcDsKPj4gICAJX191 OAlmbGFnczsKPj4gQEAgLTE0Miw2ICsyNDQsMzEgQEAgc3RydWN0IHY0bDJfaGV2Y19kcGJfZW50 cnkgewo+PiAgIAlfX3U4CXBhZGRpbmdbMl07Cj4+ICAgfTsKPj4gICAKPj4gKy8qKgo+PiArICog c3RydWN0IHY0bDJfaGV2Y19wcmVkX3dlaWdodF90YWJsZSAtIEhFVkMgd2VpZ2h0ZWQgcHJlZGlj dGlvbiBwYXJhbWV0ZXJzCj4+ICsgKgo+PiArICogQGRlbHRhX2x1bWFfd2VpZ2h0X2wwOiB0aGUg ZGlmZmVyZW5jZSBvZiB0aGUgd2VpZ2h0aW5nIGZhY3RvciBhcHBsaWVkCj4+ICsgKgkJCSAgdG8g dGhlIGx1bWEgcHJlZGljdGlvbiB2YWx1ZSBmb3IgbGlzdCAwCj4+ICsgKiBAbHVtYV9vZmZzZXRf bDA6IHRoZSBhZGRpdGl2ZSBvZmZzZXQgYXBwbGllZCB0byB0aGUgbHVtYSBwcmVkaWN0aW9uIHZh bHVlCj4+ICsgKgkJICAgIGZvciBsaXN0IDAKPj4gKyAqIEBkZWx0YV9jaHJvbWFfd2VpZ2h0X2ww OiB0aGUgZGlmZmVyZW5jZSBvZiB0aGUgd2VpZ2h0aW5nIGZhY3RvciBhcHBsaWVkCj4+ICsgKgkJ CSAgICB0byB0aGUgY2hyb21hIHByZWRpY3Rpb24gdmFsdWVzIGZvciBsaXN0IDAKPj4gKyAqIEBj aHJvbWFfb2Zmc2V0X2wwOiB0aGUgZGlmZmVyZW5jZSBvZiB0aGUgYWRkaXRpdmUgb2Zmc2V0IGFw cGxpZWQgdG8KPj4gKyAqCQkgICAgICB0aGUgY2hyb21hIHByZWRpY3Rpb24gdmFsdWVzIGZvciBs aXN0IDAKPj4gKyAqIEBkZWx0YV9sdW1hX3dlaWdodF9sMTogdGhlIGRpZmZlcmVuY2Ugb2YgdGhl IHdlaWdodGluZyBmYWN0b3IgYXBwbGllZAo+PiArICoJCQkgIHRvIHRoZSBsdW1hIHByZWRpY3Rp b24gdmFsdWUgZm9yIGxpc3QgMQo+PiArICogQGx1bWFfb2Zmc2V0X2wxOiB0aGUgYWRkaXRpdmUg b2Zmc2V0IGFwcGxpZWQgdG8gdGhlIGx1bWEgcHJlZGljdGlvbiB2YWx1ZQo+PiArICoJCSAgICBm b3IgbGlzdCAxCj4+ICsgKiBAZGVsdGFfY2hyb21hX3dlaWdodF9sMTogdGhlIGRpZmZlcmVuY2Ug b2YgdGhlIHdlaWdodGluZyBmYWN0b3IgYXBwbGllZAo+PiArICoJCQkgICAgdG8gdGhlIGNocm9t YSBwcmVkaWN0aW9uIHZhbHVlcyBmb3IgbGlzdCAxCj4+ICsgKiBAY2hyb21hX29mZnNldF9sMTog dGhlIGRpZmZlcmVuY2Ugb2YgdGhlIGFkZGl0aXZlIG9mZnNldCBhcHBsaWVkIHRvCj4+ICsgKgkJ ICAgICAgdGhlIGNocm9tYSBwcmVkaWN0aW9uIHZhbHVlcyBmb3IgbGlzdCAxCj4+ICsgKiBAbHVt YV9sb2cyX3dlaWdodF9kZW5vbTogdGhlIGJhc2UgMiBsb2dhcml0aG0gb2YgdGhlIGRlbm9taW5h dG9yIGZvcgo+PiArICoJCQkgICAgYWxsIGx1bWEgd2VpZ2h0aW5nIGZhY3RvcnMKPj4gKyAqIEBk ZWx0YV9jaHJvbWFfbG9nMl93ZWlnaHRfZGVub206IHRoZSBkaWZmZXJlbmNlIG9mIHRoZSBiYXNl IDIgbG9nYXJpdGhtCj4+ICsgKgkJCQkgICAgb2YgdGhlIGRlbm9taW5hdG9yIGZvciBhbGwgY2hy b21hCj4+ICsgKgkJCQkgICAgd2VpZ2h0aW5nIGZhY3RvcnMKPj4gKyAqLwo+PiAgIHN0cnVjdCB2 NGwyX2hldmNfcHJlZF93ZWlnaHRfdGFibGUgewo+PiAgIAlfX3M4CWRlbHRhX2x1bWFfd2VpZ2h0 X2wwW1Y0TDJfSEVWQ19EUEJfRU5UUklFU19OVU1fTUFYXTsKPj4gICAJX19zOAlsdW1hX29mZnNl dF9sMFtWNEwyX0hFVkNfRFBCX0VOVFJJRVNfTlVNX01BWF07Cj4+IEBAIC0xNzAsNiArMjk3LDUw IEBAIHN0cnVjdCB2NGwyX2hldmNfcHJlZF93ZWlnaHRfdGFibGUgewo+PiAgICNkZWZpbmUgVjRM Ml9IRVZDX1NMSUNFX1BBUkFNU19GTEFHX1NMSUNFX0xPT1BfRklMVEVSX0FDUk9TU19TTElDRVNf RU5BQkxFRCAoMVVMTCA8PCA4KQo+PiAgICNkZWZpbmUgVjRMMl9IRVZDX1NMSUNFX1BBUkFNU19G TEFHX0RFUEVOREVOVF9TTElDRV9TRUdNRU5UCSgxVUxMIDw8IDkpCj4+ICAgCj4+ICsvKioKPj4g KyAqIHY0bDJfY3RybF9oZXZjX3NsaWNlX3BhcmFtcyAtIEhFVkMgc2xpY2UgcGFyYW1ldGVycwo+ PiArICoKPj4gKyAqIEBiaXRfc2l6ZTogc2l6ZSAoaW4gYml0cykgb2YgdGhlIGN1cnJlbnQgc2xp Y2UgZGF0YQo+PiArICogQGRhdGFfYml0X29mZnNldDogb2Zmc2V0IChpbiBiaXRzKSB0byB0aGUg dmlkZW8gZGF0YSBpbiB0aGUgY3VycmVudCBzbGljZSBkYXRhCj4+ICsgKiBAbmFsX3VuaXRfdHlw ZTogc3BlY2lmaWVzIHRoZSBjb2RpbmcgdHlwZSBvZiB0aGUgc2xpY2UgKEIsIFAgb3IgSSkKPj4g KyAqIEBudWhfdGVtcG9yYWxfaWRfcGx1czE6IG1pbnVzIDEgc3BlY2lmaWVzIGEgdGVtcG9yYWwg aWRlbnRpZmllciBmb3IgdGhlIE5BTCB1bml0Cj4+ICsgKiBAc2xpY2VfdHlwZTogc2VlIFY0TDJf SEVWQ19TTElDRV9UWVBFX3t9Cj4+ICsgKiBAY29sb3VyX3BsYW5lX2lkOiBzcGVjaWZpZXMgdGhl IGNvbG91ciBwbGFuZSBhc3NvY2lhdGVkIHdpdGggdGhlIGN1cnJlbnQgc2xpY2UKPj4gKyAqIEBz bGljZV9waWNfb3JkZXJfY250OiBzcGVjaWZpZXMgdGhlIHBpY3R1cmUgb3JkZXIgY291bnQKPj4g KyAqIEBudW1fcmVmX2lkeF9sMF9hY3RpdmVfbWludXMxOiBzcGVjaWZpZXMgdGhlIG1heGltdW0g cmVmZXJlbmNlIGluZGV4IGZvcgo+PiArICoJCQkJICByZWZlcmVuY2UgcGljdHVyZSBsaXN0IDAg dGhhdCBtYXkgYmUgdXNlZCB0byBkZWNvZGUKPj4gKyAqCQkJCSAgdGhlIHNsaWNlCj4+ICsgKiBA bnVtX3JlZl9pZHhfbDFfYWN0aXZlX21pbnVzMTogc3BlY2lmaWVzIHRoZSBtYXhpbXVtIHJlZmVy ZW5jZSBpbmRleCBmb3IKPj4gKyAqCQkJCSAgcmVmZXJlbmNlIHBpY3R1cmUgbGlzdCAxIHRoYXQg bWF5IGJlIHVzZWQgdG8gZGVjb2RlCj4+ICsgKgkJCQkgIHRoZSBzbGljZQo+PiArICogQGNvbGxv Y2F0ZWRfcmVmX2lkeDogc3BlY2lmaWVzIHRoZSByZWZlcmVuY2UgaW5kZXggb2YgdGhlIGNvbGxv Y2F0ZWQgcGljdHVyZSB1c2VkCj4+ICsgKgkJCWZvciB0ZW1wb3JhbCBtb3Rpb24gdmVjdG9yIHBy ZWRpY3Rpb24KPj4gKyAqIEBmaXZlX21pbnVzX21heF9udW1fbWVyZ2VfY2FuZDogc3BlY2lmaWVz IHRoZSBtYXhpbXVtIG51bWJlciBvZiBtZXJnaW5nCj4+ICsgKgkJCQkgICBtb3Rpb24gdmVjdG9y IHByZWRpY3Rpb24gY2FuZGlkYXRlcyBzdXBwb3J0ZWQgaW4KPj4gKyAqCQkJCSAgIHRoZSBzbGlj ZSBzdWJ0cmFjdGVkIGZyb20gNQo+PiArICogQHNsaWNlX3FwX2RlbHRhOiBzcGVjaWZpZXMgdGhl IGluaXRpYWwgdmFsdWUgb2YgUXBZIHRvIGJlIHVzZWQgZm9yIHRoZSBjb2RpbmcKPj4gKyAqCQkg ICAgYmxvY2tzIGluIHRoZSBzbGljZQo+PiArICogQHNsaWNlX2NiX3FwX29mZnNldDogc3BlY2lm aWVzIGEgZGlmZmVyZW5jZSB0byBiZSBhZGRlZCB0byB0aGUgdmFsdWUgb2YgcHBzX2NiX3FwX29m ZnNldAo+PiArICogQHNsaWNlX2NyX3FwX29mZnNldDogc3BlY2lmaWVzIGEgZGlmZmVyZW5jZSB0 byBiZSBhZGRlZCB0byB0aGUgdmFsdWUgb2YgcHBzX2NyX3FwX29mZnNldAo+PiArICogQHNsaWNl X2FjdF95X3FwX29mZnNldDogc2NyZWVuIGNvbnRlbnQgZXh0ZW5zaW9uIHBhcmFtZXRlcnMKPj4g KyAqIEBzbGljZV9hY3RfY2JfcXBfb2Zmc2V0OiBzY3JlZW4gY29udGVudCBleHRlbnNpb24gcGFy YW1ldGVycwo+PiArICogQHNsaWNlX2FjdF9jcl9xcF9vZmZzZXQ6IHNjcmVlbiBjb250ZW50IGV4 dGVuc2lvbiBwYXJhbWV0ZXJzCj4+ICsgKiBAc2xpY2VfYmV0YV9vZmZzZXRfZGl2Mjogc3BlY2lm eSB0aGUgZGVibG9ja2luZyBwYXJhbWV0ZXIgb2Zmc2V0cyBmb3IgYmV0YSBkaXZpZGVkIGJ5IDIK Pj4gKyAqIEBzbGljZV90Y19vZmZzZXRfZGl2Mjogc3BlY2lmeSB0aGUgZGVibG9ja2luZyBwYXJh bWV0ZXIgb2Zmc2V0cyBmb3IgdEMgZGl2aWRlZCBieSAyCj4+ICsgKiBAcGljX3N0cnVjdDogaW5k aWNhdGVzIHdoZXRoZXIgYSBwaWN0dXJlIHNob3VsZCBiZSBkaXNwbGF5ZWQgYXMgYSBmcmFtZSBv ciBhcyBvbmUgb3IKPj4gKyAqCQltb3JlIGZpZWxkcwo+PiArICogQHNsaWNlX3NlZ21lbnRfYWRk cjogc3BlY2lmaWVzIHRoZSBhZGRyZXNzIG9mIHRoZSBmaXJzdCBjb2RpbmcgdHJlZSBibG9jayBp bgo+PiArICoJCQl0aGUgc2xpY2Ugc2VnbWVudAo+PiArICogQHJlZl9pZHhfbDA6IHRoZSBsaXN0 IG9mIEwwIHJlZmVyZW5jZSBlbGVtZW50cyBhcyBpbmRpY2VzIGluIHRoZSBEUEIKPj4gKyAqIEBy ZWZfaWR4X2wxOiB0aGUgbGlzdCBvZiBMMSByZWZlcmVuY2UgZWxlbWVudHMgYXMgaW5kaWNlcyBp biB0aGUgRFBCCj4+ICsgKiBAc2hvcnRfdGVybV9yZWZfcGljX3NldF9zaXplOiBzcGVjaWZpZXMg dGhlIG51bWJlciBvZiBzdF9yZWZfcGljX3NldCgpCj4+ICsgKgkJCQkgc3ludGF4IHN0cnVjdHVy ZXMgaW5jbHVkZWQgaW4gdGhlIFNQUwo+PiArICogQGxvbmdfdGVybV9yZWZfcGljX3NldF9zaXpl OiBzcGVjaWZpZXMgdGhlIG51bWJlciBvZiBjYW5kaWRhdGUgbG9uZy10ZXJtCj4+ICsgKgkJCQly ZWZlcmVuY2UgcGljdHVyZXMgdGhhdCBhcmUgc3BlY2lmaWVkIGluIHRoZSBTUFMKPj4gKyAqIEBw cmVkX3dlaWdodF90YWJsZTogdGhlIHByZWRpY3Rpb24gd2VpZ2h0IGNvZWZmaWNpZW50cyBmb3Ig aW50ZXItcGljdHVyZQo+PiArICoJCSAgICAgICBwcmVkaWN0aW9uCj4+ICsgKiBAZmxhZ3M6IHNl ZSBWNEwyX0hFVkNfU0xJQ0VfUEFSQU1TX0ZMQUdfe30KPj4gKyAqLwo+PiAgIHN0cnVjdCB2NGwy X2N0cmxfaGV2Y19zbGljZV9wYXJhbXMgewo+PiAgIAlfX3UzMgliaXRfc2l6ZTsKPj4gICAJX191 MzIJZGF0YV9iaXRfb2Zmc2V0Owo+PiBAQCAtMjE2LDYgKzM4NywyNCBAQCBzdHJ1Y3QgdjRsMl9j dHJsX2hldmNfc2xpY2VfcGFyYW1zIHsKPj4gICAjZGVmaW5lIFY0TDJfSEVWQ19ERUNPREVfUEFS QU1fRkxBR19JRFJfUElDCQkweDIKPj4gICAjZGVmaW5lIFY0TDJfSEVWQ19ERUNPREVfUEFSQU1f RkxBR19OT19PVVRQVVRfT0ZfUFJJT1IgIDB4NAo+PiAgIAo+PiArLyoqCj4+ICsgKiBzdHJ1Y3Qg djRsMl9jdHJsX2hldmNfZGVjb2RlX3BhcmFtcyAtIEhFVkMgZGVjb2RlIHBhcmFtZXRlcnMKPj4g KyAqCj4+ICsgKiBAcGljX29yZGVyX2NudF92YWw6IHBpY3R1cmUgb3JkZXIgY291bnQKPj4gKyAq IEBudW1fYWN0aXZlX2RwYl9lbnRyaWVzOiB0aGUgbnVtYmVyIG9mIGVudHJpZXMgaW4gZHBiCj4+ ICsgKiBAZHBiOiB0aGUgZGVjb2RlZCBwaWN0dXJlIGJ1ZmZlciwgZm9yIG1ldGEtZGF0YSBhYm91 dCByZWZlcmVuY2UgZnJhbWVzCj4+ICsgKiBAbnVtX3BvY19zdF9jdXJyX2JlZm9yZTogdGhlIG51 bWJlciBvZiByZWZlcmVuY2UgcGljdHVyZXMgaW4gdGhlIHNob3J0LXRlcm0KPj4gKyAqCQkJICAg IHNldCB0aGF0IGNvbWUgYmVmb3JlIHRoZSBjdXJyZW50IGZyYW1lCj4+ICsgKiBAbnVtX3BvY19z dF9jdXJyX2FmdGVyOiB0aGUgbnVtYmVyIG9mIHJlZmVyZW5jZSBwaWN0dXJlcyBpbiB0aGUgc2hv cnQtdGVybQo+PiArICoJCQkgICBzZXQgdGhhdCBjb21lIGFmdGVyIHRoZSBjdXJyZW50IGZyYW1l Cj4+ICsgKiBAbnVtX3BvY19sdF9jdXJyOiB0aGUgbnVtYmVyIG9mIHJlZmVyZW5jZSBwaWN0dXJl cyBpbiB0aGUgbG9uZy10ZXJtIHNldAo+PiArICogQHBvY19zdF9jdXJyX2JlZm9yZTogcHJvdmlk ZXMgdGhlIGluZGV4IG9mIHRoZSBzaG9ydCB0ZXJtIGJlZm9yZSByZWZlcmVuY2VzCj4+ICsgKgkJ CWluIERQQiBhcnJheQo+PiArICogQHBvY19zdF9jdXJyX2FmdGVyOiBwcm92aWRlcyB0aGUgaW5k ZXggb2YgdGhlIHNob3J0IHRlcm0gYWZ0ZXIgcmVmZXJlbmNlcwo+PiArICoJCSAgICAgICBpbiBE UEIgYXJyYXkKPj4gKyAqIEBwb2NfbHRfY3VycjogcHJvdmlkZXMgdGhlIGluZGV4IG9mIHRoZSBs b25nIHRlcm0gcmVmZXJlbmNlcyBpbiBEUEIgYXJyYXkKPj4gKyAqIEBmbGFnczogc2VlIFY0TDJf SEVWQ19ERUNPREVfUEFSQU1fRkxBR197fQo+PiArICovCj4+ICAgc3RydWN0IHY0bDJfY3RybF9o ZXZjX2RlY29kZV9wYXJhbXMgewo+PiAgIAlfX3MzMglwaWNfb3JkZXJfY250X3ZhbDsKPj4gICAJ X191OAludW1fYWN0aXZlX2RwYl9lbnRyaWVzOwo+PiBAQCAtMjI5LDYgKzQxOCwyOCBAQCBzdHJ1 Y3QgdjRsMl9jdHJsX2hldmNfZGVjb2RlX3BhcmFtcyB7Cj4+ICAgCV9fdTY0CWZsYWdzOwo+PiAg IH07Cj4+ICAgCj4+ICsvKioKPj4gKyAqIHN0cnVjdCB2NGwyX2N0cmxfaGV2Y19zY2FsaW5nX21h dHJpeCAtIEhFVkMgc2NhbGluZyBsaXN0cyBwYXJhbWV0ZXJzCj4+ICsgKgo+PiArICogQHNjYWxp bmdfbGlzdF80eDQ6IHNjYWxpbmcgbGlzdCBpcyB1c2VkIGZvciB0aGUgc2NhbGluZyBwcm9jZXNz IGZvcgo+PiArICoJCSAgICAgIHRyYW5zZm9ybSBjb2VmZmljaWVudHMuIFRoZSB2YWx1ZXMgb24g ZWFjaCBzY2FsaW5nCj4+ICsgKgkJICAgICAgbGlzdCBhcmUgZXhwZWN0ZWQgaW4gcmFzdGVyIHNj YW4gb3JkZXIKPj4gKyAqIEBzY2FsaW5nX2xpc3RfOHg4OiBzY2FsaW5nIGxpc3QgaXMgdXNlZCBm b3IgdGhlIHNjYWxpbmcgcHJvY2VzcyBmb3IKPj4gKyAqCQkgICAgICB0cmFuc2Zvcm0gY29lZmZp Y2llbnRzLiBUaGUgdmFsdWVzIG9uIGVhY2ggc2NhbGluZwo+PiArICoJCSAgICAgIGxpc3QgYXJl IGV4cGVjdGVkIGluIHJhc3RlciBzY2FuIG9yZGVyCj4+ICsgKiBAc2NhbGluZ19saXN0XzE2eDE2 OiBzY2FsaW5nIGxpc3QgaXMgdXNlZCBmb3IgdGhlIHNjYWxpbmcgcHJvY2VzcyBmb3IKPj4gKyAq CQkJdHJhbnNmb3JtIGNvZWZmaWNpZW50cy4gVGhlIHZhbHVlcyBvbiBlYWNoIHNjYWxpbmcKPj4g KyAqCQkJbGlzdCBhcmUgZXhwZWN0ZWQgaW4gcmFzdGVyIHNjYW4gb3JkZXIKPj4gKyAqIEBzY2Fs aW5nX2xpc3RfMzJ4MzI6CXNjYWxpbmcgbGlzdCBpcyB1c2VkIGZvciB0aGUgc2NhbGluZyBwcm9j ZXNzIGZvcgo+PiArICoJCQl0cmFuc2Zvcm0gY29lZmZpY2llbnRzLiBUaGUgdmFsdWVzIG9uIGVh Y2ggc2NhbGluZwo+PiArICoJCQlsaXN0IGFyZSBleHBlY3RlZCBpbiByYXN0ZXIgc2NhbiBvcmRl cgo+PiArICogQHNjYWxpbmdfbGlzdF9kY19jb2VmXzE2eDE2OiBzY2FsaW5nIGxpc3QgaXMgdXNl ZCBmb3IgdGhlIHNjYWxpbmcgcHJvY2Vzcwo+PiArICoJCQkJZm9yIHRyYW5zZm9ybSBjb2VmZmlj aWVudHMuIFRoZSB2YWx1ZXMgb24gZWFjaAo+PiArICoJCQkJc2NhbGluZyBsaXN0IGFyZSBleHBl Y3RlZCBpbiByYXN0ZXIgc2NhbiBvcmRlci4KPj4gKyAqIEBzY2FsaW5nX2xpc3RfZGNfY29lZl8z MngzMjoJc2NhbGluZyBsaXN0IGlzIHVzZWQgZm9yIHRoZSBzY2FsaW5nIHByb2Nlc3MKPj4gKyAq CQkJCWZvciB0cmFuc2Zvcm0gY29lZmZpY2llbnRzLiBUaGUgdmFsdWVzIG9uIGVhY2gKPj4gKyAq CQkJCXNjYWxpbmcgbGlzdCBhcmUgZXhwZWN0ZWQgaW4gcmFzdGVyIHNjYW4gb3JkZXIuCj4+ICsg Ki8KPj4gICBzdHJ1Y3QgdjRsMl9jdHJsX2hldmNfc2NhbGluZ19tYXRyaXggewo+PiAgIAlfX3U4 CXNjYWxpbmdfbGlzdF80eDRbNl1bMTZdOwo+PiAgIAlfX3U4CXNjYWxpbmdfbGlzdF84eDhbNl1b NjRdOwo+Cj4gTG9va3MgZ29vZCBvdGhlcndpc2UuCj4KPiBOaWNvbGFzCj4KPgoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBt YWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9s aXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=