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=-8.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS 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 4C131C433EF for ; Wed, 22 Sep 2021 14:14:06 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 2E09A6120C for ; Wed, 22 Sep 2021 14:14:06 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236129AbhIVOPe (ORCPT ); Wed, 22 Sep 2021 10:15:34 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54032 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232401AbhIVOPb (ORCPT ); Wed, 22 Sep 2021 10:15:31 -0400 Received: from mail-qv1-xf32.google.com (mail-qv1-xf32.google.com [IPv6:2607:f8b0:4864:20::f32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E8483C061574 for ; Wed, 22 Sep 2021 07:14:00 -0700 (PDT) Received: by mail-qv1-xf32.google.com with SMTP id w9so1967565qvs.12 for ; Wed, 22 Sep 2021 07:14:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ndufresne-ca.20210112.gappssmtp.com; s=20210112; h=message-id:subject:from:to:cc:date:in-reply-to:references :user-agent:mime-version:content-transfer-encoding; bh=KqX+VtUoF+9CPexwv22MK/yzAk7W0pREam0Hxx6uxks=; b=Fzi/k7Helf00gfbOosFH6EiIk9Www3OVMs47w7UhDmBuzDaBk08YrPotphGkvENyRL UCw8RXlGWsMNhdra1XJ6HY+mySkH3HBBY2PeXr0L2C6p3wZZUWkoFbbseHfiD0RFhyDK 6nx59rBxu93EwMObnGtr9blmM3zWZhlLV0By0fsi1efdMo4a9AM/3yXClCoAhv9LfyTr X/EQ8TcbTSTym7YpSbdIK4hLOgJFAFhnx8QPW+Wb5eMpwZE1OEErEt0jjLhE2DnnfF2M iSoQC2FhlR6tlNa8ne8JQXXe7X96MRrdMIlpdRHKqargYYM7GFZFAuIC3+6CydwA5zj5 /jwA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:subject:from:to:cc:date:in-reply-to :references:user-agent:mime-version:content-transfer-encoding; bh=KqX+VtUoF+9CPexwv22MK/yzAk7W0pREam0Hxx6uxks=; b=G3DxJxx6VPr3LaiFnRNyDdNBWYhWVD8S1yeU//IIoqjcnX/ahq9B1Zvx9L/nHy4sfE FQfWrSfb//0naHD41TeihTX+R+vepyy59qZzw3aM8IfEG8Tn0p5zagLM464IHHxy4rVP sQnUmMIJ9J8NwTRCe9xSnWZ7Fr3ntRgiwbZo4gBCkjgY88XTPGUwNoOtg/ySiunJMdfy zdlT7aGoSuQ6zpFakOD/vmVdj+w0zbVDX5E3P7l8kSOXnApHkZhambWUB49T/ko0d1nu XTaLb0Vhg0NcoqzVWObRdChNEC6pnugTITKHSL9CK3DMvhapVvVvhfpAJppNkHMLgFAP ARlA== X-Gm-Message-State: AOAM5301sOF3vNYqGAW2V74A8D7O0nCQSPfABcU6KlO4EEZlgDDBpMLS 1dDFVxvY5HSmHZ8o0ulZr59p8UXM8BW7w5Nk X-Google-Smtp-Source: ABdhPJww6d64A3eJrEJ2j2aDSRRk8jYsUUJlvLtY8UfxXN0pAhor/30wDN7ZhBuJog82EqycwETsCg== X-Received: by 2002:a05:6214:1233:: with SMTP id p19mr34518895qvv.20.1632320040050; Wed, 22 Sep 2021 07:14:00 -0700 (PDT) Received: from nicolas-tpx395.localdomain (173-246-12-168.qc.cable.ebox.net. [173.246.12.168]) by smtp.gmail.com with ESMTPSA id c25sm765836qtm.78.2021.09.22.07.13.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 22 Sep 2021 07:13:59 -0700 (PDT) Message-ID: <7591d62b4aedb0ad789f09d90695c700c65df53d.camel@ndufresne.ca> Subject: Re: [PATCH v9 00/13] amphion video decoder/encoder driver From: Nicolas Dufresne To: Ming Qian , mchehab@kernel.org, shawnguo@kernel.org, robh+dt@kernel.org, s.hauer@pengutronix.de Cc: hverkuil-cisco@xs4all.nl, kernel@pengutronix.de, festevam@gmail.com, linux-imx@nxp.com, aisheng.dong@nxp.com, linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org Date: Wed, 22 Sep 2021 10:13:57 -0400 In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.40.4 (3.40.4-1.fc34) MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Ming, Le lundi 13 septembre 2021 à 17:11 +0800, Ming Qian a écrit : > Hi all, > > This patch series adds support for > the amphion video encoder and decoder > via the VPU block present in imx8q platforms. > Currently, support for IMX8QXP and IMX8QM is included. I've been trying to test this driver, based it on mainline 5.15-rc2 in absence of recommendation here. There seems to be poor mainline support for this board, notably only 1 CPU come up. Finally, I could not test anything as the driver failed to boot the decoders and encoder cores: [ 30.766160] [VPU CORE][0] decoder boot [ 31.873175] [VPU CORE][0] decoder boot timeout [ 31.878057] [VPU V4L2]there is no core for decoder [ 1766.495963] [VPU CORE][1] encoder boot [ 1767.524957] [VPU CORE][1] encoder boot timeout [ 1767.529724] [VPU V4L2]there is no core for encoder Please, let me know how I can get passed these issues. I have used firmwares referenced in Yocto tree: https://www.nxp.com/lgfiles/NMG/MAD/YOCTO/firmware-imx-7.9.bin Firmware for this driver will also be a subject to tackle. In an ideal world, the "self extracted" script requirement to accept your EULA would need to be waved, and distribution of the firmware should go into linux-firmwares. I believe firmwares are still allowed to have some user agreement, but I suppose there must be guidelines, best is to ask there directly. regards, Nicolas > > It features decoding for the following formats: > - H.264 > - HEVC > - MPEG4 > - MPEG2 > - VC1 > - VP8 > > It features encoding for the following formats: > - H.264 > > The driver creates a separate device node for the encoder and decoder. > > Changelog: > > v9 > - drop V4L2_BUF_FLAG_CODECCONFIG > - drop V4L2_EVENT_CODEC_ERROR > - drop V4L2_EVENT_SKIP > - use the v4l2_buffer.sequence counter > - fix some build warnings with W=1 reported by kernel test robot > > v8 > - move driver from driver/media/platform/imx/vpu-8q to > driver/media/platform/amphion > - rename driver name to amphion > - remove imx_vpu.h > - move the definition of V4L2_EVENT_CODEC_ERROR to videodev2.h > - move the definition of V4L2_EVENT_SKIP to videodev2.h > > v7 > - fix build warnings with W=1 reported by kernel test robot > > v6: > - rename V4L2_PIX_FMT_NT8 to V4L2_PIX_FMT_NV12_8L128 > - rename V4L2_PIX_FMT_NT10 to V4L2_PIX_FMT_NV12_10BE_8L128 > > v5: > - move some definition from imx_vph.h to videodev2.h > - remove some unnecessary content > - add some documentation descriptions > - pass the lateset v4l2-compliance test > > v4: > - redefine the memory-region in devicetree bindings documentation > - use v4l2's mechanism to implement synchronize queuing ioctl > - remove the unnecessary mutex ioctl_sync > - don't notify source change event if the parameters are same as previously established > - add flag V4L2_FMT_FLAG_DYN_RESOLUTION to decoder's capture format > > v3: > - don't make vpu device node a simple-bus > - trigger probing vpu core in the driver > - remove unnecessary vpu core index property > > v2: > - fix dt bindings build error > - split driver patch into several parts to avoid exceeding bytes limit > > Compliance > ========== > # v4l2-compliance -d /dev/video0 > v4l2-compliance 1.21.0-4838, 64 bits, 64-bit time_t > v4l2-compliance SHA: 22466798f9a9 2021-08-25 11:05:21 > > Compliance test for amphion-vpu device /dev/video0: > > Driver Info: > Driver name : amphion-vpu > Card type : amphion vpu decoder > Bus info : platform: amphion-vpu > Driver version : 5.14.0 > Capabilities : 0x84204000 > Video Memory-to-Memory Multiplanar > Streaming > Extended Pix Format > Device Capabilities > Device Caps : 0x04204000 > Video Memory-to-Memory Multiplanar > Streaming > Extended Pix Format > Detected Stateful Decoder > > Required ioctls: > test VIDIOC_QUERYCAP: OK > test invalid ioctls: OK > > Allow for multiple opens: > test second /dev/video0 open: OK > test VIDIOC_QUERYCAP: OK > test VIDIOC_G/S_PRIORITY: OK > test for unlimited opens: OK > > Debug ioctls: > test VIDIOC_DBG_G/S_REGISTER: OK (Not Supported) > test VIDIOC_LOG_STATUS: OK (Not Supported) > > Input ioctls: > test VIDIOC_G/S_TUNER/ENUM_FREQ_BANDS: OK (Not Supported) > test VIDIOC_G/S_FREQUENCY: OK (Not Supported) > test VIDIOC_S_HW_FREQ_SEEK: OK (Not Supported) > test VIDIOC_ENUMAUDIO: OK (Not Supported) > test VIDIOC_G/S/ENUMINPUT: OK (Not Supported) > test VIDIOC_G/S_AUDIO: OK (Not Supported) > Inputs: 0 Audio Inputs: 0 Tuners: 0 > > Output ioctls: > test VIDIOC_G/S_MODULATOR: OK (Not Supported) > test VIDIOC_G/S_FREQUENCY: OK (Not Supported) > test VIDIOC_ENUMAUDOUT: OK (Not Supported) > test VIDIOC_G/S/ENUMOUTPUT: OK (Not Supported) > test VIDIOC_G/S_AUDOUT: OK (Not Supported) > Outputs: 0 Audio Outputs: 0 Modulators: 0 > > Input/Output configuration ioctls: > test VIDIOC_ENUM/G/S/QUERY_STD: OK (Not Supported) > test VIDIOC_ENUM/G/S/QUERY_DV_TIMINGS: OK (Not Supported) > test VIDIOC_DV_TIMINGS_CAP: OK (Not Supported) > test VIDIOC_G/S_EDID: OK (Not Supported) > > Control ioctls: > test VIDIOC_QUERY_EXT_CTRL/QUERYMENU: OK > test VIDIOC_QUERYCTRL: OK > test VIDIOC_G/S_CTRL: OK > test VIDIOC_G/S/TRY_EXT_CTRLS: OK > test VIDIOC_(UN)SUBSCRIBE_EVENT/DQEVENT: OK > test VIDIOC_G/S_JPEGCOMP: OK (Not Supported) > Standard Controls: 3 Private Controls: 0 > > Format ioctls: > test VIDIOC_ENUM_FMT/FRAMESIZES/FRAMEINTERVALS: OK > test VIDIOC_G/S_PARM: OK (Not Supported) > test VIDIOC_G_FBUF: OK (Not Supported) > test VIDIOC_G_FMT: OK > test VIDIOC_TRY_FMT: OK > test VIDIOC_S_FMT: OK > test VIDIOC_G_SLICED_VBI_CAP: OK (Not Supported) > test Cropping: OK (Not Supported) > test Composing: OK > test Scaling: OK (Not Supported) > > Codec ioctls: > test VIDIOC_(TRY_)ENCODER_CMD: OK (Not Supported) > test VIDIOC_G_ENC_INDEX: OK (Not Supported) > test VIDIOC_(TRY_)DECODER_CMD: OK > > Buffer ioctls: > test VIDIOC_REQBUFS/CREATE_BUFS/QUERYBUF: OK > test VIDIOC_EXPBUF: OK > test Requests: OK (Not Supported) > > Total for amphion-vpu device /dev/video0: 45, Succeeded: 45, Failed: 0, Warnings: 0 > > # v4l2-compliance -d /dev/video1 > v4l2-compliance 1.21.0-4838, 64 bits, 64-bit time_t > v4l2-compliance SHA: 22466798f9a9 2021-08-25 11:05:21 > > Compliance test for amphion-vpu device /dev/video1: > > Driver Info: > Driver name : amphion-vpu > Card type : amphion vpu encoder > Bus info : platform: amphion-vpu > Driver version : 5.14.0 > Capabilities : 0x84204000 > Video Memory-to-Memory Multiplanar > Streaming > Extended Pix Format > Device Capabilities > Device Caps : 0x04204000 > Video Memory-to-Memory Multiplanar > Streaming > Extended Pix Format > Detected Stateful Encoder > > Required ioctls: > test VIDIOC_QUERYCAP: OK > test invalid ioctls: OK > > Allow for multiple opens: > test second /dev/video1 open: OK > test VIDIOC_QUERYCAP: OK > test VIDIOC_G/S_PRIORITY: OK > test for unlimited opens: OK > > Debug ioctls: > test VIDIOC_DBG_G/S_REGISTER: OK (Not Supported) > test VIDIOC_LOG_STATUS: OK (Not Supported) > > Input ioctls: > test VIDIOC_G/S_TUNER/ENUM_FREQ_BANDS: OK (Not Supported) > test VIDIOC_G/S_FREQUENCY: OK (Not Supported) > test VIDIOC_S_HW_FREQ_SEEK: OK (Not Supported) > test VIDIOC_ENUMAUDIO: OK (Not Supported) > test VIDIOC_G/S/ENUMINPUT: OK (Not Supported) > test VIDIOC_G/S_AUDIO: OK (Not Supported) > Inputs: 0 Audio Inputs: 0 Tuners: 0 > > Output ioctls: > test VIDIOC_G/S_MODULATOR: OK (Not Supported) > test VIDIOC_G/S_FREQUENCY: OK (Not Supported) > test VIDIOC_ENUMAUDOUT: OK (Not Supported) > test VIDIOC_G/S/ENUMOUTPUT: OK (Not Supported) > test VIDIOC_G/S_AUDOUT: OK (Not Supported) > Outputs: 0 Audio Outputs: 0 Modulators: 0 > > Input/Output configuration ioctls: > test VIDIOC_ENUM/G/S/QUERY_STD: OK (Not Supported) > test VIDIOC_ENUM/G/S/QUERY_DV_TIMINGS: OK (Not Supported) > test VIDIOC_DV_TIMINGS_CAP: OK (Not Supported) > test VIDIOC_G/S_EDID: OK (Not Supported) > > Control ioctls: > test VIDIOC_QUERY_EXT_CTRL/QUERYMENU: OK > test VIDIOC_QUERYCTRL: OK > test VIDIOC_G/S_CTRL: OK > test VIDIOC_G/S/TRY_EXT_CTRLS: OK > test VIDIOC_(UN)SUBSCRIBE_EVENT/DQEVENT: OK > test VIDIOC_G/S_JPEGCOMP: OK (Not Supported) > Standard Controls: 20 Private Controls: 0 > > Format ioctls: > test VIDIOC_ENUM_FMT/FRAMESIZES/FRAMEINTERVALS: OK > test VIDIOC_G/S_PARM: OK > test VIDIOC_G_FBUF: OK (Not Supported) > test VIDIOC_G_FMT: OK > test VIDIOC_TRY_FMT: OK > test VIDIOC_S_FMT: OK > test VIDIOC_G_SLICED_VBI_CAP: OK (Not Supported) > test Cropping: OK > test Composing: OK (Not Supported) > test Scaling: OK (Not Supported) > > Codec ioctls: > test VIDIOC_(TRY_)ENCODER_CMD: OK > test VIDIOC_G_ENC_INDEX: OK (Not Supported) > test VIDIOC_(TRY_)DECODER_CMD: OK (Not Supported) > > Buffer ioctls: > test VIDIOC_REQBUFS/CREATE_BUFS/QUERYBUF: OK > test VIDIOC_EXPBUF: OK > test Requests: OK (Not Supported) > > Total for amphion-vpu device /dev/video1: 45, Succeeded: 45, Failed: 0, Warnings: 0 > > Ming Qian (13): > dt-bindings: media: amphion: add amphion video codec bindings > media:Add nt8 and nt10 video format. > media: amphion: add amphion vpu device driver > media: amphion: add vpu core driver > media: amphion: implement vpu core communication based on mailbox > media: amphion: add vpu v4l2 m2m support > media: amphion: add v4l2 m2m vpu encoder stateful driver > media: amphion: add v4l2 m2m vpu decoder stateful driver > media: amphion: implement windsor encoder rpc interface > media: amphion: implement malone decoder rpc interface > ARM64: dts: freescale: imx8q: add imx vpu codec entries > firmware: imx: scu-pd: imx8q: add vpu mu resources > MAINTAINERS: add AMPHION VPU CODEC V4L2 driver entry > > .../bindings/media/amphion,vpu.yaml | 178 ++ > .../media/v4l/pixfmt-yuv-planar.rst | 15 + > MAINTAINERS | 9 + > .../arm64/boot/dts/freescale/imx8-ss-vpu.dtsi | 72 + > arch/arm64/boot/dts/freescale/imx8qxp-mek.dts | 17 + > arch/arm64/boot/dts/freescale/imx8qxp.dtsi | 24 + > drivers/firmware/imx/scu-pd.c | 4 + > drivers/media/platform/Kconfig | 19 + > drivers/media/platform/Makefile | 2 + > drivers/media/platform/amphion/Makefile | 23 + > drivers/media/platform/amphion/vdec.c | 1652 ++++++++++++++++ > drivers/media/platform/amphion/venc.c | 1382 ++++++++++++++ > drivers/media/platform/amphion/vpu.h | 333 ++++ > drivers/media/platform/amphion/vpu_cmds.c | 435 +++++ > drivers/media/platform/amphion/vpu_cmds.h | 25 + > drivers/media/platform/amphion/vpu_codec.h | 68 + > drivers/media/platform/amphion/vpu_color.c | 192 ++ > drivers/media/platform/amphion/vpu_core.c | 901 +++++++++ > drivers/media/platform/amphion/vpu_core.h | 16 + > drivers/media/platform/amphion/vpu_dbg.c | 496 +++++ > drivers/media/platform/amphion/vpu_defs.h | 186 ++ > .../media/platform/amphion/vpu_dev_imx8q.c | 72 + > drivers/media/platform/amphion/vpu_drv.c | 215 +++ > drivers/media/platform/amphion/vpu_helpers.c | 453 +++++ > drivers/media/platform/amphion/vpu_helpers.h | 72 + > drivers/media/platform/amphion/vpu_imx8q.c | 218 +++ > drivers/media/platform/amphion/vpu_imx8q.h | 116 ++ > drivers/media/platform/amphion/vpu_log.h | 44 + > drivers/media/platform/amphion/vpu_malone.c | 1683 +++++++++++++++++ > drivers/media/platform/amphion/vpu_malone.h | 42 + > drivers/media/platform/amphion/vpu_mbox.c | 126 ++ > drivers/media/platform/amphion/vpu_mbox.h | 16 + > drivers/media/platform/amphion/vpu_msgs.c | 413 ++++ > drivers/media/platform/amphion/vpu_msgs.h | 14 + > drivers/media/platform/amphion/vpu_rpc.c | 263 +++ > drivers/media/platform/amphion/vpu_rpc.h | 463 +++++ > drivers/media/platform/amphion/vpu_v4l2.c | 625 ++++++ > drivers/media/platform/amphion/vpu_v4l2.h | 53 + > drivers/media/platform/amphion/vpu_windsor.c | 1244 ++++++++++++ > drivers/media/platform/amphion/vpu_windsor.h | 39 + > drivers/media/v4l2-core/v4l2-ioctl.c | 2 + > include/uapi/linux/videodev2.h | 4 + > 42 files changed, 12226 insertions(+) > create mode 100644 Documentation/devicetree/bindings/media/amphion,vpu.yaml > create mode 100644 arch/arm64/boot/dts/freescale/imx8-ss-vpu.dtsi > create mode 100644 drivers/media/platform/amphion/Makefile > create mode 100644 drivers/media/platform/amphion/vdec.c > create mode 100644 drivers/media/platform/amphion/venc.c > create mode 100644 drivers/media/platform/amphion/vpu.h > create mode 100644 drivers/media/platform/amphion/vpu_cmds.c > create mode 100644 drivers/media/platform/amphion/vpu_cmds.h > create mode 100644 drivers/media/platform/amphion/vpu_codec.h > create mode 100644 drivers/media/platform/amphion/vpu_color.c > create mode 100644 drivers/media/platform/amphion/vpu_core.c > create mode 100644 drivers/media/platform/amphion/vpu_core.h > create mode 100644 drivers/media/platform/amphion/vpu_dbg.c > create mode 100644 drivers/media/platform/amphion/vpu_defs.h > create mode 100644 drivers/media/platform/amphion/vpu_dev_imx8q.c > create mode 100644 drivers/media/platform/amphion/vpu_drv.c > create mode 100644 drivers/media/platform/amphion/vpu_helpers.c > create mode 100644 drivers/media/platform/amphion/vpu_helpers.h > create mode 100644 drivers/media/platform/amphion/vpu_imx8q.c > create mode 100644 drivers/media/platform/amphion/vpu_imx8q.h > create mode 100644 drivers/media/platform/amphion/vpu_log.h > create mode 100644 drivers/media/platform/amphion/vpu_malone.c > create mode 100644 drivers/media/platform/amphion/vpu_malone.h > create mode 100644 drivers/media/platform/amphion/vpu_mbox.c > create mode 100644 drivers/media/platform/amphion/vpu_mbox.h > create mode 100644 drivers/media/platform/amphion/vpu_msgs.c > create mode 100644 drivers/media/platform/amphion/vpu_msgs.h > create mode 100644 drivers/media/platform/amphion/vpu_rpc.c > create mode 100644 drivers/media/platform/amphion/vpu_rpc.h > create mode 100644 drivers/media/platform/amphion/vpu_v4l2.c > create mode 100644 drivers/media/platform/amphion/vpu_v4l2.h > create mode 100644 drivers/media/platform/amphion/vpu_windsor.c > create mode 100644 drivers/media/platform/amphion/vpu_windsor.h > > > base-commit: 9c3a0f285248899dfa81585bc5d5bc9ebdb8fead 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=-10.2 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=ham 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 CB145C433F5 for ; Wed, 22 Sep 2021 14:20:14 +0000 (UTC) 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 mail.kernel.org (Postfix) with ESMTPS id 9833D60F56 for ; Wed, 22 Sep 2021 14:20:14 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 9833D60F56 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=ndufresne.ca Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Date:Cc:To:From:Subject:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=433PPdHi6jjppyoFYHJy6b1mkHJbzfnNcIjb6W0NlxI=; b=c8s7JghqxhcN6/ hNx8mUbjQt7gRcsx8rLgNMVCNT/DvHmwz4RKniRwixbzQTrIZlyuxoaw6pthJOjXrSGy19Rz/8hpv dohm2xa/XYlaMxRtu8syNEMBfivGZfwHntsMn25M2kndy7QJfm9Ro3HkOE+hL/xBs4rOeRy1HUnvd +sXgOdi+/TnStL80kCiLXvB87maav9luFKpLA4hamrkNAesK6V/XikQryMtcetSFcYU7s/h2o0A1u OKlhmwZs4RAhgDlEN4NE2hKyiw+iqlD9EHEfN8nhWvgbc7SKpsXNoJR0uCGNCOVeZZuFoUPFyN4+3 O/d5fWogIIN8yQyC7HMQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1mT33A-008moY-Eo; Wed, 22 Sep 2021 14:16:42 +0000 Received: from mail-qv1-xf2e.google.com ([2607:f8b0:4864:20::f2e]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1mT30b-008m7x-6y for linux-arm-kernel@lists.infradead.org; Wed, 22 Sep 2021 14:14:04 +0000 Received: by mail-qv1-xf2e.google.com with SMTP id a13so1988548qvo.9 for ; Wed, 22 Sep 2021 07:14:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ndufresne-ca.20210112.gappssmtp.com; s=20210112; h=message-id:subject:from:to:cc:date:in-reply-to:references :user-agent:mime-version:content-transfer-encoding; bh=KqX+VtUoF+9CPexwv22MK/yzAk7W0pREam0Hxx6uxks=; b=Fzi/k7Helf00gfbOosFH6EiIk9Www3OVMs47w7UhDmBuzDaBk08YrPotphGkvENyRL UCw8RXlGWsMNhdra1XJ6HY+mySkH3HBBY2PeXr0L2C6p3wZZUWkoFbbseHfiD0RFhyDK 6nx59rBxu93EwMObnGtr9blmM3zWZhlLV0By0fsi1efdMo4a9AM/3yXClCoAhv9LfyTr X/EQ8TcbTSTym7YpSbdIK4hLOgJFAFhnx8QPW+Wb5eMpwZE1OEErEt0jjLhE2DnnfF2M iSoQC2FhlR6tlNa8ne8JQXXe7X96MRrdMIlpdRHKqargYYM7GFZFAuIC3+6CydwA5zj5 /jwA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:subject:from:to:cc:date:in-reply-to :references:user-agent:mime-version:content-transfer-encoding; bh=KqX+VtUoF+9CPexwv22MK/yzAk7W0pREam0Hxx6uxks=; b=daG833hU7YovVVwHSzDpVN/MNlZWT2WNlP3NxAH4zETPSyKZS0mshifSgEi4nEZCt7 0Fs8dmrTLKtT4c6kogXHR3BX/1JjVzw9WyQMTnGYsxAaq94XmBURIEKb2DXi1aQrfPb5 popbof0hRcGqZHSb+dnrHF32Dt8Y31uT6HRru3SQZ49SRlH0h2TvI7AstYo0krXdEwCa LjZh9ZnggiyIlSbe0WzegJwBCESFsQj5TH/EE9LEMO8c/eGFcHKAkkIIp96/ZNACdCBR xbd0eDOUMG5qOxWroef/4hp31Iq2slwi5eRD4Sr7S3r5DtiVxCWPxLuryAS6+ia2TfKd CXEQ== X-Gm-Message-State: AOAM532MrWxsXfMBVjSslNfyF1GaZNZTLMKnAE4Yi38fWITijn5HK7nc ptOy21v4avO1riiT+a7v2bU92A== X-Google-Smtp-Source: ABdhPJww6d64A3eJrEJ2j2aDSRRk8jYsUUJlvLtY8UfxXN0pAhor/30wDN7ZhBuJog82EqycwETsCg== X-Received: by 2002:a05:6214:1233:: with SMTP id p19mr34518895qvv.20.1632320040050; Wed, 22 Sep 2021 07:14:00 -0700 (PDT) Received: from nicolas-tpx395.localdomain (173-246-12-168.qc.cable.ebox.net. [173.246.12.168]) by smtp.gmail.com with ESMTPSA id c25sm765836qtm.78.2021.09.22.07.13.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 22 Sep 2021 07:13:59 -0700 (PDT) Message-ID: <7591d62b4aedb0ad789f09d90695c700c65df53d.camel@ndufresne.ca> Subject: Re: [PATCH v9 00/13] amphion video decoder/encoder driver From: Nicolas Dufresne To: Ming Qian , mchehab@kernel.org, shawnguo@kernel.org, robh+dt@kernel.org, s.hauer@pengutronix.de Cc: hverkuil-cisco@xs4all.nl, kernel@pengutronix.de, festevam@gmail.com, linux-imx@nxp.com, aisheng.dong@nxp.com, linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org Date: Wed, 22 Sep 2021 10:13:57 -0400 In-Reply-To: References: User-Agent: Evolution 3.40.4 (3.40.4-1.fc34) MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210922_071401_406941_86FCA1B4 X-CRM114-Status: GOOD ( 30.58 ) 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-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org SGkgTWluZywKCkxlIGx1bmRpIDEzIHNlcHRlbWJyZSAyMDIxIMOgIDE3OjExICswODAwLCBNaW5n IFFpYW4gYSDDqWNyaXTCoDoKPiBIaSBhbGwsCj4gCj4gVGhpcyBwYXRjaCBzZXJpZXMgYWRkcyBz dXBwb3J0IGZvcgo+IHRoZSBhbXBoaW9uIHZpZGVvIGVuY29kZXIgYW5kIGRlY29kZXIKPiB2aWEg dGhlIFZQVSBibG9jayBwcmVzZW50IGluIGlteDhxIHBsYXRmb3Jtcy4KPiBDdXJyZW50bHksIHN1 cHBvcnQgZm9yIElNWDhRWFAgYW5kIElNWDhRTSBpcyBpbmNsdWRlZC4KCkkndmUgYmVlbiB0cnlp bmcgdG8gdGVzdCB0aGlzIGRyaXZlciwgYmFzZWQgaXQgb24gbWFpbmxpbmUgNS4xNS1yYzIgaW4g YWJzZW5jZQpvZiByZWNvbW1lbmRhdGlvbiBoZXJlLiBUaGVyZSBzZWVtcyB0byBiZSBwb29yIG1h aW5saW5lIHN1cHBvcnQgZm9yIHRoaXMgYm9hcmQsCm5vdGFibHkgb25seSAxIENQVSBjb21lIHVw LiBGaW5hbGx5LCBJIGNvdWxkIG5vdCB0ZXN0IGFueXRoaW5nIGFzIHRoZSBkcml2ZXIKZmFpbGVk IHRvIGJvb3QgdGhlIGRlY29kZXJzIGFuZCBlbmNvZGVyIGNvcmVzOgoKWyAgIDMwLjc2NjE2MF0g W1ZQVSBDT1JFXVswXSBkZWNvZGVyIGJvb3QKWyAgIDMxLjg3MzE3NV0gW1ZQVSBDT1JFXVswXSBk ZWNvZGVyIGJvb3QgdGltZW91dApbICAgMzEuODc4MDU3XSBbVlBVIFY0TDJddGhlcmUgaXMgbm8g Y29yZSBmb3IgZGVjb2RlcgpbIDE3NjYuNDk1OTYzXSBbVlBVIENPUkVdWzFdIGVuY29kZXIgYm9v dApbIDE3NjcuNTI0OTU3XSBbVlBVIENPUkVdWzFdIGVuY29kZXIgYm9vdCB0aW1lb3V0ClsgMTc2 Ny41Mjk3MjRdIFtWUFUgVjRMMl10aGVyZSBpcyBubyBjb3JlIGZvciBlbmNvZGVyCgpQbGVhc2Us IGxldCBtZSBrbm93IGhvdyBJIGNhbiBnZXQgcGFzc2VkIHRoZXNlIGlzc3Vlcy4gSSBoYXZlIHVz ZWQgZmlybXdhcmVzCnJlZmVyZW5jZWQgaW4gWW9jdG8gdHJlZToKCiAgaHR0cHM6Ly93d3cubnhw LmNvbS9sZ2ZpbGVzL05NRy9NQUQvWU9DVE8vZmlybXdhcmUtaW14LTcuOS5iaW4KCkZpcm13YXJl IGZvciB0aGlzIGRyaXZlciB3aWxsIGFsc28gYmUgYSBzdWJqZWN0IHRvIHRhY2tsZS4gSW4gYW4g aWRlYWwgd29ybGQsCnRoZSAic2VsZiBleHRyYWN0ZWQiIHNjcmlwdCByZXF1aXJlbWVudCB0byBh Y2NlcHQgeW91ciBFVUxBIHdvdWxkIG5lZWQgdG8gYmUKd2F2ZWQsIGFuZCBkaXN0cmlidXRpb24g b2YgdGhlIGZpcm13YXJlIHNob3VsZCBnbyBpbnRvIGxpbnV4LWZpcm13YXJlcy4gSQpiZWxpZXZl IGZpcm13YXJlcyBhcmUgc3RpbGwgYWxsb3dlZCB0byBoYXZlIHNvbWUgdXNlciBhZ3JlZW1lbnQs IGJ1dCBJIHN1cHBvc2UKdGhlcmUgbXVzdCBiZSBndWlkZWxpbmVzLCBiZXN0IGlzIHRvIGFzayB0 aGVyZSBkaXJlY3RseS4KCnJlZ2FyZHMsCk5pY29sYXMKCj4gCj4gSXQgZmVhdHVyZXMgZGVjb2Rp bmcgZm9yIHRoZSBmb2xsb3dpbmcgZm9ybWF0czoKPiAtIEguMjY0Cj4gLSBIRVZDCj4gLSBNUEVH NAo+IC0gTVBFRzIKPiAtIFZDMQo+IC0gVlA4Cj4gCj4gSXQgZmVhdHVyZXMgZW5jb2RpbmcgZm9y IHRoZSBmb2xsb3dpbmcgZm9ybWF0czoKPiAtIEguMjY0Cj4gCj4gVGhlIGRyaXZlciBjcmVhdGVz IGEgc2VwYXJhdGUgZGV2aWNlIG5vZGUgZm9yIHRoZSBlbmNvZGVyIGFuZCBkZWNvZGVyLgo+IAo+ IENoYW5nZWxvZzoKPiAKPiB2OQo+IC0gZHJvcCBWNEwyX0JVRl9GTEFHX0NPREVDQ09ORklHCj4g LSBkcm9wIFY0TDJfRVZFTlRfQ09ERUNfRVJST1IKPiAtIGRyb3AgVjRMMl9FVkVOVF9TS0lQCj4g LSB1c2UgdGhlIHY0bDJfYnVmZmVyLnNlcXVlbmNlIGNvdW50ZXIKPiAtIGZpeCBzb21lIGJ1aWxk IHdhcm5pbmdzIHdpdGggVz0xIHJlcG9ydGVkIGJ5IGtlcm5lbCB0ZXN0IHJvYm90Cj4gCj4gdjgK PiAtIG1vdmUgZHJpdmVyIGZyb20gZHJpdmVyL21lZGlhL3BsYXRmb3JtL2lteC92cHUtOHEgdG8K PiAgIGRyaXZlci9tZWRpYS9wbGF0Zm9ybS9hbXBoaW9uCj4gLSByZW5hbWUgZHJpdmVyIG5hbWUg dG8gYW1waGlvbgo+IC0gcmVtb3ZlIGlteF92cHUuaAo+IC0gbW92ZSB0aGUgZGVmaW5pdGlvbiBv ZiBWNEwyX0VWRU5UX0NPREVDX0VSUk9SIHRvIHZpZGVvZGV2Mi5oCj4gLSBtb3ZlIHRoZSBkZWZp bml0aW9uIG9mIFY0TDJfRVZFTlRfU0tJUCB0byB2aWRlb2RldjIuaAo+IAo+IHY3Cj4gLSBmaXgg YnVpbGQgd2FybmluZ3Mgd2l0aCBXPTEgcmVwb3J0ZWQgYnkga2VybmVsIHRlc3Qgcm9ib3QKPiAK PiB2NjoKPiAtIHJlbmFtZSBWNEwyX1BJWF9GTVRfTlQ4IHRvIFY0TDJfUElYX0ZNVF9OVjEyXzhM MTI4Cj4gLSByZW5hbWUgVjRMMl9QSVhfRk1UX05UMTAgdG8gVjRMMl9QSVhfRk1UX05WMTJfMTBC RV84TDEyOAo+IAo+IHY1Ogo+IC0gbW92ZSBzb21lIGRlZmluaXRpb24gZnJvbSBpbXhfdnBoLmgg dG8gdmlkZW9kZXYyLmgKPiAtIHJlbW92ZSBzb21lIHVubmVjZXNzYXJ5IGNvbnRlbnQKPiAtIGFk ZCBzb21lIGRvY3VtZW50YXRpb24gZGVzY3JpcHRpb25zCj4gLSBwYXNzIHRoZSBsYXRlc2V0IHY0 bDItY29tcGxpYW5jZSB0ZXN0Cj4gCj4gdjQ6Cj4gLSByZWRlZmluZSB0aGUgbWVtb3J5LXJlZ2lv biBpbiBkZXZpY2V0cmVlIGJpbmRpbmdzIGRvY3VtZW50YXRpb24KPiAtIHVzZSB2NGwyJ3MgbWVj aGFuaXNtIHRvIGltcGxlbWVudCBzeW5jaHJvbml6ZSBxdWV1aW5nIGlvY3RsCj4gLSByZW1vdmUg dGhlIHVubmVjZXNzYXJ5IG11dGV4IGlvY3RsX3N5bmMKPiAtIGRvbid0IG5vdGlmeSBzb3VyY2Ug Y2hhbmdlIGV2ZW50IGlmIHRoZSBwYXJhbWV0ZXJzIGFyZSBzYW1lIGFzIHByZXZpb3VzbHkgZXN0 YWJsaXNoZWQKPiAtIGFkZCBmbGFnIFY0TDJfRk1UX0ZMQUdfRFlOX1JFU09MVVRJT04gdG8gZGVj b2RlcidzIGNhcHR1cmUgZm9ybWF0Cj4gCj4gdjM6Cj4gLSBkb24ndCBtYWtlIHZwdSBkZXZpY2Ug bm9kZSBhIHNpbXBsZS1idXMKPiAtIHRyaWdnZXIgcHJvYmluZyB2cHUgY29yZSBpbiB0aGUgZHJp dmVyCj4gLSByZW1vdmUgdW5uZWNlc3NhcnkgdnB1IGNvcmUgaW5kZXggcHJvcGVydHkKPiAKPiB2 MjoKPiAtIGZpeCBkdCBiaW5kaW5ncyBidWlsZCBlcnJvcgo+IC0gc3BsaXQgZHJpdmVyIHBhdGNo IGludG8gc2V2ZXJhbCBwYXJ0cyB0byBhdm9pZCBleGNlZWRpbmcgYnl0ZXMgbGltaXQKPiAKPiBD b21wbGlhbmNlCj4gPT09PT09PT09PQo+ICMgdjRsMi1jb21wbGlhbmNlIC1kIC9kZXYvdmlkZW8w Cj4gdjRsMi1jb21wbGlhbmNlIDEuMjEuMC00ODM4LCA2NCBiaXRzLCA2NC1iaXQgdGltZV90Cj4g djRsMi1jb21wbGlhbmNlIFNIQTogMjI0NjY3OThmOWE5IDIwMjEtMDgtMjUgMTE6MDU6MjEKPiAK PiBDb21wbGlhbmNlIHRlc3QgZm9yIGFtcGhpb24tdnB1IGRldmljZSAvZGV2L3ZpZGVvMDoKPiAK PiBEcml2ZXIgSW5mbzoKPiAJRHJpdmVyIG5hbWUgICAgICA6IGFtcGhpb24tdnB1Cj4gCUNhcmQg dHlwZSAgICAgICAgOiBhbXBoaW9uIHZwdSBkZWNvZGVyCj4gCUJ1cyBpbmZvICAgICAgICAgOiBw bGF0Zm9ybTogYW1waGlvbi12cHUKPiAJRHJpdmVyIHZlcnNpb24gICA6IDUuMTQuMAo+IAlDYXBh YmlsaXRpZXMgICAgIDogMHg4NDIwNDAwMAo+IAkJVmlkZW8gTWVtb3J5LXRvLU1lbW9yeSBNdWx0 aXBsYW5hcgo+IAkJU3RyZWFtaW5nCj4gCQlFeHRlbmRlZCBQaXggRm9ybWF0Cj4gCQlEZXZpY2Ug Q2FwYWJpbGl0aWVzCj4gCURldmljZSBDYXBzICAgICAgOiAweDA0MjA0MDAwCj4gCQlWaWRlbyBN ZW1vcnktdG8tTWVtb3J5IE11bHRpcGxhbmFyCj4gCQlTdHJlYW1pbmcKPiAJCUV4dGVuZGVkIFBp eCBGb3JtYXQKPiAJRGV0ZWN0ZWQgU3RhdGVmdWwgRGVjb2Rlcgo+IAo+IFJlcXVpcmVkIGlvY3Rs czoKPiAJdGVzdCBWSURJT0NfUVVFUllDQVA6IE9LCj4gCXRlc3QgaW52YWxpZCBpb2N0bHM6IE9L Cj4gCj4gQWxsb3cgZm9yIG11bHRpcGxlIG9wZW5zOgo+IAl0ZXN0IHNlY29uZCAvZGV2L3ZpZGVv MCBvcGVuOiBPSwo+IAl0ZXN0IFZJRElPQ19RVUVSWUNBUDogT0sKPiAJdGVzdCBWSURJT0NfRy9T X1BSSU9SSVRZOiBPSwo+IAl0ZXN0IGZvciB1bmxpbWl0ZWQgb3BlbnM6IE9LCj4gCj4gRGVidWcg aW9jdGxzOgo+IAl0ZXN0IFZJRElPQ19EQkdfRy9TX1JFR0lTVEVSOiBPSyAoTm90IFN1cHBvcnRl ZCkKPiAJdGVzdCBWSURJT0NfTE9HX1NUQVRVUzogT0sgKE5vdCBTdXBwb3J0ZWQpCj4gCj4gSW5w dXQgaW9jdGxzOgo+IAl0ZXN0IFZJRElPQ19HL1NfVFVORVIvRU5VTV9GUkVRX0JBTkRTOiBPSyAo Tm90IFN1cHBvcnRlZCkKPiAJdGVzdCBWSURJT0NfRy9TX0ZSRVFVRU5DWTogT0sgKE5vdCBTdXBw b3J0ZWQpCj4gCXRlc3QgVklESU9DX1NfSFdfRlJFUV9TRUVLOiBPSyAoTm90IFN1cHBvcnRlZCkK PiAJdGVzdCBWSURJT0NfRU5VTUFVRElPOiBPSyAoTm90IFN1cHBvcnRlZCkKPiAJdGVzdCBWSURJ T0NfRy9TL0VOVU1JTlBVVDogT0sgKE5vdCBTdXBwb3J0ZWQpCj4gCXRlc3QgVklESU9DX0cvU19B VURJTzogT0sgKE5vdCBTdXBwb3J0ZWQpCj4gCUlucHV0czogMCBBdWRpbyBJbnB1dHM6IDAgVHVu ZXJzOiAwCj4gCj4gT3V0cHV0IGlvY3RsczoKPiAJdGVzdCBWSURJT0NfRy9TX01PRFVMQVRPUjog T0sgKE5vdCBTdXBwb3J0ZWQpCj4gCXRlc3QgVklESU9DX0cvU19GUkVRVUVOQ1k6IE9LIChOb3Qg U3VwcG9ydGVkKQo+IAl0ZXN0IFZJRElPQ19FTlVNQVVET1VUOiBPSyAoTm90IFN1cHBvcnRlZCkK PiAJdGVzdCBWSURJT0NfRy9TL0VOVU1PVVRQVVQ6IE9LIChOb3QgU3VwcG9ydGVkKQo+IAl0ZXN0 IFZJRElPQ19HL1NfQVVET1VUOiBPSyAoTm90IFN1cHBvcnRlZCkKPiAJT3V0cHV0czogMCBBdWRp byBPdXRwdXRzOiAwIE1vZHVsYXRvcnM6IDAKPiAKPiBJbnB1dC9PdXRwdXQgY29uZmlndXJhdGlv biBpb2N0bHM6Cj4gCXRlc3QgVklESU9DX0VOVU0vRy9TL1FVRVJZX1NURDogT0sgKE5vdCBTdXBw b3J0ZWQpCj4gCXRlc3QgVklESU9DX0VOVU0vRy9TL1FVRVJZX0RWX1RJTUlOR1M6IE9LIChOb3Qg U3VwcG9ydGVkKQo+IAl0ZXN0IFZJRElPQ19EVl9USU1JTkdTX0NBUDogT0sgKE5vdCBTdXBwb3J0 ZWQpCj4gCXRlc3QgVklESU9DX0cvU19FRElEOiBPSyAoTm90IFN1cHBvcnRlZCkKPiAKPiBDb250 cm9sIGlvY3RsczoKPiAJdGVzdCBWSURJT0NfUVVFUllfRVhUX0NUUkwvUVVFUllNRU5VOiBPSwo+ IAl0ZXN0IFZJRElPQ19RVUVSWUNUUkw6IE9LCj4gCXRlc3QgVklESU9DX0cvU19DVFJMOiBPSwo+ IAl0ZXN0IFZJRElPQ19HL1MvVFJZX0VYVF9DVFJMUzogT0sKPiAJdGVzdCBWSURJT0NfKFVOKVNV QlNDUklCRV9FVkVOVC9EUUVWRU5UOiBPSwo+IAl0ZXN0IFZJRElPQ19HL1NfSlBFR0NPTVA6IE9L IChOb3QgU3VwcG9ydGVkKQo+IAlTdGFuZGFyZCBDb250cm9sczogMyBQcml2YXRlIENvbnRyb2xz OiAwCj4gCj4gRm9ybWF0IGlvY3RsczoKPiAJdGVzdCBWSURJT0NfRU5VTV9GTVQvRlJBTUVTSVpF Uy9GUkFNRUlOVEVSVkFMUzogT0sKPiAJdGVzdCBWSURJT0NfRy9TX1BBUk06IE9LIChOb3QgU3Vw cG9ydGVkKQo+IAl0ZXN0IFZJRElPQ19HX0ZCVUY6IE9LIChOb3QgU3VwcG9ydGVkKQo+IAl0ZXN0 IFZJRElPQ19HX0ZNVDogT0sKPiAJdGVzdCBWSURJT0NfVFJZX0ZNVDogT0sKPiAJdGVzdCBWSURJ T0NfU19GTVQ6IE9LCj4gCXRlc3QgVklESU9DX0dfU0xJQ0VEX1ZCSV9DQVA6IE9LIChOb3QgU3Vw cG9ydGVkKQo+IAl0ZXN0IENyb3BwaW5nOiBPSyAoTm90IFN1cHBvcnRlZCkKPiAJdGVzdCBDb21w b3Npbmc6IE9LCj4gCXRlc3QgU2NhbGluZzogT0sgKE5vdCBTdXBwb3J0ZWQpCj4gCj4gQ29kZWMg aW9jdGxzOgo+IAl0ZXN0IFZJRElPQ18oVFJZXylFTkNPREVSX0NNRDogT0sgKE5vdCBTdXBwb3J0 ZWQpCj4gCXRlc3QgVklESU9DX0dfRU5DX0lOREVYOiBPSyAoTm90IFN1cHBvcnRlZCkKPiAJdGVz dCBWSURJT0NfKFRSWV8pREVDT0RFUl9DTUQ6IE9LCj4gCj4gQnVmZmVyIGlvY3RsczoKPiAJdGVz dCBWSURJT0NfUkVRQlVGUy9DUkVBVEVfQlVGUy9RVUVSWUJVRjogT0sKPiAJdGVzdCBWSURJT0Nf RVhQQlVGOiBPSwo+IAl0ZXN0IFJlcXVlc3RzOiBPSyAoTm90IFN1cHBvcnRlZCkKPiAKPiBUb3Rh bCBmb3IgYW1waGlvbi12cHUgZGV2aWNlIC9kZXYvdmlkZW8wOiA0NSwgU3VjY2VlZGVkOiA0NSwg RmFpbGVkOiAwLCBXYXJuaW5nczogMAo+IAo+ICMgdjRsMi1jb21wbGlhbmNlIC1kIC9kZXYvdmlk ZW8xCj4gdjRsMi1jb21wbGlhbmNlIDEuMjEuMC00ODM4LCA2NCBiaXRzLCA2NC1iaXQgdGltZV90 Cj4gdjRsMi1jb21wbGlhbmNlIFNIQTogMjI0NjY3OThmOWE5IDIwMjEtMDgtMjUgMTE6MDU6MjEK PiAKPiBDb21wbGlhbmNlIHRlc3QgZm9yIGFtcGhpb24tdnB1IGRldmljZSAvZGV2L3ZpZGVvMToK PiAKPiBEcml2ZXIgSW5mbzoKPiAJRHJpdmVyIG5hbWUgICAgICA6IGFtcGhpb24tdnB1Cj4gCUNh cmQgdHlwZSAgICAgICAgOiBhbXBoaW9uIHZwdSBlbmNvZGVyCj4gCUJ1cyBpbmZvICAgICAgICAg OiBwbGF0Zm9ybTogYW1waGlvbi12cHUKPiAJRHJpdmVyIHZlcnNpb24gICA6IDUuMTQuMAo+IAlD YXBhYmlsaXRpZXMgICAgIDogMHg4NDIwNDAwMAo+IAkJVmlkZW8gTWVtb3J5LXRvLU1lbW9yeSBN dWx0aXBsYW5hcgo+IAkJU3RyZWFtaW5nCj4gCQlFeHRlbmRlZCBQaXggRm9ybWF0Cj4gCQlEZXZp Y2UgQ2FwYWJpbGl0aWVzCj4gCURldmljZSBDYXBzICAgICAgOiAweDA0MjA0MDAwCj4gCQlWaWRl byBNZW1vcnktdG8tTWVtb3J5IE11bHRpcGxhbmFyCj4gCQlTdHJlYW1pbmcKPiAJCUV4dGVuZGVk IFBpeCBGb3JtYXQKPiAJRGV0ZWN0ZWQgU3RhdGVmdWwgRW5jb2Rlcgo+IAo+IFJlcXVpcmVkIGlv Y3RsczoKPiAJdGVzdCBWSURJT0NfUVVFUllDQVA6IE9LCj4gCXRlc3QgaW52YWxpZCBpb2N0bHM6 IE9LCj4gCj4gQWxsb3cgZm9yIG11bHRpcGxlIG9wZW5zOgo+IAl0ZXN0IHNlY29uZCAvZGV2L3Zp ZGVvMSBvcGVuOiBPSwo+IAl0ZXN0IFZJRElPQ19RVUVSWUNBUDogT0sKPiAJdGVzdCBWSURJT0Nf Ry9TX1BSSU9SSVRZOiBPSwo+IAl0ZXN0IGZvciB1bmxpbWl0ZWQgb3BlbnM6IE9LCj4gCj4gRGVi dWcgaW9jdGxzOgo+IAl0ZXN0IFZJRElPQ19EQkdfRy9TX1JFR0lTVEVSOiBPSyAoTm90IFN1cHBv cnRlZCkKPiAJdGVzdCBWSURJT0NfTE9HX1NUQVRVUzogT0sgKE5vdCBTdXBwb3J0ZWQpCj4gCj4g SW5wdXQgaW9jdGxzOgo+IAl0ZXN0IFZJRElPQ19HL1NfVFVORVIvRU5VTV9GUkVRX0JBTkRTOiBP SyAoTm90IFN1cHBvcnRlZCkKPiAJdGVzdCBWSURJT0NfRy9TX0ZSRVFVRU5DWTogT0sgKE5vdCBT dXBwb3J0ZWQpCj4gCXRlc3QgVklESU9DX1NfSFdfRlJFUV9TRUVLOiBPSyAoTm90IFN1cHBvcnRl ZCkKPiAJdGVzdCBWSURJT0NfRU5VTUFVRElPOiBPSyAoTm90IFN1cHBvcnRlZCkKPiAJdGVzdCBW SURJT0NfRy9TL0VOVU1JTlBVVDogT0sgKE5vdCBTdXBwb3J0ZWQpCj4gCXRlc3QgVklESU9DX0cv U19BVURJTzogT0sgKE5vdCBTdXBwb3J0ZWQpCj4gCUlucHV0czogMCBBdWRpbyBJbnB1dHM6IDAg VHVuZXJzOiAwCj4gCj4gT3V0cHV0IGlvY3RsczoKPiAJdGVzdCBWSURJT0NfRy9TX01PRFVMQVRP UjogT0sgKE5vdCBTdXBwb3J0ZWQpCj4gCXRlc3QgVklESU9DX0cvU19GUkVRVUVOQ1k6IE9LIChO b3QgU3VwcG9ydGVkKQo+IAl0ZXN0IFZJRElPQ19FTlVNQVVET1VUOiBPSyAoTm90IFN1cHBvcnRl ZCkKPiAJdGVzdCBWSURJT0NfRy9TL0VOVU1PVVRQVVQ6IE9LIChOb3QgU3VwcG9ydGVkKQo+IAl0 ZXN0IFZJRElPQ19HL1NfQVVET1VUOiBPSyAoTm90IFN1cHBvcnRlZCkKPiAJT3V0cHV0czogMCBB dWRpbyBPdXRwdXRzOiAwIE1vZHVsYXRvcnM6IDAKPiAKPiBJbnB1dC9PdXRwdXQgY29uZmlndXJh dGlvbiBpb2N0bHM6Cj4gCXRlc3QgVklESU9DX0VOVU0vRy9TL1FVRVJZX1NURDogT0sgKE5vdCBT dXBwb3J0ZWQpCj4gCXRlc3QgVklESU9DX0VOVU0vRy9TL1FVRVJZX0RWX1RJTUlOR1M6IE9LIChO b3QgU3VwcG9ydGVkKQo+IAl0ZXN0IFZJRElPQ19EVl9USU1JTkdTX0NBUDogT0sgKE5vdCBTdXBw b3J0ZWQpCj4gCXRlc3QgVklESU9DX0cvU19FRElEOiBPSyAoTm90IFN1cHBvcnRlZCkKPiAKPiBD b250cm9sIGlvY3RsczoKPiAJdGVzdCBWSURJT0NfUVVFUllfRVhUX0NUUkwvUVVFUllNRU5VOiBP Swo+IAl0ZXN0IFZJRElPQ19RVUVSWUNUUkw6IE9LCj4gCXRlc3QgVklESU9DX0cvU19DVFJMOiBP Swo+IAl0ZXN0IFZJRElPQ19HL1MvVFJZX0VYVF9DVFJMUzogT0sKPiAJdGVzdCBWSURJT0NfKFVO KVNVQlNDUklCRV9FVkVOVC9EUUVWRU5UOiBPSwo+IAl0ZXN0IFZJRElPQ19HL1NfSlBFR0NPTVA6 IE9LIChOb3QgU3VwcG9ydGVkKQo+IAlTdGFuZGFyZCBDb250cm9sczogMjAgUHJpdmF0ZSBDb250 cm9sczogMAo+IAo+IEZvcm1hdCBpb2N0bHM6Cj4gCXRlc3QgVklESU9DX0VOVU1fRk1UL0ZSQU1F U0laRVMvRlJBTUVJTlRFUlZBTFM6IE9LCj4gCXRlc3QgVklESU9DX0cvU19QQVJNOiBPSwo+IAl0 ZXN0IFZJRElPQ19HX0ZCVUY6IE9LIChOb3QgU3VwcG9ydGVkKQo+IAl0ZXN0IFZJRElPQ19HX0ZN VDogT0sKPiAJdGVzdCBWSURJT0NfVFJZX0ZNVDogT0sKPiAJdGVzdCBWSURJT0NfU19GTVQ6IE9L Cj4gCXRlc3QgVklESU9DX0dfU0xJQ0VEX1ZCSV9DQVA6IE9LIChOb3QgU3VwcG9ydGVkKQo+IAl0 ZXN0IENyb3BwaW5nOiBPSwo+IAl0ZXN0IENvbXBvc2luZzogT0sgKE5vdCBTdXBwb3J0ZWQpCj4g CXRlc3QgU2NhbGluZzogT0sgKE5vdCBTdXBwb3J0ZWQpCj4gCj4gQ29kZWMgaW9jdGxzOgo+IAl0 ZXN0IFZJRElPQ18oVFJZXylFTkNPREVSX0NNRDogT0sKPiAJdGVzdCBWSURJT0NfR19FTkNfSU5E RVg6IE9LIChOb3QgU3VwcG9ydGVkKQo+IAl0ZXN0IFZJRElPQ18oVFJZXylERUNPREVSX0NNRDog T0sgKE5vdCBTdXBwb3J0ZWQpCj4gCj4gQnVmZmVyIGlvY3RsczoKPiAJdGVzdCBWSURJT0NfUkVR QlVGUy9DUkVBVEVfQlVGUy9RVUVSWUJVRjogT0sKPiAJdGVzdCBWSURJT0NfRVhQQlVGOiBPSwo+ IAl0ZXN0IFJlcXVlc3RzOiBPSyAoTm90IFN1cHBvcnRlZCkKPiAKPiBUb3RhbCBmb3IgYW1waGlv bi12cHUgZGV2aWNlIC9kZXYvdmlkZW8xOiA0NSwgU3VjY2VlZGVkOiA0NSwgRmFpbGVkOiAwLCBX YXJuaW5nczogMAo+IAo+IE1pbmcgUWlhbiAoMTMpOgo+ICAgZHQtYmluZGluZ3M6IG1lZGlhOiBh bXBoaW9uOiBhZGQgYW1waGlvbiB2aWRlbyBjb2RlYyBiaW5kaW5ncwo+ICAgbWVkaWE6QWRkIG50 OCBhbmQgbnQxMCB2aWRlbyBmb3JtYXQuCj4gICBtZWRpYTogYW1waGlvbjogYWRkIGFtcGhpb24g dnB1IGRldmljZSBkcml2ZXIKPiAgIG1lZGlhOiBhbXBoaW9uOiBhZGQgdnB1IGNvcmUgZHJpdmVy Cj4gICBtZWRpYTogYW1waGlvbjogaW1wbGVtZW50IHZwdSBjb3JlIGNvbW11bmljYXRpb24gYmFz ZWQgb24gbWFpbGJveAo+ICAgbWVkaWE6IGFtcGhpb246IGFkZCB2cHUgdjRsMiBtMm0gc3VwcG9y dAo+ICAgbWVkaWE6IGFtcGhpb246IGFkZCB2NGwyIG0ybSB2cHUgZW5jb2RlciBzdGF0ZWZ1bCBk cml2ZXIKPiAgIG1lZGlhOiBhbXBoaW9uOiBhZGQgdjRsMiBtMm0gdnB1IGRlY29kZXIgc3RhdGVm dWwgZHJpdmVyCj4gICBtZWRpYTogYW1waGlvbjogaW1wbGVtZW50IHdpbmRzb3IgZW5jb2RlciBy cGMgaW50ZXJmYWNlCj4gICBtZWRpYTogYW1waGlvbjogaW1wbGVtZW50IG1hbG9uZSBkZWNvZGVy IHJwYyBpbnRlcmZhY2UKPiAgIEFSTTY0OiBkdHM6IGZyZWVzY2FsZTogaW14OHE6IGFkZCBpbXgg dnB1IGNvZGVjIGVudHJpZXMKPiAgIGZpcm13YXJlOiBpbXg6IHNjdS1wZDogaW14OHE6IGFkZCB2 cHUgbXUgcmVzb3VyY2VzCj4gICBNQUlOVEFJTkVSUzogYWRkIEFNUEhJT04gVlBVIENPREVDIFY0 TDIgZHJpdmVyIGVudHJ5Cj4gCj4gIC4uLi9iaW5kaW5ncy9tZWRpYS9hbXBoaW9uLHZwdS55YW1s ICAgICAgICAgICB8ICAxNzggKysKPiAgLi4uL21lZGlhL3Y0bC9waXhmbXQteXV2LXBsYW5hci5y c3QgICAgICAgICAgIHwgICAxNSArCj4gIE1BSU5UQUlORVJTICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB8ICAgIDkgKwo+ICAuLi4vYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2lt eDgtc3MtdnB1LmR0c2kgfCAgIDcyICsKPiAgYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUv aW14OHF4cC1tZWsuZHRzIHwgICAxNyArCj4gIGFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxl L2lteDhxeHAuZHRzaSAgICB8ICAgMjQgKwo+ICBkcml2ZXJzL2Zpcm13YXJlL2lteC9zY3UtcGQu YyAgICAgICAgICAgICAgICAgfCAgICA0ICsKPiAgZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9LY29u ZmlnICAgICAgICAgICAgICAgIHwgICAxOSArCj4gIGRyaXZlcnMvbWVkaWEvcGxhdGZvcm0vTWFr ZWZpbGUgICAgICAgICAgICAgICB8ICAgIDIgKwo+ICBkcml2ZXJzL21lZGlhL3BsYXRmb3JtL2Ft cGhpb24vTWFrZWZpbGUgICAgICAgfCAgIDIzICsKPiAgZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9h bXBoaW9uL3ZkZWMuYyAgICAgICAgIHwgMTY1MiArKysrKysrKysrKysrKysrCj4gIGRyaXZlcnMv bWVkaWEvcGxhdGZvcm0vYW1waGlvbi92ZW5jLmMgICAgICAgICB8IDEzODIgKysrKysrKysrKysr KysKPiAgZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9hbXBoaW9uL3ZwdS5oICAgICAgICAgIHwgIDMz MyArKysrCj4gIGRyaXZlcnMvbWVkaWEvcGxhdGZvcm0vYW1waGlvbi92cHVfY21kcy5jICAgICB8 ICA0MzUgKysrKysKPiAgZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9hbXBoaW9uL3ZwdV9jbWRzLmgg ICAgIHwgICAyNSArCj4gIGRyaXZlcnMvbWVkaWEvcGxhdGZvcm0vYW1waGlvbi92cHVfY29kZWMu aCAgICB8ICAgNjggKwo+ICBkcml2ZXJzL21lZGlhL3BsYXRmb3JtL2FtcGhpb24vdnB1X2NvbG9y LmMgICAgfCAgMTkyICsrCj4gIGRyaXZlcnMvbWVkaWEvcGxhdGZvcm0vYW1waGlvbi92cHVfY29y ZS5jICAgICB8ICA5MDEgKysrKysrKysrCj4gIGRyaXZlcnMvbWVkaWEvcGxhdGZvcm0vYW1waGlv bi92cHVfY29yZS5oICAgICB8ICAgMTYgKwo+ICBkcml2ZXJzL21lZGlhL3BsYXRmb3JtL2FtcGhp b24vdnB1X2RiZy5jICAgICAgfCAgNDk2ICsrKysrCj4gIGRyaXZlcnMvbWVkaWEvcGxhdGZvcm0v YW1waGlvbi92cHVfZGVmcy5oICAgICB8ICAxODYgKysKPiAgLi4uL21lZGlhL3BsYXRmb3JtL2Ft cGhpb24vdnB1X2Rldl9pbXg4cS5jICAgIHwgICA3MiArCj4gIGRyaXZlcnMvbWVkaWEvcGxhdGZv cm0vYW1waGlvbi92cHVfZHJ2LmMgICAgICB8ICAyMTUgKysrCj4gIGRyaXZlcnMvbWVkaWEvcGxh dGZvcm0vYW1waGlvbi92cHVfaGVscGVycy5jICB8ICA0NTMgKysrKysKPiAgZHJpdmVycy9tZWRp YS9wbGF0Zm9ybS9hbXBoaW9uL3ZwdV9oZWxwZXJzLmggIHwgICA3MiArCj4gIGRyaXZlcnMvbWVk aWEvcGxhdGZvcm0vYW1waGlvbi92cHVfaW14OHEuYyAgICB8ICAyMTggKysrCj4gIGRyaXZlcnMv bWVkaWEvcGxhdGZvcm0vYW1waGlvbi92cHVfaW14OHEuaCAgICB8ICAxMTYgKysKPiAgZHJpdmVy cy9tZWRpYS9wbGF0Zm9ybS9hbXBoaW9uL3ZwdV9sb2cuaCAgICAgIHwgICA0NCArCj4gIGRyaXZl cnMvbWVkaWEvcGxhdGZvcm0vYW1waGlvbi92cHVfbWFsb25lLmMgICB8IDE2ODMgKysrKysrKysr KysrKysrKysKPiAgZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9hbXBoaW9uL3ZwdV9tYWxvbmUuaCAg IHwgICA0MiArCj4gIGRyaXZlcnMvbWVkaWEvcGxhdGZvcm0vYW1waGlvbi92cHVfbWJveC5jICAg ICB8ICAxMjYgKysKPiAgZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9hbXBoaW9uL3ZwdV9tYm94Lmgg ICAgIHwgICAxNiArCj4gIGRyaXZlcnMvbWVkaWEvcGxhdGZvcm0vYW1waGlvbi92cHVfbXNncy5j ICAgICB8ICA0MTMgKysrKwo+ICBkcml2ZXJzL21lZGlhL3BsYXRmb3JtL2FtcGhpb24vdnB1X21z Z3MuaCAgICAgfCAgIDE0ICsKPiAgZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9hbXBoaW9uL3ZwdV9y cGMuYyAgICAgIHwgIDI2MyArKysKPiAgZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9hbXBoaW9uL3Zw dV9ycGMuaCAgICAgIHwgIDQ2MyArKysrKwo+ICBkcml2ZXJzL21lZGlhL3BsYXRmb3JtL2FtcGhp b24vdnB1X3Y0bDIuYyAgICAgfCAgNjI1ICsrKysrKwo+ICBkcml2ZXJzL21lZGlhL3BsYXRmb3Jt L2FtcGhpb24vdnB1X3Y0bDIuaCAgICAgfCAgIDUzICsKPiAgZHJpdmVycy9tZWRpYS9wbGF0Zm9y bS9hbXBoaW9uL3ZwdV93aW5kc29yLmMgIHwgMTI0NCArKysrKysrKysrKysKPiAgZHJpdmVycy9t ZWRpYS9wbGF0Zm9ybS9hbXBoaW9uL3ZwdV93aW5kc29yLmggIHwgICAzOSArCj4gIGRyaXZlcnMv bWVkaWEvdjRsMi1jb3JlL3Y0bDItaW9jdGwuYyAgICAgICAgICB8ICAgIDIgKwo+ICBpbmNsdWRl L3VhcGkvbGludXgvdmlkZW9kZXYyLmggICAgICAgICAgICAgICAgfCAgICA0ICsKPiAgNDIgZmls ZXMgY2hhbmdlZCwgMTIyMjYgaW5zZXJ0aW9ucygrKQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgRG9j dW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL21lZGlhL2FtcGhpb24sdnB1LnlhbWwKPiAg Y3JlYXRlIG1vZGUgMTAwNjQ0IGFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2lteDgtc3Mt dnB1LmR0c2kKPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvbWVkaWEvcGxhdGZvcm0vYW1w aGlvbi9NYWtlZmlsZQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9tZWRpYS9wbGF0Zm9y bS9hbXBoaW9uL3ZkZWMuYwo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9tZWRpYS9wbGF0 Zm9ybS9hbXBoaW9uL3ZlbmMuYwo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9tZWRpYS9w bGF0Zm9ybS9hbXBoaW9uL3ZwdS5oCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL21lZGlh L3BsYXRmb3JtL2FtcGhpb24vdnB1X2NtZHMuYwo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVy cy9tZWRpYS9wbGF0Zm9ybS9hbXBoaW9uL3ZwdV9jbWRzLmgKPiAgY3JlYXRlIG1vZGUgMTAwNjQ0 IGRyaXZlcnMvbWVkaWEvcGxhdGZvcm0vYW1waGlvbi92cHVfY29kZWMuaAo+ICBjcmVhdGUgbW9k ZSAxMDA2NDQgZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9hbXBoaW9uL3ZwdV9jb2xvci5jCj4gIGNy ZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL21lZGlhL3BsYXRmb3JtL2FtcGhpb24vdnB1X2NvcmUu Ywo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9hbXBoaW9uL3Zw dV9jb3JlLmgKPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvbWVkaWEvcGxhdGZvcm0vYW1w aGlvbi92cHVfZGJnLmMKPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvbWVkaWEvcGxhdGZv cm0vYW1waGlvbi92cHVfZGVmcy5oCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL21lZGlh L3BsYXRmb3JtL2FtcGhpb24vdnB1X2Rldl9pbXg4cS5jCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBk cml2ZXJzL21lZGlhL3BsYXRmb3JtL2FtcGhpb24vdnB1X2Rydi5jCj4gIGNyZWF0ZSBtb2RlIDEw MDY0NCBkcml2ZXJzL21lZGlhL3BsYXRmb3JtL2FtcGhpb24vdnB1X2hlbHBlcnMuYwo+ICBjcmVh dGUgbW9kZSAxMDA2NDQgZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9hbXBoaW9uL3ZwdV9oZWxwZXJz LmgKPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvbWVkaWEvcGxhdGZvcm0vYW1waGlvbi92 cHVfaW14OHEuYwo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9h bXBoaW9uL3ZwdV9pbXg4cS5oCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL21lZGlhL3Bs YXRmb3JtL2FtcGhpb24vdnB1X2xvZy5oCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL21l ZGlhL3BsYXRmb3JtL2FtcGhpb24vdnB1X21hbG9uZS5jCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBk cml2ZXJzL21lZGlhL3BsYXRmb3JtL2FtcGhpb24vdnB1X21hbG9uZS5oCj4gIGNyZWF0ZSBtb2Rl IDEwMDY0NCBkcml2ZXJzL21lZGlhL3BsYXRmb3JtL2FtcGhpb24vdnB1X21ib3guYwo+ICBjcmVh dGUgbW9kZSAxMDA2NDQgZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9hbXBoaW9uL3ZwdV9tYm94LmgK PiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvbWVkaWEvcGxhdGZvcm0vYW1waGlvbi92cHVf bXNncy5jCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL21lZGlhL3BsYXRmb3JtL2FtcGhp b24vdnB1X21zZ3MuaAo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9tZWRpYS9wbGF0Zm9y bS9hbXBoaW9uL3ZwdV9ycGMuYwo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9tZWRpYS9w bGF0Zm9ybS9hbXBoaW9uL3ZwdV9ycGMuaAo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9t ZWRpYS9wbGF0Zm9ybS9hbXBoaW9uL3ZwdV92NGwyLmMKPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRy aXZlcnMvbWVkaWEvcGxhdGZvcm0vYW1waGlvbi92cHVfdjRsMi5oCj4gIGNyZWF0ZSBtb2RlIDEw MDY0NCBkcml2ZXJzL21lZGlhL3BsYXRmb3JtL2FtcGhpb24vdnB1X3dpbmRzb3IuYwo+ICBjcmVh dGUgbW9kZSAxMDA2NDQgZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9hbXBoaW9uL3ZwdV93aW5kc29y LmgKPiAKPiAKPiBiYXNlLWNvbW1pdDogOWMzYTBmMjg1MjQ4ODk5ZGZhODE1ODViYzVkNWJjOWVi ZGI4ZmVhZAoKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmlu ZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9s aW51eC1hcm0ta2VybmVsCg==