Received: by 2002:a05:6a10:2726:0:0:0:0 with SMTP id ib38csp172329pxb; Thu, 31 Mar 2022 02:30:35 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwSg1nNLPoAxs+/psoR7lr2vw50d3J2Px/UfWnOC/ofFC6O36XSstrvdNLUUeAPzpzGoueK X-Received: by 2002:a17:90a:d997:b0:1c6:d786:1089 with SMTP id d23-20020a17090ad99700b001c6d7861089mr4997599pjv.51.1648719035574; Thu, 31 Mar 2022 02:30:35 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1648719035; cv=none; d=google.com; s=arc-20160816; b=LuL2yOzQbVHJeS3EE4vsxfs+4dx2ohznyicWa+T+SOsVcC6jJacl4MCV5e1E/J5Rz0 PJbjOZY7/bFMhK+rsNV4XNjNXKPzKC1KM7Bm7b32wnVHGbOTlLwasDlrYwb65+ie/Gn/ aP8+gstZe7j3TG5c/SqgrE2rMwip7FF2cXbNDWvRRK5z5+ISvDK7ZlyjqSMsekdlOy3G YG5STQEMP+7tQ2PgLse0IyRuQLot3BWUDZAJKgyzyA0+S0oPMzxsGcPs0ugqhPfkw2s1 BdsPCNBsHpkw6y3bJuq9IKYkOYEqcUXEgMzI1IbirY2BIi+SDFROT/4KsqXq9xwpOCs+ jX+w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:in-reply-to:from :references:cc:to:content-language:subject:user-agent:mime-version :date:message-id:dkim-signature; bh=iyYwE56IOCfsoIynCGUIyOIgYS/m65/1JJzirGl6Moc=; b=0Jx4DB6JibvyIf0GSfF2UV3jGH/Sw4NqPcNVlVB4vrCXz6oC4Bl3ycxE9pSBGHkrRJ ids5zh1QdsFQpbt87Akrv6FziTjFkHbo9V/McEyt50U3HzcXPZ/9voOI/6IXzgQcnbL9 0nS1pou6R1srN/9ltWT1ni29WB4G6jiuekS8GjCFXW+qJ288FWMdMaKs/gUcvUZUfUXb VmRc+jixuih6Il4sHNCV6VzAh6+hCd1Z4B7NT53QbuNu8glyfUHi8IAK7OektNvREBbL PwFi/UY0OT4DKjrT47sO6Ivu6ue/gepQ+Ejth0roZ97LVhpLXkjRiUcaY4rLkAr36YDR 9OAg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=DjWx0Urw; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id w5-20020a63c105000000b003816043efa9si24427417pgf.414.2022.03.31.02.30.21; Thu, 31 Mar 2022 02:30:35 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=DjWx0Urw; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232923AbiCaIhC (ORCPT + 99 others); Thu, 31 Mar 2022 04:37:02 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40730 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229874AbiCaIhB (ORCPT ); Thu, 31 Mar 2022 04:37:01 -0400 Received: from mail-lj1-x22a.google.com (mail-lj1-x22a.google.com [IPv6:2a00:1450:4864:20::22a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A0EB51E31B7 for ; Thu, 31 Mar 2022 01:35:14 -0700 (PDT) Received: by mail-lj1-x22a.google.com with SMTP id h11so31005670ljb.2 for ; Thu, 31 Mar 2022 01:35:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=message-id:date:mime-version:user-agent:subject:content-language:to :cc:references:from:in-reply-to:content-transfer-encoding; bh=iyYwE56IOCfsoIynCGUIyOIgYS/m65/1JJzirGl6Moc=; b=DjWx0UrwGkXW20Ke+2/4bPmxzusvSSv9PUD4tRGgO++2Uk2IgeH8GgVmtAWLRk9fYC VwFwQlHsAzquzRY1s2VIsE5TM2DaTpSdVklsFVJJGrNHY8bsSjtPM3hpokC9js4YqIOI mC1DeetrLfEghVplimkCPdngN8eCbxLMOxnHr4eIXRp2zrJmvhN0DJDdVCy101loacvJ vsn0MepgbNfWhc66CEtxZEYI5y21EC0HvDF8kSlhHMjPDsj30BIcDAF+49ghrj6vJpTC sHv8e1ouNZd+hpS0fFYyeK8rnX8WqpJl8QI6uetBftJ48+5A0fz5eVYO9oGtUnFFlgI8 h/qA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:date:mime-version:user-agent:subject :content-language:to:cc:references:from:in-reply-to :content-transfer-encoding; bh=iyYwE56IOCfsoIynCGUIyOIgYS/m65/1JJzirGl6Moc=; b=hUFzF9euBqYRjqbIzGxvtmrYDAP/d5vylncw8GQzTkB7wlBLaUlbswLvOp5HQxrqbT lW2RhXIkD8ra0EOKvNSjT2cbcWbrCCI9fIYCAKFz6sIEg0MCZkMOp2Isup5L9Y3/kktM B9OG6K+FiG7ymoHNDyw4ANghedgTCZPMBi2eTNiBcldBZIhpK93an9Mx32NLADEmPiPa HPMLZcMLp//54KqJjeZe3GtkBvngR6yMbYXiKEtP1M2NMs6etwdZUUxVwkVrHFHn047K +rid7Fe/IUYO1Ibsv+l4BaNHfftgJPwljbzbVlYSZkHqCFt7laEmjqsfJEplPS9rOc38 CWGQ== X-Gm-Message-State: AOAM532euQKVRgE2cXFnTm2XbXGE0ArhfqizhNbLxfnuJHMGsBSjhPaI B2s8ZT+MDsFgz8npu31XLcA= X-Received: by 2002:a05:651c:887:b0:247:f630:d069 with SMTP id d7-20020a05651c088700b00247f630d069mr9823327ljq.514.1648715712681; Thu, 31 Mar 2022 01:35:12 -0700 (PDT) Received: from [10.10.10.122] (88-115-161-74.elisa-laajakaista.fi. [88.115.161.74]) by smtp.gmail.com with ESMTPSA id g27-20020a2eb5db000000b002498222c8dasm2551442ljn.65.2022.03.31.01.35.11 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 31 Mar 2022 01:35:12 -0700 (PDT) Message-ID: Date: Thu, 31 Mar 2022 04:35:11 -0400 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 v7 1/3] i915/gvt: Separate the MMIO tracking table from GVT-g Content-Language: en-US To: Christoph Hellwig , "Wang, Zhi A" Cc: "dri-devel@lists.freedesktop.org" , "linux-kernel@vger.kernel.org" , "intel-gfx@lists.freedesktop.org" , "intel-gvt-dev@lists.freedesktop.org" , Zhi Wang , Jason Gunthorpe , Jani Nikula , Joonas Lahtinen , "Vivi, Rodrigo" , Zhenyu Wang References: <20220325175251.167164-1-zhi.a.wang@intel.com> <20220328065008.GA29798@lst.de> <4af59d97-b583-4022-3ec3-360e7df43689@intel.com> <20220331074225.GA21004@lst.de> <20220331083355.GA21928@lst.de> From: Zhi Wang In-Reply-To: <20220331083355.GA21928@lst.de> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: base64 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,NICE_REPLY_A, RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org VGhhbmtzLiBMZXQgbWUgZml4IHRoYXQuIDopDQoNCk9uIDMvMzEvMjIgMDQ6MzMsIENocmlz dG9waCBIZWxsd2lnIHdyb3RlOg0KPiBPbiBUaHUsIE1hciAzMSwgMjAyMiBhdCAwODowNDow NEFNICswMDAwLCBXYW5nLCBaaGkgQSB3cm90ZToNCj4+IEhpIENocmlzOg0KPj4NCj4+IFRo YW5rcyBmb3IgdGhlIHRlc3RpbmcuIENhbiB5b3UgYXR0YWNoIHRoZSBkbWVzZz8gSSB0ZXN0 ZWQgbW9zdGx5IG9uIG15IHNreWxha2UgZGVza3RvcCB3aXRoIHNvbWUgM0Qgd29ya2xvYWQu DQo+IFN1cmUsIEkgc2hvdWxkIGhhdmUgZG9uZSB0aGF0IGZyb20gdGhlIGJlZ2lubmluZzoN Cj4NCj4gWyAgIDI1LjM1NDU4N10gdmZpb19tZGV2IDY4MTRmMzkyLTUwYWMtNDIzNi1hZTNk LTI2ZDQ3MmZkOGFhZTogQWRkaW5nIHRvIGlvbW11IGdyb3VwIDANCj4gWyAgIDI1LjU4MzAx NV0gTDFURiBDUFUgYnVnIHByZXNlbnQgYW5kIFNNVCBvbiwgZGF0YSBsZWFrIHBvc3NpYmxl LiBTZWUgQ1ZFLTIwMTgtMzY0NiBhbmQgaHR0cHM6Ly93d3cua2VybmVsLm9yZy9kb2MvaHRt bC9sYXRlc3QvYWRtaW4tZ3VpZGUvaHctdnVsbi9sMXRmLmh0bWwgZm9yIGRldGFpbHMuDQo+ IFsgICAyNi40Mjk0OTJdIGt2bSBbMjU1NV06IHZjcHUwLCBndWVzdCBySVA6IDB4ZmZmZmZm ZmY4MTAwM2U2ZSBkaXNhYmxlZCBwZXJmY3RyIHdybXNyOiAweGMyIGRhdGEgMHhmZmZmDQo+ IFsgICAzMC4yMDYyMDJdIEJVRzoga2VybmVsIE5VTEwgcG9pbnRlciBkZXJlZmVyZW5jZSwg YWRkcmVzczogMDAwMDAwMDAwMDAwMDAwMA0KPiBbICAgMzAuMjA2MjA2XSAjUEY6IHN1cGVy dmlzb3IgaW5zdHJ1Y3Rpb24gZmV0Y2ggaW4ga2VybmVsIG1vZGUNCj4gWyAgIDMwLjIwNjIw OF0gI1BGOiBlcnJvcl9jb2RlKDB4MDAxMCkgLSBub3QtcHJlc2VudCBwYWdlDQo+IFsgICAz MC4yMDYyMDldIFBHRCAwIFA0RCAwDQo+IFsgICAzMC4yMDYyMTFdIE9vcHM6IDAwMTAgWyMx XSBQUkVFTVBUIFNNUCBQVEkNCj4gWyAgIDMwLjIwNjIxNF0gQ1BVOiA2IFBJRDogMjU2NSBD b21tOiBxZW11LXN5c3RlbS14ODYgVGFpbnRlZDogRyAgICAgICAgICAgIEUgICAgIDUuMTcu MCsgIzEyOTINCj4gWyAgIDMwLjIwNjIxNl0gSGFyZHdhcmUgbmFtZTogTEVOT1ZPIDIwS0gw MDZKR0UvMjBLSDAwNkpHRSwgQklPUyBOMjNFVDYyVyAoMS4zNyApIDAyLzE5LzIwMTkNCj4g WyAgIDMwLjIwNjIxN10gUklQOiAwMDEwOjB4MA0KPiBbICAgMzAuMjA2MjIzXSBDb2RlOiBV bmFibGUgdG8gYWNjZXNzIG9wY29kZSBieXRlcyBhdCBSSVAgMHhmZmZmZmZmZmZmZmZmZmQ2 Lg0KPiBbICAgMzAuMjA2MjI0XSBSU1A6IDAwMTg6ZmZmZmE3NzVjM2ZiM2UxOCBFRkxBR1M6 IDAwMDEwMjg2DQo+IFsgICAzMC4yMDYyMjZdIFJBWDogMDAwMDAwMDAwMDAwMDAwMCBSQlg6 IGZmZmY5MGE4MDhiYzAwMDAgUkNYOiAwMDAwMDAwMDAwMDAwMDA0DQo+IFsgICAzMC4yMDYy MjddIFJEWDogZmZmZmE3NzVjM2ZiM2U4MCBSU0k6IDAwMDAwMDAwMDAwNDIzMDAgUkRJOiBm ZmZmYTc3NWM0MGFkMDAwDQo+IFsgICAzMC4yMDYyMjhdIFJCUDogZmZmZmE3NzVjNDBhZDAw MCBSMDg6IDAwMDAwMDAwMDAwMDAwMDEgUjA5OiAwMDAwMDAwMDAwMDIxMTgwDQo+IFsgICAz MC4yMDYyMzBdIFIxMDogZmZmZmE3NzVjM2ZiM2U4MCBSMTE6IGZmZmZhNzc1YzNmYjNlODAg UjEyOiAwMDAwMDAwMDAwMDAwMDA0DQo+IFsgICAzMC4yMDYyMzFdIFIxMzogMDAwMDAwMDBm ZDA0MjMwMCBSMTQ6IDAwMDAwMDAwMDAwNDIzMDAgUjE1OiBmZmZmYTc3NWM0MGFkMDA4DQo+ IFsgICAzMC4yMDYyMzJdIEZTOiAgMDAwMDdmZGQ5Y2JmYzcwMCgwMDAwKSBHUzpmZmZmOTBh YjkyNzgwMDAwKDAwMDApIGtubEdTOjAwMDAwMDAwMDAwMDAwMDANCj4gWyAgIDMwLjIwNjIz M10gQ1M6ICAwMDEwIERTOiAwMDAwIEVTOiAwMDAwIENSMDogMDAwMDAwMDA4MDA1MDAzMw0K PiBbICAgMzAuMjA2MjM1XSBDUjI6IGZmZmZmZmZmZmZmZmZmZDYgQ1IzOiAwMDAwMDAwMWMx MTdjMDAyIENSNDogMDAwMDAwMDAwMDM3MjZlMA0KPiBbICAgMzAuMjA2MjM2XSBDYWxsIFRy YWNlOg0KPiBbICAgMzAuMjA2MjM4XSAgPFRBU0s+DQo+IFsgICAzMC4yMDYyMzldICBpbnRl bF92Z3B1X2VtdWxhdGVfbW1pb19yZWFkKzB4ZTkvMHgzOTANCj4gWyAgIDMwLjIwNjI0N10g IGludGVsX3ZncHVfcncuaXNyYS4wKzB4MWE3LzB4MWUwDQo+IFsgICAzMC4yMDYyNDldICBp bnRlbF92Z3B1X3JlYWQrMHgxNWMvMHgyMDANCj4gWyAgIDMwLjIwNjI1Ml0gIHZmc19yZWFk KzB4OWIvMHgxOTANCj4gWyAgIDMwLjIwNjI1N10gIF9feDY0X3N5c19wcmVhZDY0KzB4OGQv MHhjMA0KPiBbICAgMzAuMjA2MjU5XSAgZG9fc3lzY2FsbF82NCsweDNiLzB4OTANCj4gWyAg IDMwLjIwNjI2M10gIGVudHJ5X1NZU0NBTExfNjRfYWZ0ZXJfaHdmcmFtZSsweDQ0LzB4YWUN Cj4gWyAgIDMwLjIwNjI2Nl0gUklQOiAwMDMzOjB4N2ZkZGIxN2U0MWE3DQo+IFsgICAzMC4y MDYyNjhdIENvZGU6IDA4IDg5IDNjIDI0IDQ4IDg5IDRjIDI0IDE4IGU4IGY1IDdiIGY5IGZm IDRjIDhiIDU0IDI0IDE4IDQ4IDhiIDU0IDI0IDEwIDQxIDg5IGMwIDQ4IDhiIDc0IDI0IDA4 IDhiIDNjIDI0IGI4IDExIDAwIDAwIDAwIDBmIDA1IDw0OD4gM2QgMDAgZjAgZmYgZmYgNzcg MzEgNDQgODkgYzcgNDggODkgMDQgMjQgZTggMjUgN2MgZjkgZmYgNDggOGINCj4gWyAgIDMw LjIwNjI3MF0gUlNQOiAwMDJiOjAwMDA3ZmRkOWNiZmIyZjAgRUZMQUdTOiAwMDAwMDI5MyBP UklHX1JBWDogMDAwMDAwMDAwMDAwMDAxMQ0KPiBbICAgMzAuMjA2MjcyXSBSQVg6IGZmZmZm ZmZmZmZmZmZmZGEgUkJYOiAwMDAwNTVlZTMwZDIwZWQ4IFJDWDogMDAwMDdmZGRiMTdlNDFh Nw0KPiBbICAgMzAuMjA2MjczXSBSRFg6IDAwMDAwMDAwMDAwMDAwMDQgUlNJOiAwMDAwN2Zk ZDljYmZiMzM4IFJESTogMDAwMDAwMDAwMDAwMDAxYg0KPiBbICAgMzAuMjA2Mjc0XSBSQlA6 IDAwMDAwMDAwMDAwMDAwMDQgUjA4OiAwMDAwMDAwMDAwMDAwMDAwIFIwOTogMDAwMDAwMDBm ZmZmZmZmZg0KPiBbICAgMzAuMjA2Mjc1XSBSMTA6IDAwMDAwMDAwMDAwNDIzMDAgUjExOiAw MDAwMDAwMDAwMDAwMjkzIFIxMjogMDAwMDAwMDAwMDA0MjMwMA0KPiBbICAgMzAuMjA2Mjc2 XSBSMTM6IDAwMDA1NWVlMzBkMjBkZjAgUjE0OiAwMDAwMDAwMDAwMDAwMDA0IFIxNTogMDAw MDAwMDAwMDA0MjMwMA0KPiBbICAgMzAuMjA2Mjc4XSAgPC9UQVNLPg0KPiBbICAgMzAuMjA2 Mjc5XSBNb2R1bGVzIGxpbmtlZCBpbjogY21hYyhFKSBjdHIoRSkgY2NtKEUpIHJmY29tbShF KSBzZF9tb2QoRSkgc2coRSkgdXZjdmlkZW8oRSkgdmlkZW9idWYyX3ZtYWxsb2MoRSkgdmlk ZW9idWYyX21lbW9wcyhFKSB2aWRlb2J1ZjJfdjRsMihFKSB2aWRlb2J1ZjJfY29tbW9uKEUp IHZpZGVvZGV2KEUpIG1jKEUpIGJ0dXNiKEUpIGJ0cnRsKEUpIGJ0YmNtKEUpIGJ0aW50ZWwo RSkgdWFzKEUpIHVzYl9zdG9yYWdlKEUpIHNjc2lfbW9kKEUpIHNjc2lfY29tbW9uKEUpIGJu ZXAoRSkgc25kX2hkYV9jb2RlY19oZG1pKEUpIHdtaV9ibW9mKEUpIGludGVsX3dtaV90aHVu ZGVyYm9sdChFKSBqb3lkZXYoRSkgYmx1ZXRvb3RoKEUpIGludGVsX3JhcGxfbXNyKEUpIGNy YzE2KEUpIHg4Nl9wa2dfdGVtcF90aGVybWFsKEUpIGppdHRlcmVudHJvcHlfcm5nKEUpIGlu dGVsX3Bvd2VyY2xhbXAoRSkgc2hhNTEyX2dlbmVyaWMoRSkgZHJiZyhFKSBjb3JldGVtcChF KSBhbnNpX2Nwcm5nKEUpIGNyYzMyX3BjbG11bChFKSBlY2RoX2dlbmVyaWMoRSkgZ2hhc2hf Y2xtdWxuaV9pbnRlbChFKSBlY2MoRSkgYWVzbmlfaW50ZWwoRSkgbGliYWVzKEUpIGNyeXB0 b19zaW1kKEUpIGl3bG12bShFKSBzbmRfc29jX3NrbChFKSBjcnlwdGQoRSkgc25kX3NvY19o ZGFjX2hkYShFKSBtYWM4MDIxMShFKSBzbmRfY3RsX2xlZChFKSBzbmRfaGRhX2V4dF9jb3Jl KEUpIHNuZF9oZGFfY29kZWNfcmVhbHRlayhFKSBsaWJhcmM0KEUpIHNuZF9zb2NfY29yZShF KSBzbmRfaGRhX2NvZGVjX2dlbmVyaWMoRSkgc25kX3NvY19hY3BpX2ludGVsX21hdGNoKEUp IGt2bV9pbnRlbChFKSBzbmRfc29jX2FjcGkoRSkgc25kX3NvY19zc3RfaXBjKEUpIGl3bHdp ZmkoRSkgc25kX3NvY19zc3RfZHNwKEUpIGludGVsX2NzdGF0ZShFKSBpbnRlbF91bmNvcmUo RSkgc25kX2hkYV9pbnRlbChFKSBzZXJpb19yYXcoRSkgc25kX2ludGVsX2RzcGNmZyhFKSBw Y3Nwa3IoRSkNCj4gWyAgIDMwLjIwNjMxNF0gIHNuZF9oZGFfY29kZWMoRSkgZWZpX3BzdG9y ZShFKSBzbmRfaHdkZXAoRSkgdHBtX2NyYihFKSBwcm9jZXNzb3JfdGhlcm1hbF9kZXZpY2Vf cGNpX2xlZ2FjeShFKSBzbmRfaGRhX2NvcmUoRSkgaW50ZWxfc29jX2R0c19pb3NmKEUpIGlU Q09fd2R0KEUpIGlUQ09fdmVuZG9yX3N1cHBvcnQoRSkgY2ZnODAyMTEoRSkgcHJvY2Vzc29y X3RoZXJtYWxfZGV2aWNlKEUpIHNuZF9wY20oRSkgdHBtX3RpcyhFKSBwcm9jZXNzb3JfdGhl cm1hbF9yZmltKEUpIHRoaW5rcGFkX2FjcGkoRSkgd2F0Y2hkb2coRSkgcHJvY2Vzc29yX3Ro ZXJtYWxfbWJveChFKSB0cG1fdGlzX2NvcmUoRSkgdWNzaV9hY3BpKEUpIG52cmFtKEUpIG1l aV9tZShFKSBzbmRfdGltZXIoRSkgcHJvY2Vzc29yX3RoZXJtYWxfcmFwbChFKSBsZWR0cmln X2F1ZGlvKEUpIGludGVsX3BjaF90aGVybWFsKEUpIHRwbShFKSBpbnRlbF9yYXBsX2NvbW1v bihFKSBtZWkoRSkgcGxhdGZvcm1fcHJvZmlsZShFKSB0eXBlY191Y3NpKEUpIHR5cGVjKEUp IHJuZ19jb3JlKEUpIHdtaShFKSBzbmQoRSkgYmF0dGVyeShFKSBhYyhFKSBzb3VuZGNvcmUo RSkgaW50MzQwM190aGVybWFsKEUpIHJma2lsbChFKSBpbnQzNDB4X3RoZXJtYWxfem9uZShF KSBpbnQzNDAwX3RoZXJtYWwoRSkgZXZkZXYoRSkgYWNwaV9wYWQoRSkgYWNwaV90aGVybWFs X3JlbChFKSBwYXJwb3J0X3BjKEUpIHBwZGV2KEUpIGxwKEUpIHBhcnBvcnQoRSkgZWZpdmFy ZnMoRSkgaXBfdGFibGVzKEUpIHhfdGFibGVzKEUpIGF1dG9mczQoRSkgaTJjX2Rlc2lnbndh cmVfcGxhdGZvcm0oRSkgaTJjX2Rlc2lnbndhcmVfY29yZShFKSBudm1lKEUpIG52bWVfY29y ZShFKSB0MTBfcGkoRSkgeGhjaV9wY2koRSkgZTEwMDBlKEUpIGNyYzMyY19pbnRlbChFKSBj cmM2NF9yb2Nrc29mdChFKSBwc21vdXNlKEUpIHhoY2lfaGNkKEUpIHB0cChFKSBpMmNfaTgw MShFKSBjcmM2NChFKSBwcHNfY29yZShFKSB0aHVuZGVyYm9sdChFKQ0KPiBbICAgMzAuMjA2 MzQ3XSAgaTJjX3NtYnVzKEUpIGNyY190MTBkaWYoRSkgdXNiY29yZShFKSBjcmN0MTBkaWZf Z2VuZXJpYyhFKSBpbnRlbF9scHNzX3BjaShFKSBjcmN0MTBkaWZfcGNsbXVsKEUpIGludGVs X2xwc3MoRSkgY3JjdDEwZGlmX2NvbW1vbihFKSBpZG1hNjQoRSkgbWZkX2NvcmUoRSkgdXNi X2NvbW1vbihFKQ0KPiBbICAgMzAuMjA2MzU1XSBDUjI6IDAwMDAwMDAwMDAwMDAwMDANCj4g WyAgIDMwLjIwNjM1Nl0gLS0tWyBlbmQgdHJhY2UgMDAwMDAwMDAwMDAwMDAwMCBdLS0tDQo+ IFsgICAzMC4zNDg4MjVdIFJJUDogMDAxMDoweDANCj4gWyAgIDMwLjM0ODgzOV0gQ29kZTog VW5hYmxlIHRvIGFjY2VzcyBvcGNvZGUgYnl0ZXMgYXQgUklQIDB4ZmZmZmZmZmZmZmZmZmZk Ni4NCj4gWyAgIDMwLjM0ODg0MF0gUlNQOiAwMDE4OmZmZmZhNzc1YzNmYjNlMTggRUZMQUdT OiAwMDAxMDI4Ng0KPiBbICAgMzAuMzQ4ODQyXSBSQVg6IDAwMDAwMDAwMDAwMDAwMDAgUkJY OiBmZmZmOTBhODA4YmMwMDAwIFJDWDogMDAwMDAwMDAwMDAwMDAwNA0KPiBbICAgMzAuMzQ4 ODQ0XSBSRFg6IGZmZmZhNzc1YzNmYjNlODAgUlNJOiAwMDAwMDAwMDAwMDQyMzAwIFJESTog ZmZmZmE3NzVjNDBhZDAwMA0KPiBbICAgMzAuMzQ4ODQ1XSBSQlA6IGZmZmZhNzc1YzQwYWQw MDAgUjA4OiAwMDAwMDAwMDAwMDAwMDAxIFIwOTogMDAwMDAwMDAwMDAyMTE4MA0KPiBbICAg MzAuMzQ4ODQ2XSBSMTA6IGZmZmZhNzc1YzNmYjNlODAgUjExOiBmZmZmYTc3NWMzZmIzZTgw IFIxMjogMDAwMDAwMDAwMDAwMDAwNA0KPiBbICAgMzAuMzQ4ODQ3XSBSMTM6IDAwMDAwMDAw ZmQwNDIzMDAgUjE0OiAwMDAwMDAwMDAwMDQyMzAwIFIxNTogZmZmZmE3NzVjNDBhZDAwOA0K PiBbICAgMzAuMzQ4ODQ5XSBGUzogIDAwMDA3ZmRkOWNiZmM3MDAoMDAwMCkgR1M6ZmZmZjkw YWI5Mjc4MDAwMCgwMDAwKSBrbmxHUzowMDAwMDAwMDAwMDAwMDAwDQo+IFsgICAzMC4zNDg4 NTBdIENTOiAgMDAxMCBEUzogMDAwMCBFUzogMDAwMCBDUjA6IDAwMDAwMDAwODAwNTAwMzMN Cj4gWyAgIDMwLjM0ODg1MV0gQ1IyOiBmZmZmZmZmZmZmZmZmZmQ2IENSMzogMDAwMDAwMDFj MTE3YzAwMiBDUjQ6IDAwMDAwMDAwMDAzNzI2ZTANCg==