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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id CF439C433F5 for ; Tue, 10 May 2022 02:23:48 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234633AbiEJC1m (ORCPT ); Mon, 9 May 2022 22:27:42 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:48774 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234561AbiEJC1d (ORCPT ); Mon, 9 May 2022 22:27:33 -0400 Received: from mailgw01.mediatek.com (unknown [60.244.123.138]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 2BA5C2A7C08; Mon, 9 May 2022 19:23:35 -0700 (PDT) X-UUID: 6c3449fd3a5643298e045fc5dac444db-20220510 X-CID-P-RULE: Release_Ham X-CID-O-INFO: VERSION:1.1.4,REQID:0edc4465-f77d-4529-85e9-4aca71546ff5,OB:0,LO B:0,IP:0,URL:8,TC:0,Content:0,EDM:0,RT:0,SF:0,FILE:0,RULE:Release_Ham,ACTI ON:release,TS:8 X-CID-META: VersionHash:faefae9,CLOUDID:d5a1d116-2e53-443e-b81a-655c13977218,C OID:IGNORED,Recheck:0,SF:nil,TC:nil,Content:0,EDM:-3,File:nil,QS:0,BEC:nil X-UUID: 6c3449fd3a5643298e045fc5dac444db-20220510 Received: from mtkmbs11n1.mediatek.inc [(172.21.101.185)] by mailgw01.mediatek.com (envelope-from ) (Generic MTA with TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384 256/256) with ESMTP id 1814271490; Tue, 10 May 2022 10:23:26 +0800 Received: from mtkmbs07n1.mediatek.inc (172.21.101.16) by mtkmbs11n1.mediatek.inc (172.21.101.185) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.2.792.3; Tue, 10 May 2022 10:23:25 +0800 Received: from mtkmbs11n2.mediatek.inc (172.21.101.187) by mtkmbs07n1.mediatek.inc (172.21.101.16) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Tue, 10 May 2022 10:23:24 +0800 Received: from [172.21.84.99] (172.21.84.99) by mtkmbs11n2.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.2.792.3 via Frontend Transport; Tue, 10 May 2022 10:23:24 +0800 Subject: Re: [PATCH v2 1/3] dt-bindings: mediatek: add vdosys1 RDMA definition for mt8195 From: Rex-BC Chen To: Krzysztof Kozlowski , "robh+dt@kernel.org" , "krzysztof.kozlowski+dt@linaro.org" , "chunkuang.hu@kernel.org" , "p.zabel@pengutronix.de" CC: "devicetree@vger.kernel.org" , "airlied@linux.ie" , =?UTF-8?B?SmFzb24tSkggTGluICjmnpfnnb/npaUp?= , "linux-kernel@vger.kernel.org" , "dri-devel@lists.freedesktop.org" , Project_Global_Chrome_Upstream_Group , =?UTF-8?B?TmFuY3kgTGluICjmnpfmrKPonqIp?= , "linux-mediatek@lists.infradead.org" , "matthias.bgg@gmail.com" , "linux-arm-kernel@lists.infradead.org" , "angelogioacchino.delregno@collabora.com" References: <20220509044302.27878-1-rex-bc.chen@mediatek.com> <20220509044302.27878-2-rex-bc.chen@mediatek.com> Message-ID: <8273e75d-2a8b-ad6c-2246-ad33e435c733@mediatek.com> Date: Tue, 10 May 2022 10:23:24 +0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 7bit Content-Language: en-US Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 5/9/22 4:45 PM, Rex-BC Chen wrote: > On Mon, 2022-05-09 at 15:31 +0800, Krzysztof Kozlowski wrote: >> On 09/05/2022 06:43, Rex-BC Chen wrote: >>> From: "Nancy.Lin" >>> >>> Add vdosys1 RDMA definition. >>> >>> Signed-off-by: Nancy.Lin >>> Reviewed-by: AngeloGioacchino Del Regno < >>> angelogioacchino.delregno@collabora.com> >>> --- >>> .../display/mediatek/mediatek,mdp-rdma.yaml | 94 >>> +++++++++++++++++++ >>> 1 file changed, 94 insertions(+) >>> create mode 100644 >>> Documentation/devicetree/bindings/display/mediatek/mediatek,mdp- >>> rdma.yaml >>> >>> diff --git >>> a/Documentation/devicetree/bindings/display/mediatek/mediatek,mdp- >>> rdma.yaml >>> b/Documentation/devicetree/bindings/display/mediatek/mediatek,mdp- >>> rdma.yaml >>> new file mode 100644 >>> index 000000000000..ca31accb0a95 >>> --- /dev/null >>> +++ >>> b/Documentation/devicetree/bindings/display/mediatek/mediatek,mdp- >>> rdma.yaml >>> @@ -0,0 +1,94 @@ >>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) >>> +%YAML 1.2 >>> +--- >>> +$id: >>> https://urldefense.com/v3/__http://devicetree.org/schemas/display/mediatek/mediatek,mdp-rdma.yaml*__;Iw!!CTRNKA9wMg0ARbw!x6pqRSLbN1fx6j57PKXCTTp8n7bulgpLzXS8uUh5vAIxkRKD8K6EqOopnFrXvT54LQXmIEDFFvPQzC4ldr1TddEeTw$ >>> >>> +$schema: >>> https://urldefense.com/v3/__http://devicetree.org/meta-schemas/core.yaml*__;Iw!!CTRNKA9wMg0ARbw!x6pqRSLbN1fx6j57PKXCTTp8n7bulgpLzXS8uUh5vAIxkRKD8K6EqOopnFrXvT54LQXmIEDFFvPQzC4ldr3y-9sW3w$ >>> >>> + >>> +title: MediaTek MDP RDMA >>> + >>> +maintainers: >>> + - Chun-Kuang Hu >>> + - Philipp Zabel >>> + >>> +description: >>> + The MediaTek MDP RDMA stands for Read Direct Memory Access. >>> + It provides real time data to the back-end panel driver, such as >>> DSI, >>> + DPI and DP_INTF. >>> + It contains one line buffer to store the sufficient pixel data. >>> + RDMA device node must be siblings to the central MMSYS_CONFIG >>> node. >>> + For a description of the MMSYS_CONFIG binding, see >>> + Documentation/devicetree/bindings/arm/mediatek/mediatek,mmsys.ya >>> ml for details. >>> + >>> +properties: >>> + compatible: >>> + oneOf: >> oneOf is not needed >> >>> + - items: >> items not needed, you have only one item. >> > Hello Krzysztof, > > Thanks for your review. > ok, we will drop them. > >>> + - const: mediatek,mt8195-vdo1-rdma >>> + >>> + reg: >>> + maxItems: 1 >>> + >>> + interrupts: >>> + maxItems: 1 >>> + >>> + power-domains: >>> + description: A phandle and PM domain specifier as defined by >>> bindings of >>> + the power controller specified by phandle. See >>> + Documentation/devicetree/bindings/power/power-domain.yaml >>> for details. >> Skip description, it's obvious. Instead maxItems. >> > ok, we will fix it. > >>> + >>> + clocks: >>> + items: >>> + - description: RDMA Clock >>> + >>> + iommus: >>> + description: >>> + This property should point to the respective IOMMU block >>> with master port as argument, >>> + see >>> Documentation/devicetree/bindings/iommu/mediatek,iommu.yaml for >>> details. >> Skip description, it's obvious. Instead maxItems. >> > ok, we will fix it. > >>> + >>> + mediatek,gce-client-reg: >>> + description: >>> + The register of display function block to be set by gce. >>> There are 4 arguments, >>> + such as gce node, subsys id, offset and register size. The >>> subsys id that is >>> + mapping to the register of display function blocks is >>> defined in the gce header >>> + include/include/dt-bindings/gce/-gce.h of each chips. >> Double "include" in the path. > ok, we will fix it. > >>> + $ref: /schemas/types.yaml#/definitions/phandle-array >>> + items: >>> + items: >>> + - description: phandle of GCE >>> + - description: GCE subsys id >>> + - description: register offset >>> + - description: register size >>> + maxItems: 1 >>> + >>> +required: >>> + - compatible >>> + - reg >>> + - power-domains >>> + - clocks >>> + - iommus >>> + - mediatek,gce-client-reg >>> + >>> +additionalProperties: false >>> + >>> +examples: >>> + - | >>> + #include >>> + #include >>> + #include >>> + #include >>> + #include >>> + >>> + soc { >>> + #address-cells = <2>; >>> + #size-cells = <2>; >>> + >>> + vdo1_rdma0: mdp-rdma@1c104000 { >> Generic node name. dma-controller (if it does not conflict with >> dma-common.yaml schema)? > We don't understand what dma-controller you are referring to? Can you > help explain more? Thanks! > > BRs, > Rex Hello Krzysztof, Could you also help us to explain what do you mean here? Thanks! BRs, Rex >>> + compatible = "mediatek,mt8195-vdo1-rdma"; >>> + reg = <0 0x1c104000 0 0x1000>; >>> + interrupts = ; >>> + clocks = <&vdosys1 CLK_VDO1_MDP_RDMA0>; >>> + power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS1>; >>> + iommus = <&iommu_vdo M4U_PORT_L2_MDP_RDMA0>; >>> + mediatek,gce-client-reg = <&gce0 SUBSYS_1c10XXXX >>> 0x4000 0x1000>; >>> + }; >>> + }; >> >> Best regards, >> Krzysztof 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 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 smtp.lore.kernel.org (Postfix) with ESMTPS id 0513CC433F5 for ; Tue, 10 May 2022 02:23:38 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 055F310E278; Tue, 10 May 2022 02:23:38 +0000 (UTC) Received: from mailgw01.mediatek.com (unknown [60.244.123.138]) by gabe.freedesktop.org (Postfix) with ESMTPS id 5016C10E180 for ; Tue, 10 May 2022 02:23:36 +0000 (UTC) X-UUID: 6c3449fd3a5643298e045fc5dac444db-20220510 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Type:Content-Transfer-Encoding:In-Reply-To:MIME-Version:Date:Message-ID:References:CC:To:From:Subject; bh=4MC3Bp3pn1RHleCIOnx77DDA/g3UTUXvWC5kRAsHO8w=; b=TA4xpuV0B5Q8ncUj3tPW3y8yjFA/M8/n9wmANwSSSAUTK8Ubm8K7hvP053Brmx0ohi7ymJSLvMD7Ohfd3aHVFC7h6l3gCY580hZKiiEVJ5Pn+irBeqa/XO2OaTZ27V8EauTGQ4ZjBIAjOava4csvzhxDROdgIwoYI6e5ZPFR3XE=; X-CID-P-RULE: Release_Ham X-CID-O-INFO: VERSION:1.1.4, REQID:0edc4465-f77d-4529-85e9-4aca71546ff5, OB:0, LO B:0,IP:0,URL:8,TC:0,Content:0,EDM:0,RT:0,SF:0,FILE:0,RULE:Release_Ham,ACTI ON:release,TS:8 X-CID-META: VersionHash:faefae9, CLOUDID:d5a1d116-2e53-443e-b81a-655c13977218, C OID:IGNORED,Recheck:0,SF:nil,TC:nil,Content:0,EDM:-3,File:nil,QS:0,BEC:nil X-UUID: 6c3449fd3a5643298e045fc5dac444db-20220510 Received: from mtkmbs11n1.mediatek.inc [(172.21.101.185)] by mailgw01.mediatek.com (envelope-from ) (Generic MTA with TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384 256/256) with ESMTP id 1814271490; Tue, 10 May 2022 10:23:26 +0800 Received: from mtkmbs07n1.mediatek.inc (172.21.101.16) by mtkmbs11n1.mediatek.inc (172.21.101.185) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.2.792.3; Tue, 10 May 2022 10:23:25 +0800 Received: from mtkmbs11n2.mediatek.inc (172.21.101.187) by mtkmbs07n1.mediatek.inc (172.21.101.16) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Tue, 10 May 2022 10:23:24 +0800 Received: from [172.21.84.99] (172.21.84.99) by mtkmbs11n2.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.2.792.3 via Frontend Transport; Tue, 10 May 2022 10:23:24 +0800 Subject: Re: [PATCH v2 1/3] dt-bindings: mediatek: add vdosys1 RDMA definition for mt8195 From: Rex-BC Chen To: Krzysztof Kozlowski , "robh+dt@kernel.org" , "krzysztof.kozlowski+dt@linaro.org" , "chunkuang.hu@kernel.org" , "p.zabel@pengutronix.de" References: <20220509044302.27878-1-rex-bc.chen@mediatek.com> <20220509044302.27878-2-rex-bc.chen@mediatek.com> Message-ID: <8273e75d-2a8b-ad6c-2246-ad33e435c733@mediatek.com> Date: Tue, 10 May 2022 10:23:24 +0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 MIME-Version: 1.0 In-Reply-To: Content-Transfer-Encoding: 7bit Content-Language: en-US Content-Type: multipart/alternative; boundary="__=_Part_Boundary_004_1232963701.1435521086" 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: "devicetree@vger.kernel.org" , "airlied@linux.ie" , =?UTF-8?B?SmFzb24tSkggTGluICjmnpfnnb/npaUp?= , "linux-kernel@vger.kernel.org" , "dri-devel@lists.freedesktop.org" , Project_Global_Chrome_Upstream_Group , =?UTF-8?B?TmFuY3kgTGluICjmnpfmrKPonqIp?= , "linux-mediatek@lists.infradead.org" , "matthias.bgg@gmail.com" , "linux-arm-kernel@lists.infradead.org" , "angelogioacchino.delregno@collabora.com" Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" --__=_Part_Boundary_004_1232963701.1435521086 Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: base64 PHByZT4NCg0KT24mIzMyOzUvOS8yMiYjMzI7NDo0NSYjMzI7UE0sJiMzMjtSZXgtQkMmIzMyO0No ZW4mIzMyO3dyb3RlOg0KJmd0OyYjMzI7T24mIzMyO01vbiwmIzMyOzIwMjItMDUtMDkmIzMyO2F0 JiMzMjsxNTozMSYjMzI7KzA4MDAsJiMzMjtLcnp5c3p0b2YmIzMyO0tvemxvd3NraSYjMzI7d3Jv dGU6DQomZ3Q7Jmd0OyYjMzI7T24mIzMyOzA5LzA1LzIwMjImIzMyOzA2OjQzLCYjMzI7UmV4LUJD JiMzMjtDaGVuJiMzMjt3cm90ZToNCiZndDsmZ3Q7Jmd0OyYjMzI7RnJvbTomIzMyOyZxdW90O05h bmN5LkxpbiZxdW90OyYjMzI7Jmx0O25hbmN5LmxpbkBtZWRpYXRlay5jb20mZ3Q7DQomZ3Q7Jmd0 OyZndDsNCiZndDsmZ3Q7Jmd0OyYjMzI7QWRkJiMzMjt2ZG9zeXMxJiMzMjtSRE1BJiMzMjtkZWZp bml0aW9uLg0KJmd0OyZndDsmZ3Q7DQomZ3Q7Jmd0OyZndDsmIzMyO1NpZ25lZC1vZmYtYnk6JiMz MjtOYW5jeS5MaW4mIzMyOyZsdDtuYW5jeS5saW5AbWVkaWF0ZWsuY29tJmd0Ow0KJmd0OyZndDsm Z3Q7JiMzMjtSZXZpZXdlZC1ieTomIzMyO0FuZ2Vsb0dpb2FjY2hpbm8mIzMyO0RlbCYjMzI7UmVn bm8mIzMyOyZsdDsNCiZndDsmZ3Q7Jmd0OyYjMzI7YW5nZWxvZ2lvYWNjaGluby5kZWxyZWdub0Bj b2xsYWJvcmEuY29tJmd0Ow0KJmd0OyZndDsmZ3Q7JiMzMjstLS0NCiZndDsmZ3Q7Jmd0OyYjMzI7 JiMzMjsmIzMyOy4uLi9kaXNwbGF5L21lZGlhdGVrL21lZGlhdGVrLG1kcC1yZG1hLnlhbWwmIzMy OyYjMzI7JiMzMjt8JiMzMjs5NA0KJmd0OyZndDsmZ3Q7JiMzMjsrKysrKysrKysrKysrKysrKysr DQomZ3Q7Jmd0OyZndDsmIzMyOyYjMzI7JiMzMjsxJiMzMjtmaWxlJiMzMjtjaGFuZ2VkLCYjMzI7 OTQmIzMyO2luc2VydGlvbnMoKykNCiZndDsmZ3Q7Jmd0OyYjMzI7JiMzMjsmIzMyO2NyZWF0ZSYj MzI7bW9kZSYjMzI7MTAwNjQ0DQomZ3Q7Jmd0OyZndDsmIzMyO0RvY3VtZW50YXRpb24vZGV2aWNl dHJlZS9iaW5kaW5ncy9kaXNwbGF5L21lZGlhdGVrL21lZGlhdGVrLG1kcC0NCiZndDsmZ3Q7Jmd0 OyYjMzI7cmRtYS55YW1sDQomZ3Q7Jmd0OyZndDsNCiZndDsmZ3Q7Jmd0OyYjMzI7ZGlmZiYjMzI7 LS1naXQNCiZndDsmZ3Q7Jmd0OyYjMzI7YS9Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGlu Z3MvZGlzcGxheS9tZWRpYXRlay9tZWRpYXRlayxtZHAtDQomZ3Q7Jmd0OyZndDsmIzMyO3JkbWEu eWFtbA0KJmd0OyZndDsmZ3Q7JiMzMjtiL0RvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5n cy9kaXNwbGF5L21lZGlhdGVrL21lZGlhdGVrLG1kcC0NCiZndDsmZ3Q7Jmd0OyYjMzI7cmRtYS55 YW1sDQomZ3Q7Jmd0OyZndDsmIzMyO25ldyYjMzI7ZmlsZSYjMzI7bW9kZSYjMzI7MTAwNjQ0DQom Z3Q7Jmd0OyZndDsmIzMyO2luZGV4JiMzMjswMDAwMDAwMDAwMDAuLmNhMzFhY2NiMGE5NQ0KJmd0 OyZndDsmZ3Q7JiMzMjstLS0mIzMyOy9kZXYvbnVsbA0KJmd0OyZndDsmZ3Q7JiMzMjsrKysNCiZn dDsmZ3Q7Jmd0OyYjMzI7Yi9Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvZGlzcGxh eS9tZWRpYXRlay9tZWRpYXRlayxtZHAtDQomZ3Q7Jmd0OyZndDsmIzMyO3JkbWEueWFtbA0KJmd0 OyZndDsmZ3Q7JiMzMjtAQCYjMzI7LTAsMCYjMzI7KzEsOTQmIzMyO0BADQomZ3Q7Jmd0OyZndDsm IzMyOysjJiMzMjtTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjomIzMyOyhHUEwtMi4wLW9ubHkmIzMy O09SJiMzMjtCU0QtMi1DbGF1c2UpDQomZ3Q7Jmd0OyZndDsmIzMyOyslWUFNTCYjMzI7MS4yDQom Z3Q7Jmd0OyZndDsmIzMyOystLS0NCiZndDsmZ3Q7Jmd0OyYjMzI7KyYjMzY7aWQ6DQomZ3Q7Jmd0 OyZndDsmIzMyO2h0dHBzOi8vdXJsZGVmZW5zZS5jb20vdjMvX19odHRwOi8vZGV2aWNldHJlZS5v cmcvc2NoZW1hcy9kaXNwbGF5L21lZGlhdGVrL21lZGlhdGVrLG1kcC1yZG1hLnlhbWwqX187SXch IUNUUk5LQTl3TWcwQVJidyF4NnBxUlNMYk4xZng2ajU3UEtYQ1RUcDhuN2J1bGdwTHpYUzh1VWg1 dkFJeGtSS0Q4SzZFcU9vcG5Gclh2VDU0TFFYbUlFREZGdlBRekM0bGRyMVRkZEVlVHcmIzM2Ow0K Jmd0OyZndDsmZ3Q7JiMzMjsmIzMyOyYjMzI7DQomZ3Q7Jmd0OyZndDsmIzMyOysmIzM2O3NjaGVt YToNCiZndDsmZ3Q7Jmd0OyYjMzI7aHR0cHM6Ly91cmxkZWZlbnNlLmNvbS92My9fX2h0dHA6Ly9k ZXZpY2V0cmVlLm9yZy9tZXRhLXNjaGVtYXMvY29yZS55YW1sKl9fO0l3ISFDVFJOS0E5d01nMEFS YncheDZwcVJTTGJOMWZ4Nmo1N1BLWENUVHA4bjdidWxncEx6WFM4dVVoNXZBSXhrUktEOEs2RXFP b3BuRnJYdlQ1NExRWG1JRURGRnZQUXpDNGxkcjN5LTlzVzN3JiMzNjsNCiZndDsmZ3Q7Jmd0OyYj MzI7JiMzMjsmIzMyOw0KJmd0OyZndDsmZ3Q7JiMzMjsrDQomZ3Q7Jmd0OyZndDsmIzMyOyt0aXRs ZTomIzMyO01lZGlhVGVrJiMzMjtNRFAmIzMyO1JETUENCiZndDsmZ3Q7Jmd0OyYjMzI7Kw0KJmd0 OyZndDsmZ3Q7JiMzMjsrbWFpbnRhaW5lcnM6DQomZ3Q7Jmd0OyZndDsmIzMyOysmIzMyOyYjMzI7 LSYjMzI7Q2h1bi1LdWFuZyYjMzI7SHUmIzMyOyZsdDtjaHVua3VhbmcuaHVAa2VybmVsLm9yZyZn dDsNCiZndDsmZ3Q7Jmd0OyYjMzI7KyYjMzI7JiMzMjstJiMzMjtQaGlsaXBwJiMzMjtaYWJlbCYj MzI7Jmx0O3AuemFiZWxAcGVuZ3V0cm9uaXguZGUmZ3Q7DQomZ3Q7Jmd0OyZndDsmIzMyOysNCiZn dDsmZ3Q7Jmd0OyYjMzI7K2Rlc2NyaXB0aW9uOg0KJmd0OyZndDsmZ3Q7JiMzMjsrJiMzMjsmIzMy O1RoZSYjMzI7TWVkaWFUZWsmIzMyO01EUCYjMzI7UkRNQSYjMzI7c3RhbmRzJiMzMjtmb3ImIzMy O1JlYWQmIzMyO0RpcmVjdCYjMzI7TWVtb3J5JiMzMjtBY2Nlc3MuDQomZ3Q7Jmd0OyZndDsmIzMy OysmIzMyOyYjMzI7SXQmIzMyO3Byb3ZpZGVzJiMzMjtyZWFsJiMzMjt0aW1lJiMzMjtkYXRhJiMz Mjt0byYjMzI7dGhlJiMzMjtiYWNrLWVuZCYjMzI7cGFuZWwmIzMyO2RyaXZlciwmIzMyO3N1Y2gm IzMyO2FzDQomZ3Q7Jmd0OyZndDsmIzMyO0RTSSwNCiZndDsmZ3Q7Jmd0OyYjMzI7KyYjMzI7JiMz MjtEUEkmIzMyO2FuZCYjMzI7RFBfSU5URi4NCiZndDsmZ3Q7Jmd0OyYjMzI7KyYjMzI7JiMzMjtJ dCYjMzI7Y29udGFpbnMmIzMyO29uZSYjMzI7bGluZSYjMzI7YnVmZmVyJiMzMjt0byYjMzI7c3Rv cmUmIzMyO3RoZSYjMzI7c3VmZmljaWVudCYjMzI7cGl4ZWwmIzMyO2RhdGEuDQomZ3Q7Jmd0OyZn dDsmIzMyOysmIzMyOyYjMzI7UkRNQSYjMzI7ZGV2aWNlJiMzMjtub2RlJiMzMjttdXN0JiMzMjti ZSYjMzI7c2libGluZ3MmIzMyO3RvJiMzMjt0aGUmIzMyO2NlbnRyYWwmIzMyO01NU1lTX0NPTkZJ Rw0KJmd0OyZndDsmZ3Q7JiMzMjtub2RlLg0KJmd0OyZndDsmZ3Q7JiMzMjsrJiMzMjsmIzMyO0Zv ciYjMzI7YSYjMzI7ZGVzY3JpcHRpb24mIzMyO29mJiMzMjt0aGUmIzMyO01NU1lTX0NPTkZJRyYj MzI7YmluZGluZywmIzMyO3NlZQ0KJmd0OyZndDsmZ3Q7JiMzMjsrJiMzMjsmIzMyO0RvY3VtZW50 YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9hcm0vbWVkaWF0ZWsvbWVkaWF0ZWssbW1zeXMueWEN CiZndDsmZ3Q7Jmd0OyYjMzI7bWwmIzMyO2ZvciYjMzI7ZGV0YWlscy4NCiZndDsmZ3Q7Jmd0OyYj MzI7Kw0KJmd0OyZndDsmZ3Q7JiMzMjsrcHJvcGVydGllczoNCiZndDsmZ3Q7Jmd0OyYjMzI7KyYj MzI7JiMzMjtjb21wYXRpYmxlOg0KJmd0OyZndDsmZ3Q7JiMzMjsrJiMzMjsmIzMyOyYjMzI7JiMz MjtvbmVPZjoNCiZndDsmZ3Q7JiMzMjtvbmVPZiYjMzI7aXMmIzMyO25vdCYjMzI7bmVlZGVkDQom Z3Q7Jmd0Ow0KJmd0OyZndDsmZ3Q7JiMzMjsrJiMzMjsmIzMyOyYjMzI7JiMzMjsmIzMyOyYjMzI7 LSYjMzI7aXRlbXM6DQomZ3Q7Jmd0OyYjMzI7aXRlbXMmIzMyO25vdCYjMzI7bmVlZGVkLCYjMzI7 eW91JiMzMjtoYXZlJiMzMjtvbmx5JiMzMjtvbmUmIzMyO2l0ZW0uDQomZ3Q7Jmd0Ow0KJmd0OyYj MzI7SGVsbG8mIzMyO0tyenlzenRvZiwNCiZndDsNCiZndDsmIzMyO1RoYW5rcyYjMzI7Zm9yJiMz Mjt5b3VyJiMzMjtyZXZpZXcuDQomZ3Q7JiMzMjtvaywmIzMyO3dlJiMzMjt3aWxsJiMzMjtkcm9w JiMzMjt0aGVtLg0KJmd0Ow0KJmd0OyZndDsmZ3Q7JiMzMjsrJiMzMjsmIzMyOyYjMzI7JiMzMjsm IzMyOyYjMzI7JiMzMjsmIzMyOyYjMzI7JiMzMjstJiMzMjtjb25zdDomIzMyO21lZGlhdGVrLG10 ODE5NS12ZG8xLXJkbWENCiZndDsmZ3Q7Jmd0OyYjMzI7Kw0KJmd0OyZndDsmZ3Q7JiMzMjsrJiMz MjsmIzMyO3JlZzoNCiZndDsmZ3Q7Jmd0OyYjMzI7KyYjMzI7JiMzMjsmIzMyOyYjMzI7bWF4SXRl bXM6JiMzMjsxDQomZ3Q7Jmd0OyZndDsmIzMyOysNCiZndDsmZ3Q7Jmd0OyYjMzI7KyYjMzI7JiMz MjtpbnRlcnJ1cHRzOg0KJmd0OyZndDsmZ3Q7JiMzMjsrJiMzMjsmIzMyOyYjMzI7JiMzMjttYXhJ dGVtczomIzMyOzENCiZndDsmZ3Q7Jmd0OyYjMzI7Kw0KJmd0OyZndDsmZ3Q7JiMzMjsrJiMzMjsm IzMyO3Bvd2VyLWRvbWFpbnM6DQomZ3Q7Jmd0OyZndDsmIzMyOysmIzMyOyYjMzI7JiMzMjsmIzMy O2Rlc2NyaXB0aW9uOiYjMzI7QSYjMzI7cGhhbmRsZSYjMzI7YW5kJiMzMjtQTSYjMzI7ZG9tYWlu JiMzMjtzcGVjaWZpZXImIzMyO2FzJiMzMjtkZWZpbmVkJiMzMjtieQ0KJmd0OyZndDsmZ3Q7JiMz MjtiaW5kaW5ncyYjMzI7b2YNCiZndDsmZ3Q7Jmd0OyYjMzI7KyYjMzI7JiMzMjsmIzMyOyYjMzI7 JiMzMjsmIzMyO3RoZSYjMzI7cG93ZXImIzMyO2NvbnRyb2xsZXImIzMyO3NwZWNpZmllZCYjMzI7 YnkmIzMyO3BoYW5kbGUuJiMzMjtTZWUNCiZndDsmZ3Q7Jmd0OyYjMzI7KyYjMzI7JiMzMjsmIzMy OyYjMzI7JiMzMjsmIzMyO0RvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9wb3dlci9w b3dlci1kb21haW4ueWFtbA0KJmd0OyZndDsmZ3Q7JiMzMjtmb3ImIzMyO2RldGFpbHMuDQomZ3Q7 Jmd0OyYjMzI7U2tpcCYjMzI7ZGVzY3JpcHRpb24sJiMzMjtpdCYjMzk7cyYjMzI7b2J2aW91cy4m IzMyO0luc3RlYWQmIzMyO21heEl0ZW1zLg0KJmd0OyZndDsNCiZndDsmIzMyO29rLCYjMzI7d2Um IzMyO3dpbGwmIzMyO2ZpeCYjMzI7aXQuDQomZ3Q7DQomZ3Q7Jmd0OyZndDsmIzMyOysNCiZndDsm Z3Q7Jmd0OyYjMzI7KyYjMzI7JiMzMjtjbG9ja3M6DQomZ3Q7Jmd0OyZndDsmIzMyOysmIzMyOyYj MzI7JiMzMjsmIzMyO2l0ZW1zOg0KJmd0OyZndDsmZ3Q7JiMzMjsrJiMzMjsmIzMyOyYjMzI7JiMz MjsmIzMyOyYjMzI7LSYjMzI7ZGVzY3JpcHRpb246JiMzMjtSRE1BJiMzMjtDbG9jaw0KJmd0OyZn dDsmZ3Q7JiMzMjsrDQomZ3Q7Jmd0OyZndDsmIzMyOysmIzMyOyYjMzI7aW9tbXVzOg0KJmd0OyZn dDsmZ3Q7JiMzMjsrJiMzMjsmIzMyOyYjMzI7JiMzMjtkZXNjcmlwdGlvbjoNCiZndDsmZ3Q7Jmd0 OyYjMzI7KyYjMzI7JiMzMjsmIzMyOyYjMzI7JiMzMjsmIzMyO1RoaXMmIzMyO3Byb3BlcnR5JiMz MjtzaG91bGQmIzMyO3BvaW50JiMzMjt0byYjMzI7dGhlJiMzMjtyZXNwZWN0aXZlJiMzMjtJT01N VSYjMzI7YmxvY2sNCiZndDsmZ3Q7Jmd0OyYjMzI7d2l0aCYjMzI7bWFzdGVyJiMzMjtwb3J0JiMz MjthcyYjMzI7YXJndW1lbnQsDQomZ3Q7Jmd0OyZndDsmIzMyOysmIzMyOyYjMzI7JiMzMjsmIzMy OyYjMzI7JiMzMjtzZWUNCiZndDsmZ3Q7Jmd0OyYjMzI7RG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVl L2JpbmRpbmdzL2lvbW11L21lZGlhdGVrLGlvbW11LnlhbWwmIzMyO2Zvcg0KJmd0OyZndDsmZ3Q7 JiMzMjtkZXRhaWxzLg0KJmd0OyZndDsmIzMyO1NraXAmIzMyO2Rlc2NyaXB0aW9uLCYjMzI7aXQm IzM5O3MmIzMyO29idmlvdXMuJiMzMjtJbnN0ZWFkJiMzMjttYXhJdGVtcy4NCiZndDsmZ3Q7DQom Z3Q7JiMzMjtvaywmIzMyO3dlJiMzMjt3aWxsJiMzMjtmaXgmIzMyO2l0Lg0KJmd0Ow0KJmd0OyZn dDsmZ3Q7JiMzMjsrDQomZ3Q7Jmd0OyZndDsmIzMyOysmIzMyOyYjMzI7bWVkaWF0ZWssZ2NlLWNs aWVudC1yZWc6DQomZ3Q7Jmd0OyZndDsmIzMyOysmIzMyOyYjMzI7JiMzMjsmIzMyO2Rlc2NyaXB0 aW9uOg0KJmd0OyZndDsmZ3Q7JiMzMjsrJiMzMjsmIzMyOyYjMzI7JiMzMjsmIzMyOyYjMzI7VGhl JiMzMjtyZWdpc3RlciYjMzI7b2YmIzMyO2Rpc3BsYXkmIzMyO2Z1bmN0aW9uJiMzMjtibG9jayYj MzI7dG8mIzMyO2JlJiMzMjtzZXQmIzMyO2J5JiMzMjtnY2UuDQomZ3Q7Jmd0OyZndDsmIzMyO1Ro ZXJlJiMzMjthcmUmIzMyOzQmIzMyO2FyZ3VtZW50cywNCiZndDsmZ3Q7Jmd0OyYjMzI7KyYjMzI7 JiMzMjsmIzMyOyYjMzI7JiMzMjsmIzMyO3N1Y2gmIzMyO2FzJiMzMjtnY2UmIzMyO25vZGUsJiMz MjtzdWJzeXMmIzMyO2lkLCYjMzI7b2Zmc2V0JiMzMjthbmQmIzMyO3JlZ2lzdGVyJiMzMjtzaXpl LiYjMzI7VGhlDQomZ3Q7Jmd0OyZndDsmIzMyO3N1YnN5cyYjMzI7aWQmIzMyO3RoYXQmIzMyO2lz DQomZ3Q7Jmd0OyZndDsmIzMyOysmIzMyOyYjMzI7JiMzMjsmIzMyOyYjMzI7JiMzMjttYXBwaW5n JiMzMjt0byYjMzI7dGhlJiMzMjtyZWdpc3RlciYjMzI7b2YmIzMyO2Rpc3BsYXkmIzMyO2Z1bmN0 aW9uJiMzMjtibG9ja3MmIzMyO2lzDQomZ3Q7Jmd0OyZndDsmIzMyO2RlZmluZWQmIzMyO2luJiMz Mjt0aGUmIzMyO2djZSYjMzI7aGVhZGVyDQomZ3Q7Jmd0OyZndDsmIzMyOysmIzMyOyYjMzI7JiMz MjsmIzMyOyYjMzI7JiMzMjtpbmNsdWRlL2luY2x1ZGUvZHQtYmluZGluZ3MvZ2NlLyZsdDtjaGlw Jmd0Oy1nY2UuaCYjMzI7b2YmIzMyO2VhY2gmIzMyO2NoaXBzLg0KJmd0OyZndDsmIzMyO0RvdWJs ZSYjMzI7JnF1b3Q7aW5jbHVkZSZxdW90OyYjMzI7aW4mIzMyO3RoZSYjMzI7cGF0aC4NCiZndDsm IzMyO29rLCYjMzI7d2UmIzMyO3dpbGwmIzMyO2ZpeCYjMzI7aXQuDQomZ3Q7DQomZ3Q7Jmd0OyZn dDsmIzMyOysmIzMyOyYjMzI7JiMzMjsmIzMyOyYjMzY7cmVmOiYjMzI7L3NjaGVtYXMvdHlwZXMu eWFtbCMvZGVmaW5pdGlvbnMvcGhhbmRsZS1hcnJheQ0KJmd0OyZndDsmZ3Q7JiMzMjsrJiMzMjsm IzMyOyYjMzI7JiMzMjtpdGVtczoNCiZndDsmZ3Q7Jmd0OyYjMzI7KyYjMzI7JiMzMjsmIzMyOyYj MzI7JiMzMjsmIzMyO2l0ZW1zOg0KJmd0OyZndDsmZ3Q7JiMzMjsrJiMzMjsmIzMyOyYjMzI7JiMz MjsmIzMyOyYjMzI7JiMzMjsmIzMyOy0mIzMyO2Rlc2NyaXB0aW9uOiYjMzI7cGhhbmRsZSYjMzI7 b2YmIzMyO0dDRQ0KJmd0OyZndDsmZ3Q7JiMzMjsrJiMzMjsmIzMyOyYjMzI7JiMzMjsmIzMyOyYj MzI7JiMzMjsmIzMyOy0mIzMyO2Rlc2NyaXB0aW9uOiYjMzI7R0NFJiMzMjtzdWJzeXMmIzMyO2lk DQomZ3Q7Jmd0OyZndDsmIzMyOysmIzMyOyYjMzI7JiMzMjsmIzMyOyYjMzI7JiMzMjsmIzMyOyYj MzI7LSYjMzI7ZGVzY3JpcHRpb246JiMzMjtyZWdpc3RlciYjMzI7b2Zmc2V0DQomZ3Q7Jmd0OyZn dDsmIzMyOysmIzMyOyYjMzI7JiMzMjsmIzMyOyYjMzI7JiMzMjsmIzMyOyYjMzI7LSYjMzI7ZGVz Y3JpcHRpb246JiMzMjtyZWdpc3RlciYjMzI7c2l6ZQ0KJmd0OyZndDsmZ3Q7JiMzMjsrJiMzMjsm IzMyOyYjMzI7JiMzMjttYXhJdGVtczomIzMyOzENCiZndDsmZ3Q7Jmd0OyYjMzI7Kw0KJmd0OyZn dDsmZ3Q7JiMzMjsrcmVxdWlyZWQ6DQomZ3Q7Jmd0OyZndDsmIzMyOysmIzMyOyYjMzI7LSYjMzI7 Y29tcGF0aWJsZQ0KJmd0OyZndDsmZ3Q7JiMzMjsrJiMzMjsmIzMyOy0mIzMyO3JlZw0KJmd0OyZn dDsmZ3Q7JiMzMjsrJiMzMjsmIzMyOy0mIzMyO3Bvd2VyLWRvbWFpbnMNCiZndDsmZ3Q7Jmd0OyYj MzI7KyYjMzI7JiMzMjstJiMzMjtjbG9ja3MNCiZndDsmZ3Q7Jmd0OyYjMzI7KyYjMzI7JiMzMjst JiMzMjtpb21tdXMNCiZndDsmZ3Q7Jmd0OyYjMzI7KyYjMzI7JiMzMjstJiMzMjttZWRpYXRlayxn Y2UtY2xpZW50LXJlZw0KJmd0OyZndDsmZ3Q7JiMzMjsrDQomZ3Q7Jmd0OyZndDsmIzMyOythZGRp dGlvbmFsUHJvcGVydGllczomIzMyO2ZhbHNlDQomZ3Q7Jmd0OyZndDsmIzMyOysNCiZndDsmZ3Q7 Jmd0OyYjMzI7K2V4YW1wbGVzOg0KJmd0OyZndDsmZ3Q7JiMzMjsrJiMzMjsmIzMyOy0mIzMyO3wN CiZndDsmZ3Q7Jmd0OyYjMzI7KyYjMzI7JiMzMjsmIzMyOyYjMzI7I2luY2x1ZGUmIzMyOyZsdDtk dC1iaW5kaW5ncy9pbnRlcnJ1cHQtY29udHJvbGxlci9hcm0tZ2ljLmgmZ3Q7DQomZ3Q7Jmd0OyZn dDsmIzMyOysmIzMyOyYjMzI7JiMzMjsmIzMyOyNpbmNsdWRlJiMzMjsmbHQ7ZHQtYmluZGluZ3Mv Y2xvY2svbXQ4MTk1LWNsay5oJmd0Ow0KJmd0OyZndDsmZ3Q7JiMzMjsrJiMzMjsmIzMyOyYjMzI7 JiMzMjsjaW5jbHVkZSYjMzI7Jmx0O2R0LWJpbmRpbmdzL3Bvd2VyL210ODE5NS1wb3dlci5oJmd0 Ow0KJmd0OyZndDsmZ3Q7JiMzMjsrJiMzMjsmIzMyOyYjMzI7JiMzMjsjaW5jbHVkZSYjMzI7Jmx0 O2R0LWJpbmRpbmdzL2djZS9tdDgxOTUtZ2NlLmgmZ3Q7DQomZ3Q7Jmd0OyZndDsmIzMyOysmIzMy OyYjMzI7JiMzMjsmIzMyOyNpbmNsdWRlJiMzMjsmbHQ7ZHQtYmluZGluZ3MvbWVtb3J5L210ODE5 NS1tZW1vcnktcG9ydC5oJmd0Ow0KJmd0OyZndDsmZ3Q7JiMzMjsrDQomZ3Q7Jmd0OyZndDsmIzMy OysmIzMyOyYjMzI7JiMzMjsmIzMyO3NvYyYjMzI7ew0KJmd0OyZndDsmZ3Q7JiMzMjsrJiMzMjsm IzMyOyYjMzI7JiMzMjsmIzMyOyYjMzI7JiMzMjsmIzMyOyNhZGRyZXNzLWNlbGxzJiMzMjs9JiMz MjsmbHQ7MiZndDs7DQomZ3Q7Jmd0OyZndDsmIzMyOysmIzMyOyYjMzI7JiMzMjsmIzMyOyYjMzI7 JiMzMjsmIzMyOyYjMzI7I3NpemUtY2VsbHMmIzMyOz0mIzMyOyZsdDsyJmd0OzsNCiZndDsmZ3Q7 Jmd0OyYjMzI7Kw0KJmd0OyZndDsmZ3Q7JiMzMjsrJiMzMjsmIzMyOyYjMzI7JiMzMjsmIzMyOyYj MzI7JiMzMjsmIzMyO3ZkbzFfcmRtYTA6JiMzMjttZHAtcmRtYUAxYzEwNDAwMCYjMzI7ew0KJmd0 OyZndDsmIzMyO0dlbmVyaWMmIzMyO25vZGUmIzMyO25hbWUuJiMzMjtkbWEtY29udHJvbGxlciYj MzI7KGlmJiMzMjtpdCYjMzI7ZG9lcyYjMzI7bm90JiMzMjtjb25mbGljdCYjMzI7d2l0aA0KJmd0 OyZndDsmIzMyO2RtYS1jb21tb24ueWFtbCYjMzI7c2NoZW1hKSYjNjM7DQomZ3Q7JiMzMjtXZSYj MzI7ZG9uJiMzOTt0JiMzMjt1bmRlcnN0YW5kJiMzMjt3aGF0JiMzMjtkbWEtY29udHJvbGxlciYj MzI7eW91JiMzMjthcmUmIzMyO3JlZmVycmluZyYjMzI7dG8mIzYzOyYjMzI7Q2FuJiMzMjt5b3UN CiZndDsmIzMyO2hlbHAmIzMyO2V4cGxhaW4mIzMyO21vcmUmIzYzOyYjMzI7VGhhbmtzIQ0KJmd0 Ow0KJmd0OyYjMzI7QlJzLA0KJmd0OyYjMzI7UmV4DQpIZWxsbyYjMzI7S3J6eXN6dG9mLA0KDQoN CkNvdWxkJiMzMjt5b3UmIzMyO2Fsc28mIzMyO2hlbHAmIzMyO3VzJiMzMjt0byYjMzI7ZXhwbGFp biYjMzI7d2hhdCYjMzI7ZG8mIzMyO3lvdSYjMzI7bWVhbiYjMzI7aGVyZSYjNjM7DQoNClRoYW5r cyENCg0KDQpCUnMsDQoNClJleA0KJmd0OyZndDsmZ3Q7JiMzMjsrJiMzMjsmIzMyOyYjMzI7JiMz MjsmIzMyOyYjMzI7JiMzMjsmIzMyOyYjMzI7JiMzMjsmIzMyOyYjMzI7Y29tcGF0aWJsZSYjMzI7 PSYjMzI7JnF1b3Q7bWVkaWF0ZWssbXQ4MTk1LXZkbzEtcmRtYSZxdW90OzsNCiZndDsmZ3Q7Jmd0 OyYjMzI7KyYjMzI7JiMzMjsmIzMyOyYjMzI7JiMzMjsmIzMyOyYjMzI7JiMzMjsmIzMyOyYjMzI7 JiMzMjsmIzMyO3JlZyYjMzI7PSYjMzI7Jmx0OzAmIzMyOzB4MWMxMDQwMDAmIzMyOzAmIzMyOzB4 MTAwMCZndDs7DQomZ3Q7Jmd0OyZndDsmIzMyOysmIzMyOyYjMzI7JiMzMjsmIzMyOyYjMzI7JiMz MjsmIzMyOyYjMzI7JiMzMjsmIzMyOyYjMzI7JiMzMjtpbnRlcnJ1cHRzJiMzMjs9JiMzMjsmbHQ7 R0lDX1NQSSYjMzI7NDk1JiMzMjtJUlFfVFlQRV9MRVZFTF9ISUdIJiMzMjswJmd0OzsNCiZndDsm Z3Q7Jmd0OyYjMzI7KyYjMzI7JiMzMjsmIzMyOyYjMzI7JiMzMjsmIzMyOyYjMzI7JiMzMjsmIzMy OyYjMzI7JiMzMjsmIzMyO2Nsb2NrcyYjMzI7PSYjMzI7Jmx0OyZhbXA7dmRvc3lzMSYjMzI7Q0xL X1ZETzFfTURQX1JETUEwJmd0OzsNCiZndDsmZ3Q7Jmd0OyYjMzI7KyYjMzI7JiMzMjsmIzMyOyYj MzI7JiMzMjsmIzMyOyYjMzI7JiMzMjsmIzMyOyYjMzI7JiMzMjsmIzMyO3Bvd2VyLWRvbWFpbnMm IzMyOz0mIzMyOyZsdDsmYW1wO3NwbSYjMzI7TVQ4MTk1X1BPV0VSX0RPTUFJTl9WRE9TWVMxJmd0 OzsNCiZndDsmZ3Q7Jmd0OyYjMzI7KyYjMzI7JiMzMjsmIzMyOyYjMzI7JiMzMjsmIzMyOyYjMzI7 JiMzMjsmIzMyOyYjMzI7JiMzMjsmIzMyO2lvbW11cyYjMzI7PSYjMzI7Jmx0OyZhbXA7aW9tbXVf dmRvJiMzMjtNNFVfUE9SVF9MMl9NRFBfUkRNQTAmZ3Q7Ow0KJmd0OyZndDsmZ3Q7JiMzMjsrJiMz MjsmIzMyOyYjMzI7JiMzMjsmIzMyOyYjMzI7JiMzMjsmIzMyOyYjMzI7JiMzMjsmIzMyOyYjMzI7 bWVkaWF0ZWssZ2NlLWNsaWVudC1yZWcmIzMyOz0mIzMyOyZsdDsmYW1wO2djZTAmIzMyO1NVQlNZ U18xYzEwWFhYWA0KJmd0OyZndDsmZ3Q7JiMzMjsweDQwMDAmIzMyOzB4MTAwMCZndDs7DQomZ3Q7 Jmd0OyZndDsmIzMyOysmIzMyOyYjMzI7JiMzMjsmIzMyOyYjMzI7JiMzMjsmIzMyOyYjMzI7fTsN CiZndDsmZ3Q7Jmd0OyYjMzI7KyYjMzI7JiMzMjsmIzMyOyYjMzI7fTsNCiZndDsmZ3Q7DQomZ3Q7 Jmd0OyYjMzI7QmVzdCYjMzI7cmVnYXJkcywNCiZndDsmZ3Q7JiMzMjtLcnp5c3p0b2YNCjwvcHJl PjwhLS10eXBlOnRleHQtLT48IS0tey0tPjxwcmU+KioqKioqKioqKioqKiBNRURJQVRFSyBDb25m aWRlbnRpYWxpdHkgTm90aWNlICoqKioqKioqKioqKioqKioqKioqDQpUaGUgaW5mb3JtYXRpb24g Y29udGFpbmVkIGluIHRoaXMgZS1tYWlsIG1lc3NhZ2UgKGluY2x1ZGluZyBhbnkgDQphdHRhY2ht ZW50cykgbWF5IGJlIGNvbmZpZGVudGlhbCwgcHJvcHJpZXRhcnksIHByaXZpbGVnZWQsIG9yIG90 aGVyd2lzZQ0KZXhlbXB0IGZyb20gZGlzY2xvc3VyZSB1bmRlciBhcHBsaWNhYmxlIGxhd3MuIEl0 IGlzIGludGVuZGVkIHRvIGJlIA0KY29udmV5ZWQgb25seSB0byB0aGUgZGVzaWduYXRlZCByZWNp cGllbnQocykuIEFueSB1c2UsIGRpc3NlbWluYXRpb24sIA0KZGlzdHJpYnV0aW9uLCBwcmludGlu ZywgcmV0YWluaW5nIG9yIGNvcHlpbmcgb2YgdGhpcyBlLW1haWwgKGluY2x1ZGluZyBpdHMgDQph dHRhY2htZW50cykgYnkgdW5pbnRlbmRlZCByZWNpcGllbnQocykgaXMgc3RyaWN0bHkgcHJvaGli aXRlZCBhbmQgbWF5IA0KYmUgdW5sYXdmdWwuIElmIHlvdSBhcmUgbm90IGFuIGludGVuZGVkIHJl Y2lwaWVudCBvZiB0aGlzIGUtbWFpbCwgb3IgYmVsaWV2ZSANCnRoYXQgeW91IGhhdmUgcmVjZWl2 ZWQgdGhpcyBlLW1haWwgaW4gZXJyb3IsIHBsZWFzZSBub3RpZnkgdGhlIHNlbmRlciANCmltbWVk aWF0ZWx5IChieSByZXBseWluZyB0byB0aGlzIGUtbWFpbCksIGRlbGV0ZSBhbnkgYW5kIGFsbCBj b3BpZXMgb2YgDQp0aGlzIGUtbWFpbCAoaW5jbHVkaW5nIGFueSBhdHRhY2htZW50cykgZnJvbSB5 b3VyIHN5c3RlbSwgYW5kIGRvIG5vdA0KZGlzY2xvc2UgdGhlIGNvbnRlbnQgb2YgdGhpcyBlLW1h aWwgdG8gYW55IG90aGVyIHBlcnNvbi4gVGhhbmsgeW91IQ0KPC9wcmU+PCEtLX0tLT4= --__=_Part_Boundary_004_1232963701.1435521086 Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: base64 DQpPbiA1LzkvMjIgNDo0NSBQTSwgUmV4LUJDIENoZW4gd3JvdGU6DQo+IE9uIE1vbiwgMjAyMi0w NS0wOSBhdCAxNTozMSArMDgwMCwgS3J6eXN6dG9mIEtvemxvd3NraSB3cm90ZToNCj4+IE9uIDA5 LzA1LzIwMjIgMDY6NDMsIFJleC1CQyBDaGVuIHdyb3RlOg0KPj4+IEZyb206ICJOYW5jeS5MaW4i IDxuYW5jeS5saW5AbWVkaWF0ZWsuY29tPg0KPj4+DQo+Pj4gQWRkIHZkb3N5czEgUkRNQSBkZWZp bml0aW9uLg0KPj4+DQo+Pj4gU2lnbmVkLW9mZi1ieTogTmFuY3kuTGluIDxuYW5jeS5saW5AbWVk aWF0ZWsuY29tPg0KPj4+IFJldmlld2VkLWJ5OiBBbmdlbG9HaW9hY2NoaW5vIERlbCBSZWdubyA8 DQo+Pj4gYW5nZWxvZ2lvYWNjaGluby5kZWxyZWdub0Bjb2xsYWJvcmEuY29tPg0KPj4+IC0tLQ0K Pj4+ICAgLi4uL2Rpc3BsYXkvbWVkaWF0ZWsvbWVkaWF0ZWssbWRwLXJkbWEueWFtbCAgIHwgOTQN Cj4+PiArKysrKysrKysrKysrKysrKysrDQo+Pj4gICAxIGZpbGUgY2hhbmdlZCwgOTQgaW5zZXJ0 aW9ucygrKQ0KPj4+ICAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+Pj4gRG9jdW1lbnRhdGlvbi9kZXZp Y2V0cmVlL2JpbmRpbmdzL2Rpc3BsYXkvbWVkaWF0ZWsvbWVkaWF0ZWssbWRwLQ0KPj4+IHJkbWEu eWFtbA0KPj4+DQo+Pj4gZGlmZiAtLWdpdA0KPj4+IGEvRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVl L2JpbmRpbmdzL2Rpc3BsYXkvbWVkaWF0ZWsvbWVkaWF0ZWssbWRwLQ0KPj4+IHJkbWEueWFtbA0K Pj4+IGIvRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2Rpc3BsYXkvbWVkaWF0ZWsv bWVkaWF0ZWssbWRwLQ0KPj4+IHJkbWEueWFtbA0KPj4+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+ Pj4gaW5kZXggMDAwMDAwMDAwMDAwLi5jYTMxYWNjYjBhOTUNCj4+PiAtLS0gL2Rldi9udWxsDQo+ Pj4gKysrDQo+Pj4gYi9Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvZGlzcGxheS9t ZWRpYXRlay9tZWRpYXRlayxtZHAtDQo+Pj4gcmRtYS55YW1sDQo+Pj4gQEAgLTAsMCArMSw5NCBA QA0KPj4+ICsjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiAoR1BMLTIuMC1vbmx5IE9SIEJTRC0y LUNsYXVzZSkNCj4+PiArJVlBTUwgMS4yDQo+Pj4gKy0tLQ0KPj4+ICskaWQ6DQo+Pj4gaHR0cHM6 Ly91cmxkZWZlbnNlLmNvbS92My9fX2h0dHA6Ly9kZXZpY2V0cmVlLm9yZy9zY2hlbWFzL2Rpc3Bs YXkvbWVkaWF0ZWsvbWVkaWF0ZWssbWRwLXJkbWEueWFtbCpfXztJdyEhQ1RSTktBOXdNZzBBUmJ3 IXg2cHFSU0xiTjFmeDZqNTdQS1hDVFRwOG43YnVsZ3BMelhTOHVVaDV2QUl4a1JLRDhLNkVxT29w bkZyWHZUNTRMUVhtSUVERkZ2UFF6QzRsZHIxVGRkRWVUdyQNCj4+PiAgIA0KPj4+ICskc2NoZW1h Og0KPj4+IGh0dHBzOi8vdXJsZGVmZW5zZS5jb20vdjMvX19odHRwOi8vZGV2aWNldHJlZS5vcmcv bWV0YS1zY2hlbWFzL2NvcmUueWFtbCpfXztJdyEhQ1RSTktBOXdNZzBBUmJ3IXg2cHFSU0xiTjFm eDZqNTdQS1hDVFRwOG43YnVsZ3BMelhTOHVVaDV2QUl4a1JLRDhLNkVxT29wbkZyWHZUNTRMUVht SUVERkZ2UFF6QzRsZHIzeS05c1czdyQNCj4+PiAgIA0KPj4+ICsNCj4+PiArdGl0bGU6IE1lZGlh VGVrIE1EUCBSRE1BDQo+Pj4gKw0KPj4+ICttYWludGFpbmVyczoNCj4+PiArICAtIENodW4tS3Vh bmcgSHUgPGNodW5rdWFuZy5odUBrZXJuZWwub3JnPg0KPj4+ICsgIC0gUGhpbGlwcCBaYWJlbCA8 cC56YWJlbEBwZW5ndXRyb25peC5kZT4NCj4+PiArDQo+Pj4gK2Rlc2NyaXB0aW9uOg0KPj4+ICsg IFRoZSBNZWRpYVRlayBNRFAgUkRNQSBzdGFuZHMgZm9yIFJlYWQgRGlyZWN0IE1lbW9yeSBBY2Nl c3MuDQo+Pj4gKyAgSXQgcHJvdmlkZXMgcmVhbCB0aW1lIGRhdGEgdG8gdGhlIGJhY2stZW5kIHBh bmVsIGRyaXZlciwgc3VjaCBhcw0KPj4+IERTSSwNCj4+PiArICBEUEkgYW5kIERQX0lOVEYuDQo+ Pj4gKyAgSXQgY29udGFpbnMgb25lIGxpbmUgYnVmZmVyIHRvIHN0b3JlIHRoZSBzdWZmaWNpZW50 IHBpeGVsIGRhdGEuDQo+Pj4gKyAgUkRNQSBkZXZpY2Ugbm9kZSBtdXN0IGJlIHNpYmxpbmdzIHRv IHRoZSBjZW50cmFsIE1NU1lTX0NPTkZJRw0KPj4+IG5vZGUuDQo+Pj4gKyAgRm9yIGEgZGVzY3Jp cHRpb24gb2YgdGhlIE1NU1lTX0NPTkZJRyBiaW5kaW5nLCBzZWUNCj4+PiArICBEb2N1bWVudGF0 aW9uL2RldmljZXRyZWUvYmluZGluZ3MvYXJtL21lZGlhdGVrL21lZGlhdGVrLG1tc3lzLnlhDQo+ Pj4gbWwgZm9yIGRldGFpbHMuDQo+Pj4gKw0KPj4+ICtwcm9wZXJ0aWVzOg0KPj4+ICsgIGNvbXBh dGlibGU6DQo+Pj4gKyAgICBvbmVPZjoNCj4+IG9uZU9mIGlzIG5vdCBuZWVkZWQNCj4+DQo+Pj4g KyAgICAgIC0gaXRlbXM6DQo+PiBpdGVtcyBub3QgbmVlZGVkLCB5b3UgaGF2ZSBvbmx5IG9uZSBp dGVtLg0KPj4NCj4gSGVsbG8gS3J6eXN6dG9mLA0KPg0KPiBUaGFua3MgZm9yIHlvdXIgcmV2aWV3 Lg0KPiBvaywgd2Ugd2lsbCBkcm9wIHRoZW0uDQo+DQo+Pj4gKyAgICAgICAgICAtIGNvbnN0OiBt ZWRpYXRlayxtdDgxOTUtdmRvMS1yZG1hDQo+Pj4gKw0KPj4+ICsgIHJlZzoNCj4+PiArICAgIG1h eEl0ZW1zOiAxDQo+Pj4gKw0KPj4+ICsgIGludGVycnVwdHM6DQo+Pj4gKyAgICBtYXhJdGVtczog MQ0KPj4+ICsNCj4+PiArICBwb3dlci1kb21haW5zOg0KPj4+ICsgICAgZGVzY3JpcHRpb246IEEg cGhhbmRsZSBhbmQgUE0gZG9tYWluIHNwZWNpZmllciBhcyBkZWZpbmVkIGJ5DQo+Pj4gYmluZGlu Z3Mgb2YNCj4+PiArICAgICAgdGhlIHBvd2VyIGNvbnRyb2xsZXIgc3BlY2lmaWVkIGJ5IHBoYW5k bGUuIFNlZQ0KPj4+ICsgICAgICBEb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcG93 ZXIvcG93ZXItZG9tYWluLnlhbWwNCj4+PiBmb3IgZGV0YWlscy4NCj4+IFNraXAgZGVzY3JpcHRp b24sIGl0J3Mgb2J2aW91cy4gSW5zdGVhZCBtYXhJdGVtcy4NCj4+DQo+IG9rLCB3ZSB3aWxsIGZp eCBpdC4NCj4NCj4+PiArDQo+Pj4gKyAgY2xvY2tzOg0KPj4+ICsgICAgaXRlbXM6DQo+Pj4gKyAg ICAgIC0gZGVzY3JpcHRpb246IFJETUEgQ2xvY2sNCj4+PiArDQo+Pj4gKyAgaW9tbXVzOg0KPj4+ ICsgICAgZGVzY3JpcHRpb246DQo+Pj4gKyAgICAgIFRoaXMgcHJvcGVydHkgc2hvdWxkIHBvaW50 IHRvIHRoZSByZXNwZWN0aXZlIElPTU1VIGJsb2NrDQo+Pj4gd2l0aCBtYXN0ZXIgcG9ydCBhcyBh cmd1bWVudCwNCj4+PiArICAgICAgc2VlDQo+Pj4gRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2Jp bmRpbmdzL2lvbW11L21lZGlhdGVrLGlvbW11LnlhbWwgZm9yDQo+Pj4gZGV0YWlscy4NCj4+IFNr aXAgZGVzY3JpcHRpb24sIGl0J3Mgb2J2aW91cy4gSW5zdGVhZCBtYXhJdGVtcy4NCj4+DQo+IG9r LCB3ZSB3aWxsIGZpeCBpdC4NCj4NCj4+PiArDQo+Pj4gKyAgbWVkaWF0ZWssZ2NlLWNsaWVudC1y ZWc6DQo+Pj4gKyAgICBkZXNjcmlwdGlvbjoNCj4+PiArICAgICAgVGhlIHJlZ2lzdGVyIG9mIGRp c3BsYXkgZnVuY3Rpb24gYmxvY2sgdG8gYmUgc2V0IGJ5IGdjZS4NCj4+PiBUaGVyZSBhcmUgNCBh cmd1bWVudHMsDQo+Pj4gKyAgICAgIHN1Y2ggYXMgZ2NlIG5vZGUsIHN1YnN5cyBpZCwgb2Zmc2V0 IGFuZCByZWdpc3RlciBzaXplLiBUaGUNCj4+PiBzdWJzeXMgaWQgdGhhdCBpcw0KPj4+ICsgICAg ICBtYXBwaW5nIHRvIHRoZSByZWdpc3RlciBvZiBkaXNwbGF5IGZ1bmN0aW9uIGJsb2NrcyBpcw0K Pj4+IGRlZmluZWQgaW4gdGhlIGdjZSBoZWFkZXINCj4+PiArICAgICAgaW5jbHVkZS9pbmNsdWRl L2R0LWJpbmRpbmdzL2djZS88Y2hpcD4tZ2NlLmggb2YgZWFjaCBjaGlwcy4NCj4+IERvdWJsZSAi aW5jbHVkZSIgaW4gdGhlIHBhdGguDQo+IG9rLCB3ZSB3aWxsIGZpeCBpdC4NCj4NCj4+PiArICAg ICRyZWY6IC9zY2hlbWFzL3R5cGVzLnlhbWwjL2RlZmluaXRpb25zL3BoYW5kbGUtYXJyYXkNCj4+ PiArICAgIGl0ZW1zOg0KPj4+ICsgICAgICBpdGVtczoNCj4+PiArICAgICAgICAtIGRlc2NyaXB0 aW9uOiBwaGFuZGxlIG9mIEdDRQ0KPj4+ICsgICAgICAgIC0gZGVzY3JpcHRpb246IEdDRSBzdWJz eXMgaWQNCj4+PiArICAgICAgICAtIGRlc2NyaXB0aW9uOiByZWdpc3RlciBvZmZzZXQNCj4+PiAr ICAgICAgICAtIGRlc2NyaXB0aW9uOiByZWdpc3RlciBzaXplDQo+Pj4gKyAgICBtYXhJdGVtczog MQ0KPj4+ICsNCj4+PiArcmVxdWlyZWQ6DQo+Pj4gKyAgLSBjb21wYXRpYmxlDQo+Pj4gKyAgLSBy ZWcNCj4+PiArICAtIHBvd2VyLWRvbWFpbnMNCj4+PiArICAtIGNsb2Nrcw0KPj4+ICsgIC0gaW9t bXVzDQo+Pj4gKyAgLSBtZWRpYXRlayxnY2UtY2xpZW50LXJlZw0KPj4+ICsNCj4+PiArYWRkaXRp b25hbFByb3BlcnRpZXM6IGZhbHNlDQo+Pj4gKw0KPj4+ICtleGFtcGxlczoNCj4+PiArICAtIHwN Cj4+PiArICAgICNpbmNsdWRlIDxkdC1iaW5kaW5ncy9pbnRlcnJ1cHQtY29udHJvbGxlci9hcm0t Z2ljLmg+DQo+Pj4gKyAgICAjaW5jbHVkZSA8ZHQtYmluZGluZ3MvY2xvY2svbXQ4MTk1LWNsay5o Pg0KPj4+ICsgICAgI2luY2x1ZGUgPGR0LWJpbmRpbmdzL3Bvd2VyL210ODE5NS1wb3dlci5oPg0K Pj4+ICsgICAgI2luY2x1ZGUgPGR0LWJpbmRpbmdzL2djZS9tdDgxOTUtZ2NlLmg+DQo+Pj4gKyAg ICAjaW5jbHVkZSA8ZHQtYmluZGluZ3MvbWVtb3J5L210ODE5NS1tZW1vcnktcG9ydC5oPg0KPj4+ ICsNCj4+PiArICAgIHNvYyB7DQo+Pj4gKyAgICAgICAgI2FkZHJlc3MtY2VsbHMgPSA8Mj47DQo+ Pj4gKyAgICAgICAgI3NpemUtY2VsbHMgPSA8Mj47DQo+Pj4gKw0KPj4+ICsgICAgICAgIHZkbzFf cmRtYTA6IG1kcC1yZG1hQDFjMTA0MDAwIHsNCj4+IEdlbmVyaWMgbm9kZSBuYW1lLiBkbWEtY29u dHJvbGxlciAoaWYgaXQgZG9lcyBub3QgY29uZmxpY3Qgd2l0aA0KPj4gZG1hLWNvbW1vbi55YW1s IHNjaGVtYSk/DQo+IFdlIGRvbid0IHVuZGVyc3RhbmQgd2hhdCBkbWEtY29udHJvbGxlciB5b3Ug YXJlIHJlZmVycmluZyB0bz8gQ2FuIHlvdQ0KPiBoZWxwIGV4cGxhaW4gbW9yZT8gVGhhbmtzIQ0K Pg0KPiBCUnMsDQo+IFJleA0KSGVsbG8gS3J6eXN6dG9mLA0KDQoNCkNvdWxkIHlvdSBhbHNvIGhl bHAgdXMgdG8gZXhwbGFpbiB3aGF0IGRvIHlvdSBtZWFuIGhlcmU/DQoNClRoYW5rcyENCg0KDQpC UnMsDQoNClJleA0KPj4+ICsgICAgICAgICAgICBjb21wYXRpYmxlID0gIm1lZGlhdGVrLG10ODE5 NS12ZG8xLXJkbWEiOw0KPj4+ICsgICAgICAgICAgICByZWcgPSA8MCAweDFjMTA0MDAwIDAgMHgx MDAwPjsNCj4+PiArICAgICAgICAgICAgaW50ZXJydXB0cyA9IDxHSUNfU1BJIDQ5NSBJUlFfVFlQ RV9MRVZFTF9ISUdIIDA+Ow0KPj4+ICsgICAgICAgICAgICBjbG9ja3MgPSA8JnZkb3N5czEgQ0xL X1ZETzFfTURQX1JETUEwPjsNCj4+PiArICAgICAgICAgICAgcG93ZXItZG9tYWlucyA9IDwmc3Bt IE1UODE5NV9QT1dFUl9ET01BSU5fVkRPU1lTMT47DQo+Pj4gKyAgICAgICAgICAgIGlvbW11cyA9 IDwmaW9tbXVfdmRvIE00VV9QT1JUX0wyX01EUF9SRE1BMD47DQo+Pj4gKyAgICAgICAgICAgIG1l ZGlhdGVrLGdjZS1jbGllbnQtcmVnID0gPCZnY2UwIFNVQlNZU18xYzEwWFhYWA0KPj4+IDB4NDAw MCAweDEwMDA+Ow0KPj4+ICsgICAgICAgIH07DQo+Pj4gKyAgICB9Ow0KPj4NCj4+IEJlc3QgcmVn YXJkcywNCj4+IEtyenlzenRvZg== --__=_Part_Boundary_004_1232963701.1435521086--