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 4A81AEEB57C for ; Sat, 9 Sep 2023 10:33:43 +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=MmWbobNdqYVhx3JkhpaFQmrOk6+6LLbYZ1rtlDleqeg=; b=ybVOYQHR89XqsP peaf57OW+AUqP+Aa7AdYIHLcC4GGtSN6O3T9Utf0judCgy9CQHxL+CZhzNp6C0GoBHAifGDeok/CZ dj8mUQL5iCBAJxvKKXqdHUL2VTVjGXwYI2DKUkIXU/D349o2qvVGjM+c19hbeQKDgKjXP8J6kgj4i zrK2tbMFBnH6DRPNRhOUOLjZiylM4zKZBXuyKnVpw/3GQ8KBl0DCS3mgNjfjIhUyhAZePmn+LSqMW eFdptK+sqgEu2lqpa6B59byGXdczZPelg0TY55Y/QPUaiF10mY2R735TPZI786/IuAOpyEWxipz8e wabb0Fnks5TCmsKRp9Lw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qevH9-00FIck-2P; Sat, 09 Sep 2023 10:33:15 +0000 Received: from mail-lf1-x132.google.com ([2a00:1450:4864:20::132]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1qevH6-00FIbf-0x for linux-arm-kernel@lists.infradead.org; Sat, 09 Sep 2023 10:33:15 +0000 Received: by mail-lf1-x132.google.com with SMTP id 2adb3069b0e04-502a7e1bdc7so948582e87.0 for ; Sat, 09 Sep 2023 03:33:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1694255587; x=1694860387; darn=lists.infradead.org; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=2jLlXXOyhc9SXE5vU1HVy8u9vI+LbSelX0lbP92wNOk=; b=aq9H6TF7f+rXgQdVHbjTKG0TwLFSJEUA97B31x0TAj5IS2na8m7JdhJuJAz+k7FFku uop5pTt63dNcNh1rN5IQrtnoB0/zYQrui4wO4FsujO4uxPSV6+xGhQpfpRVZteL//MoO h1l7nnuKx0ekjXarDriY3oylTsOwyKM3RiP+3U4dkCkmrEhwzI2JKgQ5hX/ZUJBJCXxY Ru0EF6T4WFigeuNP+4kYlzssqM1hi6l/ItbfZb9AVy5AAZfHesTedtNPGDaFTnA3VFOc 7i/sJ/7fqhU/a7FX92fHLfw8MlXjCutqGOspLmF5GsuZWdp9M+0dO2ViWo3wDoLTdJvM pORA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1694255587; x=1694860387; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=2jLlXXOyhc9SXE5vU1HVy8u9vI+LbSelX0lbP92wNOk=; b=M3Ra9YCPQT+lynlwu0O3dzYnr8aexWwj5c7uKATkbxRg0Vuw6DpygFouvz96/LJlCf jf5DX/kBBtQ7CUG2IsaBIHMuVrwSO46mI0E/uH47VjFy1a0yFU79Aymm8NkNcd3dZpcz Q1vx0KwR1YhnAZt68ORqdxn1ycTF6cV/c0uNWyNZjNi+yi1VEdmdxanXIjxDkSaOUfMH OvslCeFSznzxyM4ZTpUmvVkZX7oswywHHSKfYxn8R7oamf02xtc9Fo2Kj2jfIqSqPcVC KLXLktnfMK3kvJRjjO0ykZ1ehIC1+Vp9M658QClLeLd6zLrRftnl9342C5WsMEhHDQSw IVYQ== X-Gm-Message-State: AOJu0YwQ06VTI0Ir+4x5CXQ4mBfNQr6FLBsSa8MJ3jqFo5ZFRRhX/DY5 1kqKcIuAlCyUuSn1xd458Yg= X-Google-Smtp-Source: AGHT+IFeenYRO+blp1la6LbDqavFiT8oEl5pnk7kYsQpLFoFHc8jkyjsslaJXCsLpDzI+fjowf+Bqw== X-Received: by 2002:a05:6512:10d1:b0:500:86cf:1249 with SMTP id k17-20020a05651210d100b0050086cf1249mr4427668lfg.61.1694255587393; Sat, 09 Sep 2023 03:33:07 -0700 (PDT) Received: from [192.168.89.248] ([46.251.193.106]) by smtp.gmail.com with ESMTPSA id r22-20020ac252b6000000b004fe3c53bb69sm574767lfm.307.2023.09.09.03.33.05 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 09 Sep 2023 03:33:07 -0700 (PDT) Message-ID: <98754ef3-3411-45a7-9e38-56832ce413f7@gmail.com> Date: Sat, 9 Sep 2023 13:33:04 +0300 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v2] pinctrl: sunxi: h616: add extra gpio banks Content-Language: en-US To: =?UTF-8?Q?Jernej_=C5=A0krabec?= , Linus Walleij , Chen-Yu Tsai , Samuel Holland , Andre Przywara Cc: linux-gpio@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-kernel@vger.kernel.org References: <20230909094529.6083-1-iuncuim@gmail.com> <4832858.GXAFRqVoOG@jernej-laptop> From: Mikhail Kalashnikov In-Reply-To: <4832858.GXAFRqVoOG@jernej-laptop> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230909_033312_675722_5A4D9F69 X-CRM114-Status: GOOD ( 16.66 ) 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 VGhhbmsgeW91IGZvciB5b3VyIGNvbW1lbnQuCgpJIGFkZGVkIGEgY2hhbmdlbG9nIGluIHJlc3Bv bnNlIHRvIHRoZSBmaXJzdCBtZXNzYWdlLwoKT24gMDkuMDkuMjAyMyAxMzoxNCwgSmVybmVqIMWg a3JhYmVjIHdyb3RlOgo+IERuZSBzb2JvdGEsIDA5LiBzZXB0ZW1iZXIgMjAyMyBvYiAxMTo0NToy OSBDRVNUIGplIE1pa2hhaWwgS2FsYXNobmlrb3YKPiBuYXBpc2FsKGEpOgo+PiBGcm9tOiBpdW5j dWltIDxpdW5jdWltQGdtYWlsLmNvbT4KPj4KPj4gU29tZSBTb0NzIGZyb20gdGhlIEg2MTYgZmFt aWx5IChzdWNoIGFzIHRoZSBUNTA3KSBoYXZlIHRoZSBzYW1lIGRpZSBidXQKPj4gbW9yZSBvdXRw dXQgcGlucyB0aGF0IGFyZSB1c2VkIGZvciBhZGRpdGlvbmFsIHBlcmlwaGVyYWxzLiBUaGUgVDUw NyBTb0MKPj4gZG9uJ3QgaGF2ZSBhIGJ1aWx0LWluIG11bHRpcGh5IGxpa2UgdGhlIEFDMjAwIG9y IEFDMzAwIGNvbm5lY3RlZCB0aSB0aGUKPj4gYmFuayBBLiBXaXRoIHRoZSBUNTA3IHRoZXNlIHBp bnMgY2FuIGJlIGZyZWVseSB1c2VkIGZvciBhbnkgb3RoZXIKPj4gYXBwbGljYXRpb24uIFRoaXMg cGF0Y2ggYWRkcyB0aGUgbWlzc2luZyBtdXhlcyBvbiBiYW5rcyBBLCBEIGFuZCBFLgo+Pgo+PiBT aWduZWQtb2ZmLWJ5OiBNaWtoYWlsIEthbGFzaG5pa292IDxpdW5jdWltQGdtYWlsLmNvbT4KPj4g LS0tCj4gWW91IG1pc3NlZCBjaGFuZ2Vsb2cgaGVyZS4gV2hhdCBhcmUgY2hhbmdlcyBpbiByZWdh cmRzIHRvIHYxPwo+Cj4gQmVzdCByZWdhcmRzLAo+IEplcm5lago+Cj4+ICAgZHJpdmVycy9waW5j dHJsL3N1bnhpL3BpbmN0cmwtc3VuNTBpLWg2MTYuYyB8IDM4MCArKysrKysrKysrKysrKysrKysr LQo+PiAgIDEgZmlsZSBjaGFuZ2VkLCAzNjYgaW5zZXJ0aW9ucygrKSwgMTQgZGVsZXRpb25zKC0p Cj4+Cj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3BpbmN0cmwvc3VueGkvcGluY3RybC1zdW41MGkt aDYxNi5jCj4+IGIvZHJpdmVycy9waW5jdHJsL3N1bnhpL3BpbmN0cmwtc3VuNTBpLWg2MTYuYyBp bmRleCBkNmNhNzIwZWUuLjEwZDRlMWVmMQo+PiAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9waW5j dHJsL3N1bnhpL3BpbmN0cmwtc3VuNTBpLWg2MTYuYwo+PiArKysgYi9kcml2ZXJzL3BpbmN0cmwv c3VueGkvcGluY3RybC1zdW41MGktaDYxNi5jCj4+IEBAIC0xNiwzMyArMTYsODEgQEAKPj4gICAj aW5jbHVkZSAicGluY3RybC1zdW54aS5oIgo+Pgo+PiAgIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgc3Vu eGlfZGVzY19waW4gaDYxNl9waW5zW10gPSB7Cj4+IC0JLyogSW50ZXJuYWwgY29ubmVjdGlvbiB0 byB0aGUgQUMyMDAgcGFydCAqLwo+PiArCS8qIEludGVybmFsbHkgY29ubmVjdGVkIHRvIHRoZSBB QzIwMCBwYXJ0IGluIHRoZSBINjE2IFNvQyAqLwo+PiAgIAlTVU5YSV9QSU4oU1VOWElfUElOQ1RS TF9QSU4oQSwgMCksCj4+IC0JCSAgU1VOWElfRlVOQ1RJT04oMHgyLCAiZW1hYzEiKSksCS8qIEVS WEQxICovCj4+ICsJCSAgU1VOWElfRlVOQ1RJT04oMHgwLCAiZ3Bpb19pbiIpLAo+PiArCQkgIFNV TlhJX0ZVTkNUSU9OKDB4MSwgImdwaW9fb3V0IiksCj4+ICsJCSAgU1VOWElfRlVOQ1RJT04oMHgy LCAiZW1hYzEiKSwJCS8qIEVSWEQxCj4gKi8KPj4gKwkJICBTVU5YSV9GVU5DVElPTigweDQsICJp MmMwIiksCQkvKiBTQ0sgKi8KPj4gKwkJICBTVU5YSV9GVU5DVElPTl9JUlFfQkFOSygweDYsIDAs IDApKSwJLyoKPiBQQV9FSU5UMCAqLwo+PiAgIAlTVU5YSV9QSU4oU1VOWElfUElOQ1RSTF9QSU4o QSwgMSksCj4+IC0JCSAgU1VOWElfRlVOQ1RJT04oMHgyLCAiZW1hYzEiKSksCS8qIEVSWEQwICov Cj4+ICsJCSAgU1VOWElfRlVOQ1RJT04oMHgwLCAiZ3Bpb19pbiIpLAo+PiArCQkgIFNVTlhJX0ZV TkNUSU9OKDB4MSwgImdwaW9fb3V0IiksCj4+ICsJCSAgU1VOWElfRlVOQ1RJT04oMHgyLCAiZW1h YzEiKSwJCS8qIEVSWEQwCj4gKi8KPj4gKwkJICBTVU5YSV9GVU5DVElPTigweDQsICJpMmMwIiks CQkvKiBTREEgKi8KPj4gKwkJICBTVU5YSV9GVU5DVElPTl9JUlFfQkFOSygweDYsIDAsIDEpKSwJ LyoKPiBQQV9FSU5UMSAqLwo+PiAgIAlTVU5YSV9QSU4oU1VOWElfUElOQ1RSTF9QSU4oQSwgMiks Cj4+IC0JCSAgU1VOWElfRlVOQ1RJT04oMHgyLCAiZW1hYzEiKSksCS8qIEVDUlNfRFYgKi8KPj4g KwkJICBTVU5YSV9GVU5DVElPTigweDAsICJncGlvX2luIiksCj4+ICsJCSAgU1VOWElfRlVOQ1RJ T04oMHgxLCAiZ3Bpb19vdXQiKSwKPj4gKwkJICBTVU5YSV9GVU5DVElPTigweDIsICJlbWFjMSIp LAkJLyogRUNSU19EVgo+ICovCj4+ICsJCSAgU1VOWElfRlVOQ1RJT04oMHg0LCAiaTJjMSIpLAkJ LyogU0NLICovCj4+ICsJCSAgU1VOWElfRlVOQ1RJT05fSVJRX0JBTksoMHg2LCAwLCAyKSksCS8q Cj4gUEFfRUlOVDIgKi8KPj4gICAJU1VOWElfUElOKFNVTlhJX1BJTkNUUkxfUElOKEEsIDMpLAo+ PiAtCQkgIFNVTlhJX0ZVTkNUSU9OKDB4MiwgImVtYWMxIikpLAkvKiBFUlhFUlIgKi8KPj4gKwkJ ICBTVU5YSV9GVU5DVElPTigweDAsICJncGlvX2luIiksCj4+ICsJCSAgU1VOWElfRlVOQ1RJT04o MHgxLCAiZ3Bpb19vdXQiKSwKPj4gKwkJICBTVU5YSV9GVU5DVElPTigweDIsICJlbWFjMSIpLAkJ LyogRVJYRVJSCj4gKi8KPj4gKwkJICBTVU5YSV9GVU5DVElPTigweDQsICJpMmMxIiksCQkvKiBT REEgKi8KPj4gKwkJICBTVU5YSV9GVU5DVElPTl9JUlFfQkFOSygweDYsIDAsIDMpKSwJLyoKPiBQ QV9FSU5UMyAqLwo+PiAgIAlTVU5YSV9QSU4oU1VOWElfUElOQ1RSTF9QSU4oQSwgNCksCj4+IC0J CSAgU1VOWElfRlVOQ1RJT04oMHgyLCAiZW1hYzEiKSksCS8qIEVUWEQxICovCj4+ICsJCSAgU1VO WElfRlVOQ1RJT04oMHgwLCAiZ3Bpb19pbiIpLAo+PiArCQkgIFNVTlhJX0ZVTkNUSU9OKDB4MSwg ImdwaW9fb3V0IiksCj4+ICsJCSAgU1VOWElfRlVOQ1RJT04oMHgyLCAiZW1hYzEiKSwJCS8qIEVU WEQxCj4gKi8KPj4gKwkJICBTVU5YSV9GVU5DVElPTl9JUlFfQkFOSygweDYsIDAsIDQpKSwJLyoK PiBQQV9FSU5UNCAqLwo+PiAgIAlTVU5YSV9QSU4oU1VOWElfUElOQ1RSTF9QSU4oQSwgNSksCj4+ IC0JCSAgU1VOWElfRlVOQ1RJT04oMHgyLCAiZW1hYzEiKSksCS8qIEVUWEQwICovCj4+ICsJCSAg U1VOWElfRlVOQ1RJT04oMHgwLCAiZ3Bpb19pbiIpLAo+PiArCQkgIFNVTlhJX0ZVTkNUSU9OKDB4 MSwgImdwaW9fb3V0IiksCj4+ICsJCSAgU1VOWElfRlVOQ1RJT04oMHgyLCAiZW1hYzEiKSwJCS8q IEVUWEQwCj4gKi8KPj4gKwkJICBTVU5YSV9GVU5DVElPTigweDMsICJoX2kyczAiKSwJLyogRE9V VDAgKi8KPj4gKwkJICBTVU5YSV9GVU5DVElPTl9JUlFfQkFOSygweDYsIDAsIDUpKSwJLyoKPiBQ QV9FSU5UNSAqLwo+PiAgIAlTVU5YSV9QSU4oU1VOWElfUElOQ1RSTF9QSU4oQSwgNiksCj4+IC0J CSAgU1VOWElfRlVOQ1RJT04oMHgyLCAiZW1hYzEiKSksCS8qIEVUWENLICovCj4+ICsJCSAgU1VO WElfRlVOQ1RJT04oMHgwLCAiZ3Bpb19pbiIpLAo+PiArCQkgIFNVTlhJX0ZVTkNUSU9OKDB4MSwg ImdwaW9fb3V0IiksCj4+ICsJCSAgU1VOWElfRlVOQ1RJT04oMHgyLCAiZW1hYzEiKSwJCS8qIEVU WENLCj4gKi8KPj4gKwkJICBTVU5YSV9GVU5DVElPTigweDMsICJoX2kyczAiKSwJLyogTUNMSyAq Lwo+PiArCQkgIFNVTlhJX0ZVTkNUSU9OX0lSUV9CQU5LKDB4NiwgMCwgNikpLAkvKgo+IFBBX0VJ TlQ2ICovCj4+ICAgCVNVTlhJX1BJTihTVU5YSV9QSU5DVFJMX1BJTihBLCA3KSwKPj4gLQkJICBT VU5YSV9GVU5DVElPTigweDIsICJlbWFjMSIpKSwJLyogRVRYRU4gKi8KPj4gKwkJICBTVU5YSV9G VU5DVElPTigweDAsICJncGlvX2luIiksCj4+ICsJCSAgU1VOWElfRlVOQ1RJT04oMHgxLCAiZ3Bp b19vdXQiKSwKPj4gKwkJICBTVU5YSV9GVU5DVElPTigweDIsICJlbWFjMSIpLAkJLyogRVRYRU4K PiAqLwo+PiArCQkgIFNVTlhJX0ZVTkNUSU9OKDB4MywgImhfaTJzMCIpLAkvKiBCQ0xLICovCj4+ ICsJCSAgU1VOWElfRlVOQ1RJT05fSVJRX0JBTksoMHg2LCAwLCA3KSksCS8qCj4gUEFfRUlOVDcg Ki8KPj4gICAJU1VOWElfUElOKFNVTlhJX1BJTkNUUkxfUElOKEEsIDgpLAo+PiAtCQkgIFNVTlhJ X0ZVTkNUSU9OKDB4MiwgImVtYWMxIikpLAkvKiBFTURDICovCj4+ICsJCSAgU1VOWElfRlVOQ1RJ T04oMHgwLCAiZ3Bpb19pbiIpLAo+PiArCQkgIFNVTlhJX0ZVTkNUSU9OKDB4MSwgImdwaW9fb3V0 IiksCj4+ICsJCSAgU1VOWElfRlVOQ1RJT04oMHgyLCAiZW1hYzEiKSwJCS8qIEVNREMgKi8KPj4g KwkJICBTVU5YSV9GVU5DVElPTigweDMsICJoX2kyczAiKSwJLyogTFJDSyAqLwo+PiArCQkgIFNV TlhJX0ZVTkNUSU9OX0lSUV9CQU5LKDB4NiwgMCwgOCkpLAkvKgo+IFBBX0VJTlQ4ICovCj4+ICAg CVNVTlhJX1BJTihTVU5YSV9QSU5DVFJMX1BJTihBLCA5KSwKPj4gLQkJICBTVU5YSV9GVU5DVElP TigweDIsICJlbWFjMSIpKSwJLyogRU1ESU8gKi8KPj4gKwkJICBTVU5YSV9GVU5DVElPTigweDAs ICJncGlvX2luIiksCj4+ICsJCSAgU1VOWElfRlVOQ1RJT04oMHgxLCAiZ3Bpb19vdXQiKSwKPj4g KwkJICBTVU5YSV9GVU5DVElPTigweDIsICJlbWFjMSIpLAkJLyogRU1ESU8KPiAqLwo+PiArCQkg IFNVTlhJX0ZVTkNUSU9OKDB4MywgImhfaTJzMCIpLAkvKiBESU4wICovCj4+ICsJCSAgU1VOWElf RlVOQ1RJT05fSVJRX0JBTksoMHg2LCAwLCA5KSksCS8qCj4gUEFfRUlOVDkgKi8KPj4gICAJU1VO WElfUElOKFNVTlhJX1BJTkNUUkxfUElOKEEsIDEwKSwKPj4gLQkJICBTVU5YSV9GVU5DVElPTigw eDIsICJpMmMzIikpLAkJLyogU0NLCj4gKi8KPj4gKwkJICBTVU5YSV9GVU5DVElPTigweDAsICJn cGlvX2luIiksCj4+ICsJCSAgU1VOWElfRlVOQ1RJT04oMHgxLCAiZ3Bpb19vdXQiKSwKPj4gKwkJ ICBTVU5YSV9GVU5DVElPTigweDIsICJpMmMzIiksCQkvKiBTQ0sgKi8KPj4gKwkJICBTVU5YSV9G VU5DVElPTl9JUlFfQkFOSygweDYsIDAsIDEwKSksCS8qCj4gUEFfRUlOVDEwICovCj4+ICAgCVNV TlhJX1BJTihTVU5YSV9QSU5DVFJMX1BJTihBLCAxMSksCj4+IC0JCSAgU1VOWElfRlVOQ1RJT04o MHgyLCAiaTJjMyIpKSwJCS8qIFNEQQo+ICovCj4+ICsJCSAgU1VOWElfRlVOQ1RJT04oMHgwLCAi Z3Bpb19pbiIpLAo+PiArCQkgIFNVTlhJX0ZVTkNUSU9OKDB4MSwgImdwaW9fb3V0IiksCj4+ICsJ CSAgU1VOWElfRlVOQ1RJT04oMHgyLCAiaTJjMyIpLAkJLyogU0RBICovCj4+ICsJCSAgU1VOWElf RlVOQ1RJT05fSVJRX0JBTksoMHg2LCAwLCAxMSkpLAkvKgo+IFBBX0VJTlQxMSAqLwo+PiAgIAlT VU5YSV9QSU4oU1VOWElfUElOQ1RSTF9QSU4oQSwgMTIpLAo+PiAtCQkgIFNVTlhJX0ZVTkNUSU9O KDB4MiwgInB3bTUiKSksCj4+ICsJCSAgU1VOWElfRlVOQ1RJT04oMHgwLCAiZ3Bpb19pbiIpLAo+ PiArCQkgIFNVTlhJX0ZVTkNUSU9OKDB4MSwgImdwaW9fb3V0IiksCj4+ICsJCSAgU1VOWElfRlVO Q1RJT04oMHgyLCAicHdtNSIpLAo+PiArCQkgIFNVTlhJX0ZVTkNUSU9OX0lSUV9CQU5LKDB4Niwg MCwgMTIpKSwJLyoKPiBQQV9FSU5UMTIgKi8KPj4gICAJLyogSG9sZSAqLwo+PiAgIAlTVU5YSV9Q SU4oU1VOWElfUElOQ1RSTF9QSU4oQywgMCksCj4+ICAgCQkgIFNVTlhJX0ZVTkNUSU9OKDB4MCwg ImdwaW9faW4iKSwKPj4gQEAgLTE0OSw2ICsxOTcsMzEwIEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3Qg c3VueGlfZGVzY19waW4gaDYxNl9waW5zW10gPSB7Cj4+ICAgCQkgIFNVTlhJX0ZVTkNUSU9OKDB4 NCwgInNwaTAiKSwJCS8qIEhPTEQKPiAqLwo+PiAgIAkJICBTVU5YSV9GVU5DVElPTl9JUlFfQkFO SygweDYsIDEsIDE2KSksCS8qCj4gUENfRUlOVDE2ICovCj4+ICAgCS8qIEhvbGUgKi8KPj4gKwlT VU5YSV9QSU4oU1VOWElfUElOQ1RSTF9QSU4oRCwgMCksCj4+ICsJCSAgU1VOWElfRlVOQ1RJT04o MHgwLCAiZ3Bpb19pbiIpLAo+PiArCQkgIFNVTlhJX0ZVTkNUSU9OKDB4MSwgImdwaW9fb3V0Iiks Cj4+ICsJCSAgU1VOWElfRlVOQ1RJT04oMHgyLCAibGNkMCIpLAkJLyogRDAgKi8KPj4gKwkJICBT VU5YSV9GVU5DVElPTigweDMsICJsdmRzMCIpLAkJLyogVlAwICovCj4+ICsJCSAgU1VOWElfRlVO Q1RJT04oMHg0LCAidHMwIiksCQkvKiBDTEsgKi8KPj4gKwkJICBTVU5YSV9GVU5DVElPTl9JUlFf QkFOSygweDYsIDIsIDApKSwJLyoKPiBQRF9FSU5UMCAqLwo+PiArCVNVTlhJX1BJTihTVU5YSV9Q SU5DVFJMX1BJTihELCAxKSwKPj4gKwkJICBTVU5YSV9GVU5DVElPTigweDAsICJncGlvX2luIiks Cj4+ICsJCSAgU1VOWElfRlVOQ1RJT04oMHgxLCAiZ3Bpb19vdXQiKSwKPj4gKwkJICBTVU5YSV9G VU5DVElPTigweDIsICJsY2QwIiksCQkvKiBEMSAqLwo+PiArCQkgIFNVTlhJX0ZVTkNUSU9OKDB4 MywgImx2ZHMwIiksCQkvKiBWTjAgKi8KPj4gKwkJICBTVU5YSV9GVU5DVElPTigweDQsICJ0czAi KSwJCS8qIEVSUiAqLwo+PiArCQkgIFNVTlhJX0ZVTkNUSU9OX0lSUV9CQU5LKDB4NiwgMiwgMSkp LAkvKgo+IFBEX0VJTlQxICovCj4+ICsJU1VOWElfUElOKFNVTlhJX1BJTkNUUkxfUElOKEQsIDIp LAo+PiArCQkgIFNVTlhJX0ZVTkNUSU9OKDB4MCwgImdwaW9faW4iKSwKPj4gKwkJICBTVU5YSV9G VU5DVElPTigweDEsICJncGlvX291dCIpLAo+PiArCQkgIFNVTlhJX0ZVTkNUSU9OKDB4MiwgImxj ZDAiKSwJCS8qIEQyICovCj4+ICsJCSAgU1VOWElfRlVOQ1RJT04oMHgzLCAibHZkczAiKSwJCS8q IFZQMSAqLwo+PiArCQkgIFNVTlhJX0ZVTkNUSU9OKDB4NCwgInRzMCIpLAkJLyogU1lOQwo+ICov Cj4+ICsJCSAgU1VOWElfRlVOQ1RJT05fSVJRX0JBTksoMHg2LCAyLCAyKSksCS8qCj4gUERfRUlO VDIgKi8KPj4gKwlTVU5YSV9QSU4oU1VOWElfUElOQ1RSTF9QSU4oRCwgMyksCj4+ICsJCSAgU1VO WElfRlVOQ1RJT04oMHgwLCAiZ3Bpb19pbiIpLAo+PiArCQkgIFNVTlhJX0ZVTkNUSU9OKDB4MSwg ImdwaW9fb3V0IiksCj4+ICsJCSAgU1VOWElfRlVOQ1RJT04oMHgyLCAibGNkMCIpLAkJLyogRDMg Ki8KPj4gKwkJICBTVU5YSV9GVU5DVElPTigweDMsICJsdmRzMCIpLAkJLyogVk4xICovCj4+ICsJ CSAgU1VOWElfRlVOQ1RJT04oMHg0LCAidHMwIiksCQkvKiBEVkxECj4gKi8KPj4gKwkJICBTVU5Y SV9GVU5DVElPTl9JUlFfQkFOSygweDYsIDIsIDMpKSwJLyoKPiBQRF9FSU5UMyAqLwo+PiArCVNV TlhJX1BJTihTVU5YSV9QSU5DVFJMX1BJTihELCA0KSwKPj4gKwkJICBTVU5YSV9GVU5DVElPTigw eDAsICJncGlvX2luIiksCj4+ICsJCSAgU1VOWElfRlVOQ1RJT04oMHgxLCAiZ3Bpb19vdXQiKSwK Pj4gKwkJICBTVU5YSV9GVU5DVElPTigweDIsICJsY2QwIiksCQkvKiBENCAqLwo+PiArCQkgIFNV TlhJX0ZVTkNUSU9OKDB4MywgImx2ZHMwIiksCQkvKiBWUDIgKi8KPj4gKwkJICBTVU5YSV9GVU5D VElPTigweDQsICJ0czAiKSwJCS8qIEQwICovCj4+ICsJCSAgU1VOWElfRlVOQ1RJT05fSVJRX0JB TksoMHg2LCAyLCA0KSksCS8qCj4gUERfRUlOVDQgKi8KPj4gKwlTVU5YSV9QSU4oU1VOWElfUElO Q1RSTF9QSU4oRCwgNSksCj4+ICsJCSAgU1VOWElfRlVOQ1RJT04oMHgwLCAiZ3Bpb19pbiIpLAo+ PiArCQkgIFNVTlhJX0ZVTkNUSU9OKDB4MSwgImdwaW9fb3V0IiksCj4+ICsJCSAgU1VOWElfRlVO Q1RJT04oMHgyLCAibGNkMCIpLAkJLyogRDUgKi8KPj4gKwkJICBTVU5YSV9GVU5DVElPTigweDMs ICJsdmRzMCIpLAkJLyogVk4yICovCj4+ICsJCSAgU1VOWElfRlVOQ1RJT04oMHg0LCAidHMwIiks CQkvKiBEMSAqLwo+PiArCQkgIFNVTlhJX0ZVTkNUSU9OX0lSUV9CQU5LKDB4NiwgMiwgNSkpLAkv Kgo+IFBEX0VJTlQ1ICovCj4+ICsJU1VOWElfUElOKFNVTlhJX1BJTkNUUkxfUElOKEQsIDYpLAo+ PiArCQkgIFNVTlhJX0ZVTkNUSU9OKDB4MCwgImdwaW9faW4iKSwKPj4gKwkJICBTVU5YSV9GVU5D VElPTigweDEsICJncGlvX291dCIpLAo+PiArCQkgIFNVTlhJX0ZVTkNUSU9OKDB4MiwgImxjZDAi KSwJCS8qIEQ2ICovCj4+ICsJCSAgU1VOWElfRlVOQ1RJT04oMHgzLCAibHZkczAiKSwJCS8qIFZQ QyAqLwo+PiArCQkgIFNVTlhJX0ZVTkNUSU9OKDB4NCwgInRzMCIpLAkJLyogRDIgKi8KPj4gKwkJ ICBTVU5YSV9GVU5DVElPTl9JUlFfQkFOSygweDYsIDIsIDYpKSwJLyoKPiBQRF9FSU5UNiAqLwo+ PiArCVNVTlhJX1BJTihTVU5YSV9QSU5DVFJMX1BJTihELCA3KSwKPj4gKwkJICBTVU5YSV9GVU5D VElPTigweDAsICJncGlvX2luIiksCj4+ICsJCSAgU1VOWElfRlVOQ1RJT04oMHgxLCAiZ3Bpb19v dXQiKSwKPj4gKwkJICBTVU5YSV9GVU5DVElPTigweDIsICJsY2QwIiksCQkvKiBENyAqLwo+PiAr CQkgIFNVTlhJX0ZVTkNUSU9OKDB4MywgImx2ZHMwIiksCQkvKiBWTkMgKi8KPj4gKwkJICBTVU5Y SV9GVU5DVElPTigweDQsICJ0czAiKSwJCS8qIEQzICovCj4+ICsJCSAgU1VOWElfRlVOQ1RJT05f SVJRX0JBTksoMHg2LCAyLCA3KSksCS8qCj4gUERfRUlOVDcgKi8KPj4gKwlTVU5YSV9QSU4oU1VO WElfUElOQ1RSTF9QSU4oRCwgOCksCj4+ICsJCSAgU1VOWElfRlVOQ1RJT04oMHgwLCAiZ3Bpb19p biIpLAo+PiArCQkgIFNVTlhJX0ZVTkNUSU9OKDB4MSwgImdwaW9fb3V0IiksCj4+ICsJCSAgU1VO WElfRlVOQ1RJT04oMHgyLCAibGNkMCIpLAkJLyogRDggKi8KPj4gKwkJICBTVU5YSV9GVU5DVElP TigweDMsICJsdmRzMCIpLAkJLyogVlAzICovCj4+ICsJCSAgU1VOWElfRlVOQ1RJT04oMHg0LCAi dHMwIiksCQkvKiBENCAqLwo+PiArCQkgIFNVTlhJX0ZVTkNUSU9OX0lSUV9CQU5LKDB4NiwgMiwg OCkpLAkvKgo+IFBEX0VJTlQ4ICovCj4+ICsJU1VOWElfUElOKFNVTlhJX1BJTkNUUkxfUElOKEQs IDkpLAo+PiArCQkgIFNVTlhJX0ZVTkNUSU9OKDB4MCwgImdwaW9faW4iKSwKPj4gKwkJICBTVU5Y SV9GVU5DVElPTigweDEsICJncGlvX291dCIpLAo+PiArCQkgIFNVTlhJX0ZVTkNUSU9OKDB4Miwg ImxjZDAiKSwJCS8qIEQ5ICovCj4+ICsJCSAgU1VOWElfRlVOQ1RJT04oMHgzLCAibHZkczAiKSwJ CS8qIFZOMyAqLwo+PiArCQkgIFNVTlhJX0ZVTkNUSU9OKDB4NCwgInRzMCIpLCAJCS8qIEQ1ICov Cj4+ICsJCSAgU1VOWElfRlVOQ1RJT05fSVJRX0JBTksoMHg2LCAyLCA5KSksCS8qCj4gUERfRUlO VDkgKi8KPj4gKwlTVU5YSV9QSU4oU1VOWElfUElOQ1RSTF9QSU4oRCwgMTApLAo+PiArCQkgIFNV TlhJX0ZVTkNUSU9OKDB4MCwgImdwaW9faW4iKSwKPj4gKwkJICBTVU5YSV9GVU5DVElPTigweDEs ICJncGlvX291dCIpLAo+PiArCQkgIFNVTlhJX0ZVTkNUSU9OKDB4MiwgImxjZDAiKSwJCS8qIEQx MCAqLwo+PiArCQkgIFNVTlhJX0ZVTkNUSU9OKDB4MywgImx2ZHMxIiksCQkvKiBWUDAgKi8KPj4g KwkJICBTVU5YSV9GVU5DVElPTigweDQsICJ0czAiKSwgCQkvKiBENiAqLwo+PiArCQkgIFNVTlhJ X0ZVTkNUSU9OX0lSUV9CQU5LKDB4NiwgMiwgMTApKSwJLyoKPiBQRF9FSU5UMTAgKi8KPj4gKwlT VU5YSV9QSU4oU1VOWElfUElOQ1RSTF9QSU4oRCwgMTEpLAo+PiArCQkgIFNVTlhJX0ZVTkNUSU9O KDB4MCwgImdwaW9faW4iKSwKPj4gKwkJICBTVU5YSV9GVU5DVElPTigweDEsICJncGlvX291dCIp LAo+PiArCQkgIFNVTlhJX0ZVTkNUSU9OKDB4MiwgImxjZDAiKSwJCS8qIEQxMSAqLwo+PiArCQkg IFNVTlhJX0ZVTkNUSU9OKDB4MywgImx2ZHMxIiksCQkvKiBWTjAgKi8KPj4gKwkJICBTVU5YSV9G VU5DVElPTigweDQsICJ0czAiKSwgCQkvKiBENyAqLwo+PiArCQkgIFNVTlhJX0ZVTkNUSU9OX0lS UV9CQU5LKDB4NiwgMiwgMTEpKSwJLyoKPiBQRF9FSU5UMTEgKi8KPj4gKwlTVU5YSV9QSU4oU1VO WElfUElOQ1RSTF9QSU4oRCwgMTIpLAo+PiArCQkgIFNVTlhJX0ZVTkNUSU9OKDB4MCwgImdwaW9f aW4iKSwKPj4gKwkJICBTVU5YSV9GVU5DVElPTigweDEsICJncGlvX291dCIpLAo+PiArCQkgIFNV TlhJX0ZVTkNUSU9OKDB4MiwgImxjZDAiKSwJCS8qIEQxMiAqLwo+PiArCQkgIFNVTlhJX0ZVTkNU SU9OKDB4MywgImx2ZHMxIiksCQkvKiBWUDEgKi8KPj4gKwkJICBTVU5YSV9GVU5DVElPTigweDQs ICJzaW0iKSwgCQkvKiBWUFBFTgo+ICovCj4+ICsJCSAgU1VOWElfRlVOQ1RJT05fSVJRX0JBTkso MHg2LCAyLCAxMikpLAkvKgo+IFBEX0VJTlQxMiAqLwo+PiArCVNVTlhJX1BJTihTVU5YSV9QSU5D VFJMX1BJTihELCAxMyksCj4+ICsJCSAgU1VOWElfRlVOQ1RJT04oMHgwLCAiZ3Bpb19pbiIpLAo+ PiArCQkgIFNVTlhJX0ZVTkNUSU9OKDB4MSwgImdwaW9fb3V0IiksCj4+ICsJCSAgU1VOWElfRlVO Q1RJT04oMHgyLCAibGNkMCIpLAkJLyogRDEzICovCj4+ICsJCSAgU1VOWElfRlVOQ1RJT04oMHgz LCAibHZkczEiKSwJCS8qIFZOMSAqLwo+PiArCQkgIFNVTlhJX0ZVTkNUSU9OKDB4NCwgInNpbSIp LAkJLyogVlBQUFAKPiAqLwo+PiArCQkgIFNVTlhJX0ZVTkNUSU9OX0lSUV9CQU5LKDB4NiwgMiwg MTMpKSwJLyoKPiBQRF9FSU5UMTMgKi8KPj4gKwlTVU5YSV9QSU4oU1VOWElfUElOQ1RSTF9QSU4o RCwgMTQpLAo+PiArCQkgIFNVTlhJX0ZVTkNUSU9OKDB4MCwgImdwaW9faW4iKSwKPj4gKwkJICBT VU5YSV9GVU5DVElPTigweDEsICJncGlvX291dCIpLAo+PiArCQkgIFNVTlhJX0ZVTkNUSU9OKDB4 MiwgImxjZDAiKSwJCS8qIEQxNCAqLwo+PiArCQkgIFNVTlhJX0ZVTkNUSU9OKDB4MywgImx2ZHMx IiksCQkvKiBWUDIgKi8KPj4gKwkJICBTVU5YSV9GVU5DVElPTigweDQsICJzaW0iKSwJCS8qIFBX UkVOCj4gKi8KPj4gKwkJICBTVU5YSV9GVU5DVElPTl9JUlFfQkFOSygweDYsIDIsIDE0KSksCS8q Cj4gUERfRUlOVDE0ICovCj4+ICsJU1VOWElfUElOKFNVTlhJX1BJTkNUUkxfUElOKEQsIDE1KSwK Pj4gKwkJICBTVU5YSV9GVU5DVElPTigweDAsICJncGlvX2luIiksCj4+ICsJCSAgU1VOWElfRlVO Q1RJT04oMHgxLCAiZ3Bpb19vdXQiKSwKPj4gKwkJICBTVU5YSV9GVU5DVElPTigweDIsICJsY2Qw IiksCQkvKiBEMTUgKi8KPj4gKwkJICBTVU5YSV9GVU5DVElPTigweDMsICJsdmRzMSIpLAkJLyog Vk4yICovCj4+ICsJCSAgU1VOWElfRlVOQ1RJT04oMHg0LCAic2ltIiksCQkvKiBDTEsgKi8KPj4g KwkJICBTVU5YSV9GVU5DVElPTl9JUlFfQkFOSygweDYsIDIsIDE1KSksCS8qCj4gUERfRUlOVDE1 ICovCj4+ICsJU1VOWElfUElOKFNVTlhJX1BJTkNUUkxfUElOKEQsIDE2KSwKPj4gKwkJICBTVU5Y SV9GVU5DVElPTigweDAsICJncGlvX2luIiksCj4+ICsJCSAgU1VOWElfRlVOQ1RJT04oMHgxLCAi Z3Bpb19vdXQiKSwKPj4gKwkJICBTVU5YSV9GVU5DVElPTigweDIsICJsY2QwIiksCQkvKiBEMTYg Ki8KPj4gKwkJICBTVU5YSV9GVU5DVElPTigweDMsICJsdmRzMSIpLAkJLyogVlBDICovCj4+ICsJ CSAgU1VOWElfRlVOQ1RJT04oMHg0LCAic2ltIiksCQkvKiBEQVRBCj4gKi8KPj4gKwkJICBTVU5Y SV9GVU5DVElPTl9JUlFfQkFOSygweDYsIDIsIDE2KSksCS8qCj4gUERfRUlOVDE2ICovCj4+ICsJ U1VOWElfUElOKFNVTlhJX1BJTkNUUkxfUElOKEQsIDE3KSwKPj4gKwkJICBTVU5YSV9GVU5DVElP TigweDAsICJncGlvX2luIiksCj4+ICsJCSAgU1VOWElfRlVOQ1RJT04oMHgxLCAiZ3Bpb19vdXQi KSwKPj4gKwkJICBTVU5YSV9GVU5DVElPTigweDIsICJsY2QwIiksCQkvKiBEMTcgKi8KPj4gKwkJ ICBTVU5YSV9GVU5DVElPTigweDMsICJsdmRzMSIpLAkJLyogVk5DICovCj4+ICsJCSAgU1VOWElf RlVOQ1RJT04oMHg0LCAic2ltIiksCQkvKiBSU1QgKi8KPj4gKwkJICBTVU5YSV9GVU5DVElPTl9J UlFfQkFOSygweDYsIDIsIDE3KSksCS8qCj4gUERfRUlOVDE3ICovCj4+ICsJU1VOWElfUElOKFNV TlhJX1BJTkNUUkxfUElOKEQsIDE4KSwKPj4gKwkJICBTVU5YSV9GVU5DVElPTigweDAsICJncGlv X2luIiksCj4+ICsJCSAgU1VOWElfRlVOQ1RJT04oMHgxLCAiZ3Bpb19vdXQiKSwKPj4gKwkJICBT VU5YSV9GVU5DVElPTigweDIsICJsY2QwIiksCQkvKiBEMTggKi8KPj4gKwkJICBTVU5YSV9GVU5D VElPTigweDMsICJsdmRzMSIpLAkJLyogVlAzICovCj4+ICsJCSAgU1VOWElfRlVOQ1RJT04oMHg0 LCAic2ltIiksCQkvKiBERVQgKi8KPj4gKwkJICBTVU5YSV9GVU5DVElPTl9JUlFfQkFOSygweDYs IDIsIDE4KSksCS8qCj4gUERfRUlOVDE4ICovCj4+ICsJU1VOWElfUElOKFNVTlhJX1BJTkNUUkxf UElOKEQsIDE5KSwKPj4gKwkJICBTVU5YSV9GVU5DVElPTigweDAsICJncGlvX2luIiksCj4+ICsJ CSAgU1VOWElfRlVOQ1RJT04oMHgxLCAiZ3Bpb19vdXQiKSwKPj4gKwkJICBTVU5YSV9GVU5DVElP TigweDIsICJsY2QwIiksCQkvKiBEMTkgKi8KPj4gKwkJICBTVU5YSV9GVU5DVElPTigweDMsICJs dmRzMSIpLAkJLyogVk4zICovCj4+ICsJCSAgU1VOWElfRlVOQ1RJT05fSVJRX0JBTksoMHg2LCAy LCAxOSkpLAkvKgo+IFBEX0VJTlQxOSAqLwo+PiArCVNVTlhJX1BJTihTVU5YSV9QSU5DVFJMX1BJ TihELCAyMCksCj4+ICsJCSAgU1VOWElfRlVOQ1RJT04oMHgwLCAiZ3Bpb19pbiIpLAo+PiArCQkg IFNVTlhJX0ZVTkNUSU9OKDB4MSwgImdwaW9fb3V0IiksCj4+ICsJCSAgU1VOWElfRlVOQ1RJT04o MHgyLCAibGNkMCIpLAkJLyogRDIwICovCj4+ICsJCSAgU1VOWElfRlVOQ1RJT05fSVJRX0JBTkso MHg2LCAyLCAyMCkpLAkvKgo+IFBEX0VJTlQyMCAqLwo+PiArCVNVTlhJX1BJTihTVU5YSV9QSU5D VFJMX1BJTihELCAyMSksCj4+ICsJCSAgU1VOWElfRlVOQ1RJT04oMHgwLCAiZ3Bpb19pbiIpLAo+ PiArCQkgIFNVTlhJX0ZVTkNUSU9OKDB4MSwgImdwaW9fb3V0IiksCj4+ICsJCSAgU1VOWElfRlVO Q1RJT04oMHgyLCAibGNkMCIpLAkJLyogRDIxICovCj4+ICsJCSAgU1VOWElfRlVOQ1RJT05fSVJR X0JBTksoMHg2LCAyLCAyMSkpLAkvKgo+IFBEX0VJTlQyMSAqLwo+PiArCVNVTlhJX1BJTihTVU5Y SV9QSU5DVFJMX1BJTihELCAyMiksCj4+ICsJCSAgU1VOWElfRlVOQ1RJT04oMHgwLCAiZ3Bpb19p biIpLAo+PiArCQkgIFNVTlhJX0ZVTkNUSU9OKDB4MSwgImdwaW9fb3V0IiksCj4+ICsJCSAgU1VO WElfRlVOQ1RJT04oMHgyLCAibGNkMCIpLAkJLyogRDIyICovCj4+ICsJCSAgU1VOWElfRlVOQ1RJ T05fSVJRX0JBTksoMHg2LCAyLCAyMikpLAkvKgo+IFBEX0VJTlQyMiAqLwo+PiArCVNVTlhJX1BJ TihTVU5YSV9QSU5DVFJMX1BJTihELCAyMyksCj4+ICsJCSAgU1VOWElfRlVOQ1RJT04oMHgwLCAi Z3Bpb19pbiIpLAo+PiArCQkgIFNVTlhJX0ZVTkNUSU9OKDB4MSwgImdwaW9fb3V0IiksCj4+ICsJ CSAgU1VOWElfRlVOQ1RJT04oMHgyLCAibGNkMCIpLAkJLyogRDIzICovCj4+ICsJCSAgU1VOWElf RlVOQ1RJT05fSVJRX0JBTksoMHg2LCAyLCAyMykpLAkvKgo+IFBEX0VJTlQyMyAqLwo+PiArCVNV TlhJX1BJTihTVU5YSV9QSU5DVFJMX1BJTihELCAyNCksCj4+ICsJCSAgU1VOWElfRlVOQ1RJT04o MHgwLCAiZ3Bpb19pbiIpLAo+PiArCQkgIFNVTlhJX0ZVTkNUSU9OKDB4MSwgImdwaW9fb3V0Iiks Cj4+ICsJCSAgU1VOWElfRlVOQ1RJT04oMHgyLCAibGNkMCIpLAkJLyogQ0xLICovCj4+ICsJCSAg U1VOWElfRlVOQ1RJT05fSVJRX0JBTksoMHg2LCAyLCAyNCkpLAkvKgo+IFBEX0VJTlQyNCAqLwo+ PiArCVNVTlhJX1BJTihTVU5YSV9QSU5DVFJMX1BJTihELCAyNSksCj4+ICsJCSAgU1VOWElfRlVO Q1RJT04oMHgwLCAiZ3Bpb19pbiIpLAo+PiArCQkgIFNVTlhJX0ZVTkNUSU9OKDB4MSwgImdwaW9f b3V0IiksCj4+ICsJCSAgU1VOWElfRlVOQ1RJT04oMHgyLCAibGNkMCIpLAkJLyogREUgKi8KPj4g KwkJICBTVU5YSV9GVU5DVElPTl9JUlFfQkFOSygweDYsIDIsIDI1KSksCS8qCj4gUERfRUlOVDI1 ICovCj4+ICsJU1VOWElfUElOKFNVTlhJX1BJTkNUUkxfUElOKEQsIDI2KSwKPj4gKwkJICBTVU5Y SV9GVU5DVElPTigweDAsICJncGlvX2luIiksCj4+ICsJCSAgU1VOWElfRlVOQ1RJT04oMHgxLCAi Z3Bpb19vdXQiKSwKPj4gKwkJICBTVU5YSV9GVU5DVElPTigweDIsICJsY2QwIiksCQkvKiBIU1lO Qwo+ICovCj4+ICsJCSAgU1VOWElfRlVOQ1RJT05fSVJRX0JBTksoMHg2LCAyLCAyNikpLAkvKgo+ IFBEX0VJTlQyNiAqLwo+PiArCVNVTlhJX1BJTihTVU5YSV9QSU5DVFJMX1BJTihELCAyNyksCj4+ ICsJCSAgU1VOWElfRlVOQ1RJT04oMHgwLCAiZ3Bpb19pbiIpLAo+PiArCQkgIFNVTlhJX0ZVTkNU SU9OKDB4MSwgImdwaW9fb3V0IiksCj4+ICsJCSAgU1VOWElfRlVOQ1RJT04oMHgyLCAibGNkMCIp LAkJLyogVlNZTkMKPiAqLwo+PiArCQkgIFNVTlhJX0ZVTkNUSU9OX0lSUV9CQU5LKDB4NiwgMiwg MjcpKSwJLyoKPiBQRF9FSU5UMjcgKi8KPj4gKwlTVU5YSV9QSU4oU1VOWElfUElOQ1RSTF9QSU4o RCwgMjgpLAo+PiArCQkgIFNVTlhJX0ZVTkNUSU9OKDB4MCwgImdwaW9faW4iKSwKPj4gKwkJICBT VU5YSV9GVU5DVElPTigweDEsICJncGlvX291dCIpLAo+PiArCQkgIFNVTlhJX0ZVTkNUSU9OKDB4 MiwgInB3bTAiKSwKPj4gKwkJICBTVU5YSV9GVU5DVElPTl9JUlFfQkFOSygweDYsIDIsIDI4KSks CS8qCj4gUERfRUlOVDI4ICovCj4+ICsJLyogSG9sZSAqLwo+PiArCVNVTlhJX1BJTihTVU5YSV9Q SU5DVFJMX1BJTihFLCAwKSwKPj4gKwkJICBTVU5YSV9GVU5DVElPTigweDAsICJncGlvX2luIiks Cj4+ICsJCSAgU1VOWElfRlVOQ1RJT04oMHgxLCAiZ3Bpb19vdXQiKSwKPj4gKwkJICBTVU5YSV9G VU5DVElPTigweDIsICJjc2kiKSwJCS8qICBQQ0xLCj4gKi8KPj4gKwkJICBTVU5YSV9GVU5DVElP Tl9JUlFfQkFOSygweDYsIDMsIDApKSwJLyoKPiBQRV9FSU5UMCAqLwo+PiArCVNVTlhJX1BJTihT VU5YSV9QSU5DVFJMX1BJTihFLCAxKSwKPj4gKwkJICBTVU5YSV9GVU5DVElPTigweDAsICJncGlv X2luIiksCj4+ICsJCSAgU1VOWElfRlVOQ1RJT04oMHgxLCAiZ3Bpb19vdXQiKSwKPj4gKwkJICBT VU5YSV9GVU5DVElPTigweDIsICJjc2kiKSwJCS8qICBNQ0xLCj4gKi8KPj4gKwkJICBTVU5YSV9G VU5DVElPTl9JUlFfQkFOSygweDYsIDMsIDEpKSwJLyoKPiBQRV9FSU5UMSAqLwo+PiArCVNVTlhJ X1BJTihTVU5YSV9QSU5DVFJMX1BJTihFLCAyKSwKPj4gKwkJICBTVU5YSV9GVU5DVElPTigweDAs ICJncGlvX2luIiksCj4+ICsJCSAgU1VOWElfRlVOQ1RJT04oMHgxLCAiZ3Bpb19vdXQiKSwKPj4g KwkJICBTVU5YSV9GVU5DVElPTigweDIsICJjc2kiKSwJCS8qCj4gSFNZTkMgICovCj4+ICsJCSAg U1VOWElfRlVOQ1RJT05fSVJRX0JBTksoMHg2LCAzLCAyKSksCS8qCj4gUEVfRUlOVDIgKi8KPj4g KwlTVU5YSV9QSU4oU1VOWElfUElOQ1RSTF9QSU4oRSwgMyksCj4+ICsJCSAgU1VOWElfRlVOQ1RJ T04oMHgwLCAiZ3Bpb19pbiIpLAo+PiArCQkgIFNVTlhJX0ZVTkNUSU9OKDB4MSwgImdwaW9fb3V0 IiksCj4+ICsJCSAgU1VOWElfRlVOQ1RJT04oMHgyLCAiY3NpIiksCQkvKgo+IFZTWU5DICAqLwo+ PiArCQkgIFNVTlhJX0ZVTkNUSU9OX0lSUV9CQU5LKDB4NiwgMywgMykpLAkvKgo+IFBFX0VJTlQz ICovCj4+ICsJU1VOWElfUElOKFNVTlhJX1BJTkNUUkxfUElOKEUsIDQpLAo+PiArCQkgIFNVTlhJ X0ZVTkNUSU9OKDB4MCwgImdwaW9faW4iKSwKPj4gKwkJICBTVU5YSV9GVU5DVElPTigweDEsICJn cGlvX291dCIpLAo+PiArCQkgIFNVTlhJX0ZVTkNUSU9OKDB4MiwgImNzaSIpLAkJLyogIEQwCj4g Ki8KPj4gKwkJICBTVU5YSV9GVU5DVElPTl9JUlFfQkFOSygweDYsIDMsIDQpKSwJLyoKPiBQRV9F SU5UNCAqLwo+PiArCVNVTlhJX1BJTihTVU5YSV9QSU5DVFJMX1BJTihFLCA1KSwKPj4gKwkJICBT VU5YSV9GVU5DVElPTigweDAsICJncGlvX2luIiksCj4+ICsJCSAgU1VOWElfRlVOQ1RJT04oMHgx LCAiZ3Bpb19vdXQiKSwKPj4gKwkJICBTVU5YSV9GVU5DVElPTigweDIsICJjc2kiKSwJCS8qICBE MQo+ICovCj4+ICsJCSAgU1VOWElfRlVOQ1RJT05fSVJRX0JBTksoMHg2LCAzLCA1KSksCS8qCj4g UEVfRUlOVDUgKi8KPj4gKwlTVU5YSV9QSU4oU1VOWElfUElOQ1RSTF9QSU4oRSwgNiksCj4+ICsJ CSAgU1VOWElfRlVOQ1RJT04oMHgwLCAiZ3Bpb19pbiIpLAo+PiArCQkgIFNVTlhJX0ZVTkNUSU9O KDB4MSwgImdwaW9fb3V0IiksCj4+ICsJCSAgU1VOWElfRlVOQ1RJT04oMHgyLCAiY3NpIiksCQkv KiAgRDIKPiAqLwo+PiArCQkgIFNVTlhJX0ZVTkNUSU9OX0lSUV9CQU5LKDB4NiwgMywgNikpLAkv Kgo+IFBFX0VJTlQ2ICovCj4+ICsJU1VOWElfUElOKFNVTlhJX1BJTkNUUkxfUElOKEUsIDcpLAo+ PiArCQkgIFNVTlhJX0ZVTkNUSU9OKDB4MCwgImdwaW9faW4iKSwKPj4gKwkJICBTVU5YSV9GVU5D VElPTigweDEsICJncGlvX291dCIpLAo+PiArCQkgIFNVTlhJX0ZVTkNUSU9OKDB4MiwgImNzaSIp LAkJLyogIEQzCj4gKi8KPj4gKwkJICBTVU5YSV9GVU5DVElPTl9JUlFfQkFOSygweDYsIDMsIDcp KSwJLyoKPiBQRV9FSU5UNyAqLwo+PiArCVNVTlhJX1BJTihTVU5YSV9QSU5DVFJMX1BJTihFLCA4 KSwKPj4gKwkJICBTVU5YSV9GVU5DVElPTigweDAsICJncGlvX2luIiksCj4+ICsJCSAgU1VOWElf RlVOQ1RJT04oMHgxLCAiZ3Bpb19vdXQiKSwKPj4gKwkJICBTVU5YSV9GVU5DVElPTigweDIsICJj c2kiKSwJCS8qICBENAo+ICovCj4+ICsJCSAgU1VOWElfRlVOQ1RJT05fSVJRX0JBTksoMHg2LCAz LCA4KSksCS8qCj4gUEVfRUlOVDggKi8KPj4gKwlTVU5YSV9QSU4oU1VOWElfUElOQ1RSTF9QSU4o RSwgOSksCj4+ICsJCSAgU1VOWElfRlVOQ1RJT04oMHgwLCAiZ3Bpb19pbiIpLAo+PiArCQkgIFNV TlhJX0ZVTkNUSU9OKDB4MSwgImdwaW9fb3V0IiksCj4+ICsJCSAgU1VOWElfRlVOQ1RJT04oMHgy LCAiY3NpIiksCQkvKiAgRDUKPiAqLwo+PiArCQkgIFNVTlhJX0ZVTkNUSU9OX0lSUV9CQU5LKDB4 NiwgMywgOSkpLAkvKgo+IFBFX0VJTlQ5ICovCj4+ICsJU1VOWElfUElOKFNVTlhJX1BJTkNUUkxf UElOKEUsIDEwKSwKPj4gKwkJICBTVU5YSV9GVU5DVElPTigweDAsICJncGlvX2luIiksCj4+ICsJ CSAgU1VOWElfRlVOQ1RJT04oMHgxLCAiZ3Bpb19vdXQiKSwKPj4gKwkJICBTVU5YSV9GVU5DVElP TigweDIsICJjc2kiKSwJCS8qICBENgo+ICovCj4+ICsJCSAgU1VOWElfRlVOQ1RJT05fSVJRX0JB TksoMHg2LCAzLCAxMCkpLAkvKgo+IFBFX0VJTlQxMCAqLwo+PiArCVNVTlhJX1BJTihTVU5YSV9Q SU5DVFJMX1BJTihFLCAxMSksCj4+ICsJCSAgU1VOWElfRlVOQ1RJT04oMHgwLCAiZ3Bpb19pbiIp LAo+PiArCQkgIFNVTlhJX0ZVTkNUSU9OKDB4MSwgImdwaW9fb3V0IiksCj4+ICsJCSAgU1VOWElf RlVOQ1RJT04oMHgyLCAiY3NpIiksCQkvKiAgRDcKPiAqLwo+PiArCQkgIFNVTlhJX0ZVTkNUSU9O X0lSUV9CQU5LKDB4NiwgMywgMTEpKSwJLyoKPiBQRV9FSU5UMTEgKi8KPj4gKwlTVU5YSV9QSU4o U1VOWElfUElOQ1RSTF9QSU4oRSwgMTIpLAo+PiArCQkgIFNVTlhJX0ZVTkNUSU9OKDB4MCwgImdw aW9faW4iKSwKPj4gKwkJICBTVU5YSV9GVU5DVElPTigweDEsICJncGlvX291dCIpLAo+PiArCQkg IFNVTlhJX0ZVTkNUSU9OKDB4MiwgImNzaSIpLAkJLyogIEQ4Cj4gKi8KPj4gKwkJICBTVU5YSV9G VU5DVElPTl9JUlFfQkFOSygweDYsIDMsIDEyKSksCS8qCj4gUEVfRUlOVDEyICovCj4+ICsJU1VO WElfUElOKFNVTlhJX1BJTkNUUkxfUElOKEUsIDEzKSwKPj4gKwkJICBTVU5YSV9GVU5DVElPTigw eDAsICJncGlvX2luIiksCj4+ICsJCSAgU1VOWElfRlVOQ1RJT04oMHgxLCAiZ3Bpb19vdXQiKSwK Pj4gKwkJICBTVU5YSV9GVU5DVElPTigweDIsICJjc2kiKSwJCS8qICBEOQo+ICovCj4+ICsJCSAg U1VOWElfRlVOQ1RJT05fSVJRX0JBTksoMHg2LCAzLCAxMykpLAkvKgo+IFBFX0VJTlQxMyAqLwo+ PiArCVNVTlhJX1BJTihTVU5YSV9QSU5DVFJMX1BJTihFLCAxNCksCj4+ICsJCSAgU1VOWElfRlVO Q1RJT04oMHgwLCAiZ3Bpb19pbiIpLAo+PiArCQkgIFNVTlhJX0ZVTkNUSU9OKDB4MSwgImdwaW9f b3V0IiksCj4+ICsJCSAgU1VOWElfRlVOQ1RJT04oMHgyLCAiY3NpIiksCQkvKiAgRDEwCj4gKi8K Pj4gKwkJICBTVU5YSV9GVU5DVElPTl9JUlFfQkFOSygweDYsIDMsIDE0KSksCS8qCj4gUEVfRUlO VDE0ICovCj4+ICsJU1VOWElfUElOKFNVTlhJX1BJTkNUUkxfUElOKEUsIDE1KSwKPj4gKwkJICBT VU5YSV9GVU5DVElPTigweDAsICJncGlvX2luIiksCj4+ICsJCSAgU1VOWElfRlVOQ1RJT04oMHgx LCAiZ3Bpb19vdXQiKSwKPj4gKwkJICBTVU5YSV9GVU5DVElPTigweDIsICJjc2kiKSwJCS8qICBE MTEKPiAqLwo+PiArCQkgIFNVTlhJX0ZVTkNUSU9OX0lSUV9CQU5LKDB4NiwgMywgMTUpKSwJLyoK PiBQRV9FSU5UMTUgKi8KPj4gKwlTVU5YSV9QSU4oU1VOWElfUElOQ1RSTF9QSU4oRSwgMTYpLAo+ PiArCQkgIFNVTlhJX0ZVTkNUSU9OKDB4MCwgImdwaW9faW4iKSwKPj4gKwkJICBTVU5YSV9GVU5D VElPTigweDEsICJncGlvX291dCIpLAo+PiArCQkgIFNVTlhJX0ZVTkNUSU9OKDB4MiwgImNzaSIp LAkJLyogIEQxMgo+ICovCj4+ICsJCSAgU1VOWElfRlVOQ1RJT05fSVJRX0JBTksoMHg2LCAzLCAx NikpLAkvKgo+IFBFX0VJTlQxNiAqLwo+PiArCVNVTlhJX1BJTihTVU5YSV9QSU5DVFJMX1BJTihF LCAxNyksCj4+ICsJCSAgU1VOWElfRlVOQ1RJT04oMHgwLCAiZ3Bpb19pbiIpLAo+PiArCQkgIFNV TlhJX0ZVTkNUSU9OKDB4MSwgImdwaW9fb3V0IiksCj4+ICsJCSAgU1VOWElfRlVOQ1RJT04oMHgy LCAiY3NpIiksCQkvKiAgRDEzCj4gKi8KPj4gKwkJICBTVU5YSV9GVU5DVElPTl9JUlFfQkFOSygw eDYsIDMsIDE3KSksCS8qCj4gUEVfRUlOVDE3ICovCj4+ICsJU1VOWElfUElOKFNVTlhJX1BJTkNU UkxfUElOKEUsIDE4KSwKPj4gKwkJICBTVU5YSV9GVU5DVElPTigweDAsICJncGlvX2luIiksCj4+ ICsJCSAgU1VOWElfRlVOQ1RJT04oMHgxLCAiZ3Bpb19vdXQiKSwKPj4gKwkJICBTVU5YSV9GVU5D VElPTigweDIsICJjc2kiKSwJCS8qICBEMTQKPiAqLwo+PiArCQkgIFNVTlhJX0ZVTkNUSU9OX0lS UV9CQU5LKDB4NiwgMywgMTgpKSwJLyoKPiBQRV9FSU5UMTggKi8KPj4gKwlTVU5YSV9QSU4oU1VO WElfUElOQ1RSTF9QSU4oRSwgMTkpLAo+PiArCQkgIFNVTlhJX0ZVTkNUSU9OKDB4MCwgImdwaW9f aW4iKSwKPj4gKwkJICBTVU5YSV9GVU5DVElPTigweDEsICJncGlvX291dCIpLAo+PiArCQkgIFNV TlhJX0ZVTkNUSU9OKDB4MiwgImNzaSIpLAkJLyogIEQxNQo+ICovCj4+ICsJCSAgU1VOWElfRlVO Q1RJT05fSVJRX0JBTksoMHg2LCAzLCAxOSkpLAkvKgo+IFBFX0VJTlQxOSAqLwo+PiArCVNVTlhJ X1BJTihTVU5YSV9QSU5DVFJMX1BJTihFLCAyMCksCj4+ICsJCSAgU1VOWElfRlVOQ1RJT04oMHgw LCAiZ3Bpb19pbiIpLAo+PiArCQkgIFNVTlhJX0ZVTkNUSU9OKDB4MSwgImdwaW9fb3V0IiksCj4+ ICsJCSAgU1VOWElfRlVOQ1RJT04oMHgyLCAiY3NpIiksCQkvKiAgU0NLCj4gKi8KPj4gKwkJICBT VU5YSV9GVU5DVElPTigweDUsICJpMmMyIiksCQkvKiAgU0NLCj4gKi8KPj4gKwkJICBTVU5YSV9G VU5DVElPTl9JUlFfQkFOSygweDYsIDMsIDIwKSksCS8qCj4gUEVfRUlOVDIwICovCj4+ICsJU1VO WElfUElOKFNVTlhJX1BJTkNUUkxfUElOKEUsIDIxKSwKPj4gKwkJICBTVU5YSV9GVU5DVElPTigw eDAsICJncGlvX2luIiksCj4+ICsJCSAgU1VOWElfRlVOQ1RJT04oMHgxLCAiZ3Bpb19vdXQiKSwK Pj4gKwkJICBTVU5YSV9GVU5DVElPTigweDIsICJjc2kiKSwJCS8qICBTREEKPiAqLwo+PiArCQkg IFNVTlhJX0ZVTkNUSU9OKDB4NSwgImkyYzIiKSwJCS8qICBTREEKPiAqLwo+PiArCQkgIFNVTlhJ X0ZVTkNUSU9OX0lSUV9CQU5LKDB4NiwgMywgMjEpKSwJLyoKPiBQRV9FSU5UMjEgKi8KPj4gKwlT VU5YSV9QSU4oU1VOWElfUElOQ1RSTF9QSU4oRSwgMjIpLAo+PiArCQkgIFNVTlhJX0ZVTkNUSU9O KDB4MCwgImdwaW9faW4iKSwKPj4gKwkJICBTVU5YSV9GVU5DVElPTigweDEsICJncGlvX291dCIp LAo+PiArCQkgIFNVTlhJX0ZVTkNUSU9OKDB4MiwgImNzaSIpLAkJLyoKPiBGU0lOMCAqLwo+PiAr CQkgIFNVTlhJX0ZVTkNUSU9OKDB4NCwgInRjb24wIiksCQkvKiAgVFJJRzAKPiAqLwo+PiArCQkg IFNVTlhJX0ZVTkNUSU9OX0lSUV9CQU5LKDB4NiwgMywgMjIpKSwJLyoKPiBQRV9FSU5UMjIgKi8K Pj4gKwkvKiBIb2xlICovCj4+ICAgCVNVTlhJX1BJTihTVU5YSV9QSU5DVFJMX1BJTihGLCAwKSwK Pj4gICAJCSAgU1VOWElfRlVOQ1RJT04oMHgwLCAiZ3Bpb19pbiIpLAo+PiAgIAkJICBTVU5YSV9G VU5DVElPTigweDEsICJncGlvX291dCIpLAo+Cj4KPgoKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGlu dXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQu b3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=