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=-12.0 required=3.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED,DKIM_INVALID,DKIM_SIGNED,FREEMAIL_FORGED_FROMDOMAIN, FREEMAIL_FROM,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,NICE_REPLY_A,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,USER_AGENT_SANE_1 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 5A566C4361B for ; Fri, 18 Dec 2020 08:33:58 +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 1C2D923B03 for ; Fri, 18 Dec 2020 08:33:58 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 1C2D923B03 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 046A289CF9; Fri, 18 Dec 2020 08:32:23 +0000 (UTC) Received: from mail-lf1-x135.google.com (mail-lf1-x135.google.com [IPv6:2a00:1450:4864:20::135]) by gabe.freedesktop.org (Postfix) with ESMTPS id 7853F8991A for ; Thu, 17 Dec 2020 20:58:31 +0000 (UTC) Received: by mail-lf1-x135.google.com with SMTP id x20so41668909lfe.12 for ; Thu, 17 Dec 2020 12:58:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:from:to:cc:references:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=2zaYEPU3Dc5zFOFGXsYjz12iYiWYHN8N3O6lakukl/s=; b=qgHdy+aVZrcGxyULYw4C/dnhEhXcHqnIi3WOZ6PUyWeJ1T2KuwB4MyFcAMVcIxtEkN P0wC9L1L3/OzQP2N4oOFkRUNhuvP6BbgtM9veJ1+/75E6Miy7hj7Bf2nEtboXPbzthOR kxxro9rjbhD5efC41F1HFL2RxEsBF22ZTFXdF10FlYyRqWRrEuRkkxNHvNJAyiBiyHb5 xCx3hJCcAYykCnF/aKI0AxMDTkj4x39+lQJUW1SrSIqcsl3UFk3eY07U8IrPb8AhV1uo MAvO3Efc7ekB1pIAMLvXK67v6Yhq5T7IZPOk04vo8zGuFhsht5N49PaRJoPc7WLTbass MfYw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:from:to:cc:references:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=2zaYEPU3Dc5zFOFGXsYjz12iYiWYHN8N3O6lakukl/s=; b=eG4TqPVEjWU5PhJBRv0tp+fzwReKR44Kn2+Q4zojj96soAt4g3xFYOxPIiWiwn6A1L vNwR6lqT6GjbghF4EMnxJyqbs5UscaqxfJN2W1MWOUkltvf56FKqWD5YkwqpaQH22Qzt UiI8JzauPPdHsJSStl0QRSDjGC/uE0tluI6m7X36iCrX01PX7eeMIjskPPAuT36m8lrz za9b7n/gxcR5mYIfUIpUQBy9+eIkLYZdgtNGnKJQ1jcbWODuF7CA+rHGl9gm01QxzSTw nq9gZnOZaJxdGMV4yqVxeLU6SE2YqhtkfrjTw4hx2Y0Ox65J3a7LsIntUZN7pdznpp2n N/pg== X-Gm-Message-State: AOAM5327s1IIuf1yJB3AU20DW2NllP5+0sIc+4h8Bor2dJ965JUn18jJ 6wVxtda7/9hcyhsAO3tpsnE= X-Google-Smtp-Source: ABdhPJybT54BUMIzcynXITACTqPF/IcLrcExqUZ6d4e77IqO+C219fiwEYcS2lWHXSvWZh2/2hrkeQ== X-Received: by 2002:a05:6512:3089:: with SMTP id z9mr233591lfd.433.1608238709941; Thu, 17 Dec 2020 12:58:29 -0800 (PST) Received: from [192.168.2.145] (109-252-192-57.dynamic.spd-mgts.ru. [109.252.192.57]) by smtp.googlemail.com with ESMTPSA id z26sm789139ljn.98.2020.12.17.12.58.28 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 17 Dec 2020 12:58:29 -0800 (PST) Subject: Re: [PATCH v2 34/48] gpu: host1x: Support power management From: Dmitry Osipenko To: Mikko Perttunen , Thierry Reding , Jonathan Hunter , Mark Brown , Liam Girdwood , Ulf Hansson , Mauro Carvalho Chehab , Rob Herring , Peter Geis , Nicolas Chauvet , Krzysztof Kozlowski , "Rafael J. Wysocki" , Kevin Hilman , Peter De Schrijver , Viresh Kumar , Stephen Boyd , Michael Turquette References: <20201217180638.22748-1-digetx@gmail.com> <20201217180638.22748-35-digetx@gmail.com> Message-ID: <5523b804-f5de-a529-fd4e-751c39ab663b@gmail.com> Date: Thu, 17 Dec 2020 23:58:28 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.4.2 MIME-Version: 1.0 In-Reply-To: Content-Language: en-US X-Mailman-Approved-At: Fri, 18 Dec 2020 08:31:48 +0000 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: devel@driverdev.osuosl.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-tegra@vger.kernel.org, linux-clk@vger.kernel.org, linux-media@vger.kernel.org Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" MTcuMTIuMjAyMCAyMTo0NSwgRG1pdHJ5IE9zaXBlbmtvINC/0LjRiNC10YI6Cj4gMTcuMTIuMjAy MCAyMToyMSwgTWlra28gUGVydHR1bmVuINC/0LjRiNC10YI6Cj4+IE9uIDEyLzE3LzIwIDg6MDYg UE0sIERtaXRyeSBPc2lwZW5rbyB3cm90ZToKPj4+IEFkZCBzdXNwZW5kL3Jlc3VtZSBhbmQgZ2Vu ZXJpYyBwb3dlciBkb21haW4gc3VwcG9ydCB0byB0aGUgSG9zdDF4IGRyaXZlci4KPj4+IFRoaXMg aXMgcmVxdWlyZWQgZm9yIGVuYWJsaW5nIHN5c3RlbS13aWRlIERWRlMgYW5kIHN1cHBvcnRpbmcg ZHluYW1pYwo+Pj4gcG93ZXIgbWFuYWdlbWVudCB1c2luZyBhIGdlbmVyaWMgcG93ZXIgZG9tYWlu Lgo+Pj4KPj4+IFRlc3RlZC1ieTogUGV0ZXIgR2VpcyA8cGd3aXBlb3V0QGdtYWlsLmNvbT4KPj4+ IFRlc3RlZC1ieTogTmljb2xhcyBDaGF1dmV0IDxrd2l6YXJ0QGdtYWlsLmNvbT4KPj4+IFNpZ25l ZC1vZmYtYnk6IERtaXRyeSBPc2lwZW5rbyA8ZGlnZXR4QGdtYWlsLmNvbT4KPj4+IC0tLQo+Pj4g wqAgZHJpdmVycy9ncHUvaG9zdDF4L2Rldi5jIHwgMTAyICsrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKystLS0tLQo+Pj4gwqAgMSBmaWxlIGNoYW5nZWQsIDkxIGluc2VydGlvbnMoKyks IDExIGRlbGV0aW9ucygtKQo+Pj4KPj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9ob3N0MXgv ZGV2LmMgYi9kcml2ZXJzL2dwdS9ob3N0MXgvZGV2LmMKPj4+IGluZGV4IGQwZWJiNzBlMmZkZC4u YzE1MjVjZmZlN2IxIDEwMDY0NAo+Pj4gLS0tIGEvZHJpdmVycy9ncHUvaG9zdDF4L2Rldi5jCj4+ PiArKysgYi9kcml2ZXJzL2dwdS9ob3N0MXgvZGV2LmMKPj4+IEBAIC0xMiw2ICsxMiw3IEBACj4+ PiDCoCAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+Cj4+PiDCoCAjaW5jbHVkZSA8bGludXgvb2Zf ZGV2aWNlLmg+Cj4+PiDCoCAjaW5jbHVkZSA8bGludXgvb2YuaD4KPj4+ICsjaW5jbHVkZSA8bGlu dXgvcG1fcnVudGltZS5oPgo+Pj4gwqAgI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KPj4+IMKgIMKg ICNkZWZpbmUgQ1JFQVRFX1RSQUNFX1BPSU5UUwo+Pj4gQEAgLTQxNyw3ICs0MTgsNyBAQCBzdGF0 aWMgaW50IGhvc3QxeF9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQo+Pj4gwqDC oMKgwqDCoMKgwqDCoMKgIHJldHVybiBlcnI7Cj4+PiDCoMKgwqDCoMKgIH0KPj4+IMKgIC3CoMKg wqAgaG9zdC0+cnN0ID0gZGV2bV9yZXNldF9jb250cm9sX2dldCgmcGRldi0+ZGV2LCAiaG9zdDF4 Iik7Cj4+PiArwqDCoMKgIGhvc3QtPnJzdCA9IGRldm1fcmVzZXRfY29udHJvbF9nZXRfZXhjbHVz aXZlX3JlbGVhc2VkKCZwZGV2LT5kZXYsCj4+PiAiaG9zdDF4Iik7Cj4+PiDCoMKgwqDCoMKgIGlm IChJU19FUlIoaG9zdC0+cnN0KSkgewo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgIGVyciA9IFBUUl9F UlIoaG9zdC0+cnN0KTsKPj4+IMKgwqDCoMKgwqDCoMKgwqDCoCBkZXZfZXJyKCZwZGV2LT5kZXYs ICJmYWlsZWQgdG8gZ2V0IHJlc2V0OiAlZFxuIiwgZXJyKTsKPj4+IEBAIC00MzcsMTYgKzQzOCwx NSBAQCBzdGF0aWMgaW50IGhvc3QxeF9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlCj4+PiAq cGRldikKPj4+IMKgwqDCoMKgwqDCoMKgwqDCoCBnb3RvIGlvbW11X2V4aXQ7Cj4+PiDCoMKgwqDC oMKgIH0KPj4+IMKgIC3CoMKgwqAgZXJyID0gY2xrX3ByZXBhcmVfZW5hYmxlKGhvc3QtPmNsayk7 Cj4+PiAtwqDCoMKgIGlmIChlcnIgPCAwKSB7Cj4+PiAtwqDCoMKgwqDCoMKgwqAgZGV2X2Vycigm cGRldi0+ZGV2LCAiZmFpbGVkIHRvIGVuYWJsZSBjbG9ja1xuIik7Cj4+PiAtwqDCoMKgwqDCoMKg wqAgZ290byBmcmVlX2NoYW5uZWxzOwo+Pj4gLcKgwqDCoCB9Cj4+PiArwqDCoMKgIHBtX3J1bnRp bWVfZW5hYmxlKCZwZGV2LT5kZXYpOwo+Pj4gK8KgwqDCoCBlcnIgPSBwbV9ydW50aW1lX2dldF9z eW5jKCZwZGV2LT5kZXYpOwo+Pj4gK8KgwqDCoCBpZiAoZXJyIDwgMCkKPj4+ICvCoMKgwqDCoMKg wqDCoCBnb3RvIHJwbV9kaXNhYmxlOwo+Pj4gwqAgwqDCoMKgwqDCoCBlcnIgPSByZXNldF9jb250 cm9sX2RlYXNzZXJ0KGhvc3QtPnJzdCk7Cj4+PiDCoMKgwqDCoMKgIGlmIChlcnIgPCAwKSB7Cj4+ PiDCoMKgwqDCoMKgwqDCoMKgwqAgZGV2X2VycigmcGRldi0+ZGV2LCAiZmFpbGVkIHRvIGRlYXNz ZXJ0IHJlc2V0OiAlZFxuIiwgZXJyKTsKPj4+IC3CoMKgwqDCoMKgwqDCoCBnb3RvIHVucHJlcGFy ZV9kaXNhYmxlOwo+Pj4gK8KgwqDCoMKgwqDCoMKgIGdvdG8gcnBtX2Rpc2FibGU7Cj4+PiDCoMKg wqDCoMKgIH0KPj4+IMKgIMKgwqDCoMKgwqAgZXJyID0gaG9zdDF4X3N5bmNwdF9pbml0KGhvc3Qp Owo+Pj4gQEAgLTQ4NSw5ICs0ODUsMTAgQEAgc3RhdGljIGludCBob3N0MXhfcHJvYmUoc3RydWN0 IHBsYXRmb3JtX2RldmljZQo+Pj4gKnBkZXYpCj4+PiDCoMKgwqDCoMKgIGhvc3QxeF9zeW5jcHRf ZGVpbml0KGhvc3QpOwo+Pj4gwqAgcmVzZXRfYXNzZXJ0Ogo+Pj4gwqDCoMKgwqDCoCByZXNldF9j b250cm9sX2Fzc2VydChob3N0LT5yc3QpOwo+Pj4gLXVucHJlcGFyZV9kaXNhYmxlOgo+Pj4gLcKg wqDCoCBjbGtfZGlzYWJsZV91bnByZXBhcmUoaG9zdC0+Y2xrKTsKPj4+IC1mcmVlX2NoYW5uZWxz Ogo+Pj4gK3JwbV9kaXNhYmxlOgo+Pj4gK8KgwqDCoCBwbV9ydW50aW1lX3B1dCgmcGRldi0+ZGV2 KTsKPj4+ICvCoMKgwqAgcG1fcnVudGltZV9kaXNhYmxlKCZwZGV2LT5kZXYpOwo+Pj4gKwo+Pj4g wqDCoMKgwqDCoCBob3N0MXhfY2hhbm5lbF9saXN0X2ZyZWUoJmhvc3QtPmNoYW5uZWxfbGlzdCk7 Cj4+PiDCoCBpb21tdV9leGl0Ogo+Pj4gwqDCoMKgwqDCoCBob3N0MXhfaW9tbXVfZXhpdChob3N0 KTsKPj4+IEBAIC01MDQsMTYgKzUwNSw5NSBAQCBzdGF0aWMgaW50IGhvc3QxeF9yZW1vdmUoc3Ry dWN0IHBsYXRmb3JtX2RldmljZQo+Pj4gKnBkZXYpCj4+PiDCoMKgwqDCoMKgIGhvc3QxeF9pbnRy X2RlaW5pdChob3N0KTsKPj4+IMKgwqDCoMKgwqAgaG9zdDF4X3N5bmNwdF9kZWluaXQoaG9zdCk7 Cj4+PiDCoMKgwqDCoMKgIHJlc2V0X2NvbnRyb2xfYXNzZXJ0KGhvc3QtPnJzdCk7Cj4+PiAtwqDC oMKgIGNsa19kaXNhYmxlX3VucHJlcGFyZShob3N0LT5jbGspOwo+Pj4gK8KgwqDCoCBwbV9ydW50 aW1lX3B1dCgmcGRldi0+ZGV2KTsKPj4+ICvCoMKgwqAgcG1fcnVudGltZV9kaXNhYmxlKCZwZGV2 LT5kZXYpOwo+Pj4gwqDCoMKgwqDCoCBob3N0MXhfaW9tbXVfZXhpdChob3N0KTsKPj4+IMKgIMKg wqDCoMKgwqAgcmV0dXJuIDA7Cj4+PiDCoCB9Cj4+PiDCoCArc3RhdGljIGludCBfX21heWJlX3Vu dXNlZCBob3N0MXhfcnVudGltZV9zdXNwZW5kKHN0cnVjdCBkZXZpY2UgKmRldikKPj4+ICt7Cj4+ PiArwqDCoMKgIHN0cnVjdCBob3N0MXggKmhvc3QgPSBkZXZfZ2V0X2RydmRhdGEoZGV2KTsKPj4+ ICsKPj4+ICvCoMKgwqAgY2xrX2Rpc2FibGVfdW5wcmVwYXJlKGhvc3QtPmNsayk7Cj4+PiArwqDC oMKgIHJlc2V0X2NvbnRyb2xfcmVsZWFzZShob3N0LT5yc3QpOwo+Pj4gKwo+Pj4gK8KgwqDCoCBy ZXR1cm4gMDsKPj4+ICt9Cj4+PiArCj4+PiArc3RhdGljIGludCBfX21heWJlX3VudXNlZCBob3N0 MXhfcnVudGltZV9yZXN1bWUoc3RydWN0IGRldmljZSAqZGV2KQo+Pj4gK3sKPj4+ICvCoMKgwqAg c3RydWN0IGhvc3QxeCAqaG9zdCA9IGRldl9nZXRfZHJ2ZGF0YShkZXYpOwo+Pj4gK8KgwqDCoCBp bnQgZXJyOwo+Pj4gKwo+Pj4gK8KgwqDCoCBlcnIgPSByZXNldF9jb250cm9sX2FjcXVpcmUoaG9z dC0+cnN0KTsKPj4+ICvCoMKgwqAgaWYgKGVycikgewo+Pj4gK8KgwqDCoMKgwqDCoMKgIGRldl9l cnIoZGV2LCAiZmFpbGVkIHRvIGFjcXVpcmUgcmVzZXQ6ICVkXG4iLCBlcnIpOwo+Pj4gK8KgwqDC oMKgwqDCoMKgIHJldHVybiBlcnI7Cj4+PiArwqDCoMKgIH0KPj4+ICsKPj4+ICvCoMKgwqAgZXJy ID0gY2xrX3ByZXBhcmVfZW5hYmxlKGhvc3QtPmNsayk7Cj4+PiArwqDCoMKgIGlmIChlcnIpIHsK Pj4+ICvCoMKgwqDCoMKgwqDCoCBkZXZfZXJyKGRldiwgImZhaWxlZCB0byBlbmFibGUgY2xvY2s6 ICVkXG4iLCBlcnIpOwo+Pj4gK8KgwqDCoMKgwqDCoMKgIGdvdG8gcmVsZWFzZV9yZXNldDsKPj4+ ICvCoMKgwqAgfQo+Pj4gKwo+Pj4gK8KgwqDCoCByZXR1cm4gMDsKPj4+ICsKPj4+ICtyZWxlYXNl X3Jlc2V0Ogo+Pj4gK8KgwqDCoCByZXNldF9jb250cm9sX3JlbGVhc2UoaG9zdC0+cnN0KTsKPj4+ ICsKPj4+ICvCoMKgwqAgcmV0dXJuIGVycjsKPj4+ICt9Cj4+PiArCj4+PiArc3RhdGljIF9fbWF5 YmVfdW51c2VkIGludCBob3N0MXhfc3VzcGVuZChzdHJ1Y3QgZGV2aWNlICpkZXYpCj4+PiArewo+ Pj4gK8KgwqDCoCBzdHJ1Y3QgaG9zdDF4ICpob3N0ID0gZGV2X2dldF9kcnZkYXRhKGRldik7Cj4+ PiArwqDCoMKgIGludCBlcnI7Cj4+PiArCj4+PiArwqDCoMKgIGhvc3QxeF9zeW5jcHRfc2F2ZSho b3N0KTsKPj4+ICsKPj4+ICvCoMKgwqAgZXJyID0gcG1fcnVudGltZV9mb3JjZV9zdXNwZW5kKGRl dik7Cj4+PiArwqDCoMKgIGlmIChlcnIgPCAwKQo+Pj4gK8KgwqDCoMKgwqDCoMKgIHJldHVybiBl cnI7Cj4+PiArCj4+PiArwqDCoMKgIHJldHVybiAwOwo+Pj4gK30KPj4+ICsKPj4+ICtzdGF0aWMg X19tYXliZV91bnVzZWQgaW50IGhvc3QxeF9yZXN1bWUoc3RydWN0IGRldmljZSAqZGV2KQo+Pj4g K3sKPj4+ICvCoMKgwqAgc3RydWN0IGhvc3QxeCAqaG9zdCA9IGRldl9nZXRfZHJ2ZGF0YShkZXYp Owo+Pj4gK8KgwqDCoCBzdHJ1Y3QgaG9zdDF4X2NoYW5uZWwgKmNoYW5uZWw7Cj4+PiArwqDCoMKg IHVuc2lnbmVkIGludCBpbmRleDsKPj4+ICvCoMKgwqAgaW50IGVycjsKPj4+ICsKPj4+ICvCoMKg wqAgZXJyID0gcG1fcnVudGltZV9mb3JjZV9yZXN1bWUoZGV2KTsKPj4+ICvCoMKgwqAgaWYgKGVy ciA8IDApCj4+PiArwqDCoMKgwqDCoMKgwqAgcmV0dXJuIGVycjsKPj4+ICsKPj4+ICvCoMKgwqAg aG9zdDF4X3N5bmNwdF9yZXN0b3JlKGhvc3QpOwo+Pgo+PiBXZSBhbHNvIG5lZWQgdG8gZXhlY3V0 ZSAnaG9zdDF4X3NldHVwX3NpZF90YWJsZScgdXBvbiByZXN1bWUuCj4gCj4gSW5kZWVkLCB0aGFu a3MuIEknbGwgY29ycmVjdCBpdCBpbiB0aGUgbmV4dCByZXZpc2lvbi4KPiAKPiBQZXJoYXBzIHRo ZSBhY3R1YWwgc2F2ZS9yZXN0b3JlIG5lZWRzIHRvIGJlIG1vdmVkIHRvIHRoZSBydW50aW1lCj4g Y2FsbGJhY2tzLiBBdCBsZWFzdCBJIGNhbid0IHJlbWVtYmVyIHJpZ2h0IG5vdyB3aHkgdGhpcyB3 YXNuJ3QgZG9uZSBpbgo+IHRoZSBmaXJzdCBwbGFjZS4KPiAKCkkgbG9va2VkIGF0IHRoZSBzYXZl L3Jlc3RvcmUgb25jZSBhZ2FpbiBhbmQgcmVjYWxsZWQgd2h5IGl0J3MgZG9uZSBzby4KVGhlIHJl YXNvbiBpcyB0aGF0IHRoZSBob3N0MXggdG91Y2hlcyBoYXJkd2FyZSBkdXJpbmcgdGhlIGRyaXZl ciBwcm9iZSwKYW5kIHRodXMsIFJQTSBuZWVkcyB0byBiZSByZXN1bWVkIGZpcnN0LiBJdCB3aWxs IGJlIGEgYmlnZ2VyIGNoYW5nZSB0bwpwcm9wZXJseSBkZWNvdXBsZSB0aGUgaGFyZHdhcmUgaW5p dGlhbGl6YXRpb24gc28gdGhhdCBpdCBhbGwgY291bGQgYmUKcHV0IGl0IGludG8gdGhlIFJQTSBj YWxsYmFjay4gSSdsbCB0cnkgdG8gZG8gaXQgaW4gdjMuCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVs QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWls bWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=