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=-15.5 required=3.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED,DKIM_INVALID,DKIM_SIGNED,FREEMAIL_FORGED_FROMDOMAIN, FREEMAIL_FROM,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, INCLUDES_PULL_REQUEST,MAILING_LIST_MULTI,MENTIONS_GIT_HOSTING,SPF_HELO_NONE, SPF_PASS,URIBL_BLOCKED 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 052E8C4708F for ; Wed, 2 Jun 2021 04:17:45 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id B84AA6100B for ; Wed, 2 Jun 2021 04:17:44 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org B84AA6100B Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 4589E6E029; Wed, 2 Jun 2021 04:17:41 +0000 (UTC) Received: from mail-ed1-x534.google.com (mail-ed1-x534.google.com [IPv6:2a00:1450:4864:20::534]) by gabe.freedesktop.org (Postfix) with ESMTPS id 70DD66E029; Wed, 2 Jun 2021 04:17:40 +0000 (UTC) Received: by mail-ed1-x534.google.com with SMTP id dg27so1201526edb.12; Tue, 01 Jun 2021 21:17:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=n6du5oeWZ5d7CgK19Vmrn0p0dvu3xk+iBuUEqH4Lpag=; b=uLEt7G1zI9ks3Tf9sF7EsL1dWEpKbY1bxWWNA7gyh5gqZk5t+t0tWHHFdvxBuR1PKl JsiiaHqPDO4sLu8fO8HXoGVh20bj1W2tiANtXeXVd4UeTuEmJp4ZQgeqUMvedRDf37IV S/KINMoZVBRw3pm2XAqAotxQzx/ONnyKQSkefZbZhwwNHCf9NQZRWG7wTmJDnTmb5X4L ncxZbv1jABJZ/Xn0tSCY1UP5FiNC8u5k3/BlI4PwJALkhGk9QWi8bExCZY9ygV8QL0hA ZmpaVWXDhm31Ha6e16QhNCS4F89DTqUV1gN8Ygee82KN1yQY4c9dmGLOE02thvq9gele RYGA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=n6du5oeWZ5d7CgK19Vmrn0p0dvu3xk+iBuUEqH4Lpag=; b=snmXeeLmT9yid34ZD7YKWrEdv8IpbtRpfvsCG18ZYDW4sTAvkpGgVzEpyEfLlSNkBf Av0hl4F3ioowysjeaudDXfLHX/zdq97MMb/L66SNYDO7AEWWHWEQ+WO4ysyH31EcM/f8 97iLiCoE2w62lqQFnjgyucHM0/5fknu+Qg5vCcVafarBl2NcuBidAYSiqvM1z/N/oPdM yrPt+Ji1PLbeOrJ8na9ZpVXkkxkn0MqRlv2T6nDlGs6bY/tJkINzOnmV/9t0UbwoRNtj luoge7PpbFuIhm9mAPO94I872SM9IdBgE0MeN6qP70ffygjuDAl6nNWaHbvn3DbEGc9f nX7A== X-Gm-Message-State: AOAM531Cx8J268Q02NdG25AOiEQfeS9jju0ApPoF6Af7w5kpqsaGWjLc R6NLm0EFfiROORu5SFdZ4mds+pc4QK1VZDPkzto= X-Google-Smtp-Source: ABdhPJyEKBOrR5iSqPcuEHnhg2LYLTNYJR06qJAt4PyHJj1UE94WxqfX+HcehSBS8ewJqcKur3CN+ziKK77p8IDqLjw= X-Received: by 2002:a05:6402:2049:: with SMTP id bc9mr16520470edb.298.1622607459012; Tue, 01 Jun 2021 21:17:39 -0700 (PDT) MIME-Version: 1.0 References: <162218682866.9100.50543809230103499@jlahtine-mobl.ger.corp.intel.com> In-Reply-To: From: Dave Airlie Date: Wed, 2 Jun 2021 14:17:27 +1000 Message-ID: Subject: Re: [PULL] drm-intel-gt-next To: Joonas Lahtinen Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable 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: "DRM maintainer tools announcements, discussion, and development" , Daniel Vetter , dri-devel , Rodrigo Vivi , Sean Paul , Intel Graphics Development Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" On Wed, 2 Jun 2021 at 10:28, Dave Airlie wrote: > > This has these two patches applied, and it doesn't build. > > drm/i915: drop the __i915_active_call pointer packing > drm/i915: Fix crash in auto_retire > > The latter patch shouldn't be necessary after the former, please fix > that up and resend and please build test trees before I get them in > future. Oh maybe this is an unresolved conflict, not sure why drm-tip doesn't catch this though, or is this next tree not in next? That would explain it then. I've pulled it with an fix in the merge commit. Dave. > > Dave. > > > On Fri, 28 May 2021 at 17:27, Joonas Lahtinen > wrote: > > > > Quoting Joonas Lahtinen (2021-05-28 10:25:57) > > > Hi Dave & Daniel, > > > > > > Here's drm-intel-gt-next pull request. > > > > > > Most notably it has the reworked DG1 uAPI (behind CONFIG_BROKEN) > > > as requested. Important fix for Gitlab issues #3293 and #3450 and > > > one another kernel crash. Adds missing workarounds for Gen11 and > > > Gen12. Hiding of modparams for compiled-out features. Conversion > > > to use trylock shrinking for BSW VT-d and BXT. > > > > > > Then there are the uAPI kerneldoc improvements as part of the DG1 > > > uAPI rework. Usual amount smaller fixes, code refactoring and > > > cleanups as prep for upcoming patches. > > > > And includes tag 'topic/intel-gen-to-ver-2021-04-19' (but that is > > already merged to drm-next). > > > > Regards, Joonas > > > > > Regards, Joonas > > > > > > *** > > > > > > drm-intel-gt-next-2021-05-28: > > > > > > UAPI Changes: > > > - Add reworked uAPI for DG1 behind CONFIG_BROKEN (Matt A, Abdiel) > > > > > > Driver Changes: > > > > > > - Fix for Gitlab issues #3293 and #3450: > > > Avoid kernel crash on older L-shape memory machines > > > > > > - Hide modparams for compiled-out features (Tvrtko) > > > - Add Wa_14010733141 (VDBox SFC reset) for Gen11+ (Aditya) > > > - Fix crash in auto_retire active retire callback due to > > > misalignment (Stephane) > > > - Use trylock in shrinker for GGTT on BSW VT-d and BXT (Maarten) > > > - Fix overlay active retire callback alignment (Tvrtko) > > > - Eliminate need to align active retire callbacks (Matt A, Ville, > > > Daniel) > > > - Program FF_MODE2 tuning value for all Gen12 platforms (Caz) > > > - Add Wa_14011060649 for TGL,RKL,DG1 and ADLS (Swathi) > > > - Create stolen memory region from local memory on DG1 (CQ) > > > - Place PD in LMEM on dGFX (Matt A) > > > - Use WC when default state object is allocated in LMEM (Venkata) > > > - Determine the coherent map type based on object location (Venkata) > > > - Use lmem physical addresses for fb_mmap() on discrete (Mohammed) > > > - Bypass aperture on fbdev when LMEM is available (Anusha) > > > - Return error value when displayable BO not in LMEM for dGFX (Mohamm= ed) > > > - Do release kernel context if breadcrumb measure fails (Janusz) > > > - Apply Wa_22010271021 for all Gen11 platforms (Caz) > > > - Fix unlikely ref count race in arming the watchdog timer (Tvrtko) > > > - Check actual RC6 enable status in PMU (Tvrtko) > > > - Fix a double free in gen8_preallocate_top_level_pdp (Lv) > > > - Remove erroneous i915_is_ggtt check for > > > I915_GEM_OBJECT_UNBIND_VM_TRYLOCK (Maarten) > > > > > > - Convert uAPI headers to real kerneldoc (Matt A) > > > - Clean up kerneldoc warnings headers (Matt A, Maarten) > > > - Fail driver if LMEM training failed (Matt R) > > > - Avoid div-by-zero on Gen2 (Ville) > > > - Read C0DRB3/C1DRB3 as 16 bits again and add _BW suffix (Ville) > > > - Remove reference to struct drm_device.pdev (Thomas) > > > - Increase separation between GuC and execlists code (Chris, Matt B) > > > > > > - Use might_alloc() (Bernard) > > > - Split DGFX_FEATURES from GEN12_FEATURES (Lucas) > > > - Deduplicate Wa_22010271021 programming on (Jose) > > > - Drop duplicate WaDisable4x2SubspanOptimization:hsw (Tvrtko) > > > - Selftest improvements (Chris, Hsin-Yi, Tvrtko) > > > - Shuffle around init_memory_region for stolen (Matt) > > > - Typo fixes (wengjianfeng) > > > > > > The following changes since commit 425390c5dce6da76578389629d19517fcd= 79c959: > > > > > > drm/i915: split dgfx features from gen 12 (2021-04-14 13:05:06 +030= 0) > > > > > > are available in the Git repository at: > > > > > > git://anongit.freedesktop.org/drm/drm-intel tags/drm-intel-gt-next-= 2021-05-28 > > > > > > for you to fetch changes up to 5b26d57fdb499c2363f3d895ef008e73ec02eb= 9b: > > > > > > drm/i915: Add Wa_14010733141 (2021-05-27 11:05:09 -0700) > > > > > > ---------------------------------------------------------------- > > > UAPI Changes: > > > - Add reworked uAPI for DG1 behind CONFIG_BROKEN (Matt A, Abdiel) > > > > > > Driver Changes: > > > > > > - Fix for Gitlab issues #3293 and #3450: > > > Avoid kernel crash on older L-shape memory machines > > > > > > - Add Wa_14010733141 (VDBox SFC reset) for Gen11+ (Aditya) > > > - Fix crash in auto_retire active retire callback due to > > > misalignment (Stephane) > > > - Fix overlay active retire callback alignment (Tvrtko) > > > - Eliminate need to align active retire callbacks (Matt A, Ville, > > > Daniel) > > > - Program FF_MODE2 tuning value for all Gen12 platforms (Caz) > > > - Add Wa_14011060649 for TGL,RKL,DG1 and ADLS (Swathi) > > > - Create stolen memory region from local memory on DG1 (CQ) > > > - Place PD in LMEM on dGFX (Matt A) > > > - Use WC when default state object is allocated in LMEM (Venkata) > > > - Determine the coherent map type based on object location (Venkata) > > > - Use lmem physical addresses for fb_mmap() on discrete (Mohammed) > > > - Bypass aperture on fbdev when LMEM is available (Anusha) > > > - Return error value when displayable BO not in LMEM for dGFX (Mohamm= ed) > > > - Do release kernel context if breadcrumb measure fails (Janusz) > > > - Hide modparams for compiled-out features (Tvrtko) > > > - Apply Wa_22010271021 for all Gen11 platforms (Caz) > > > - Fix unlikely ref count race in arming the watchdog timer (Tvrtko) > > > - Check actual RC6 enable status in PMU (Tvrtko) > > > - Fix a double free in gen8_preallocate_top_level_pdp (Lv) > > > - Use trylock in shrinker for GGTT on BSW VT-d and BXT (Maarten) > > > - Remove erroneous i915_is_ggtt check for > > > I915_GEM_OBJECT_UNBIND_VM_TRYLOCK (Maarten) > > > > > > - Convert uAPI headers to real kerneldoc (Matt A) > > > - Clean up kerneldoc warnings headers (Matt A, Maarten) > > > - Fail driver if LMEM training failed (Matt R) > > > - Avoid div-by-zero on Gen2 (Ville) > > > - Read C0DRB3/C1DRB3 as 16 bits again and add _BW suffix (Ville) > > > - Remove reference to struct drm_device.pdev (Thomas) > > > - Increase separation between GuC and execlists code (Chris, Matt B) > > > > > > - Use might_alloc() (Bernard) > > > - Split DGFX_FEATURES from GEN12_FEATURES (Lucas) > > > - Deduplicate Wa_22010271021 programming on (Jose) > > > - Drop duplicate WaDisable4x2SubspanOptimization:hsw (Tvrtko) > > > - Selftest improvements (Chris, Hsin-Yi, Tvrtko) > > > - Shuffle around init_memory_region for stolen (Matt) > > > - Typo fixes (wengjianfeng) > > > > > > ---------------------------------------------------------------- > > > Abdiel Janulgue (1): > > > drm/i915/query: Expose memory regions through the query uAPI > > > > > > Aditya Swarup (1): > > > drm/i915: Add Wa_14010733141 > > > > > > Anusha Srivatsa (1): > > > drm/i915/lmem: Bypass aperture when lmem is available > > > > > > Bernard Zhao (1): > > > drm/i915: Use might_alloc() > > > > > > CQ Tang (2): > > > drm/i915: Create stolen memory region from local memory > > > drm/i915/stolen: enforce the min_page_size contract > > > > > > Caz Yokoyama (2): > > > drm/i915/gen12: Add recommended hardware tuning value > > > drm/i915/icl: add Wa_22010271021 for all gen11 > > > > > > Chris Wilson (6): > > > drm/i915/selftests: Skip aperture remapping selftest where ther= e is no aperture > > > drm/i915/selftests: Only query RAPL for integrated power measur= ements > > > drm/i915/gem: Pin the L-shape quirked object as unshrinkable > > > drm/i915/gt: Move engine setup out of set_default_submission > > > drm/i915/gt: Move submission_method into intel_gt > > > drm/i915/gt: Move CS interrupt handler to the backend > > > > > > Hsin-Yi Wang (1): > > > drm/i915/selftests: Rename pm_ prefixed functions names > > > > > > Janusz Krzysztofik (1): > > > drm/i915/gt: Do release kernel context if breadcrumb measure fa= ils > > > > > > Joonas Lahtinen (1): > > > Merge tag 'topic/intel-gen-to-ver-2021-04-19' of git://anongit.= freedesktop.org/drm/drm-intel into drm-intel-gt-next > > > > > > Jos=C3=A9 Roberto de Souza (1): > > > drm/i915: Move Wa_16011163337 to gen12_ctx_workarounds_init() > > > > > > Lv Yunlong (1): > > > drm/i915/gt: Fix a double free in gen8_preallocate_top_level_pd= p > > > > > > Maarten Lankhorst (4): > > > drm/i915: Fix docbook descriptions for i915_gem_shrinker > > > drm/i915: Fix docbook descriptions for i915_cmd_parser > > > drm/i915: Use trylock in shrinker for ggtt on bsw vt-d and bxt,= v2. > > > drm/i915: Remove erroneous i915_is_ggtt check for I915_GEM_OBJE= CT_UNBIND_VM_TRYLOCK > > > > > > Matt Roper (1): > > > drm/i915/lmem: Fail driver init if LMEM training failed > > > > > > Matthew Auld (19): > > > drm/i915/uapi: fix kernel doc warnings > > > drm/i915/uapi: convert i915_user_extension to kernel doc > > > drm/i915/uapi: convert i915_query and friend to kernel doc > > > drm/doc: add section for driver uAPI > > > drm/i915/stolen: treat stolen local as normal local memory > > > drm/i915/stolen: actually mark as contiguous > > > drm/i915/gtt: map the PD up front > > > drm/i915/gtt/dgfx: place the PD in LMEM > > > drm/doc/rfc: i915 DG1 uAPI > > > drm/i915: mark stolen as private > > > drm/i915: rework gem_create flow for upcoming extensions > > > drm/i915/uapi: introduce drm_i915_gem_create_ext > > > drm/i915/uapi: implement object placement extension > > > drm/i915/lmem: support optional CPU clearing for special intern= al use > > > drm/i915/gem: clear userspace buffers for LMEM > > > drm/i915/gem: hide new uAPI behind CONFIG_BROKEN > > > drm/i915: drop the __i915_active_call pointer packing > > > drm/i915/stolen: shuffle around init_memory_region > > > drm/doc/rfc: drop the i915_gem_lmem.h header > > > > > > Mohammed Khajapasha (2): > > > drm/i915/fbdev: Use lmem physical addresses for fb_mmap() on di= screte > > > drm/i915: Return error value when bo not in LMEM for discrete > > > > > > St=C3=A9phane Marchesin (1): > > > drm/i915: Fix crash in auto_retire > > > > > > Swathi Dhanavanthri (1): > > > drm/i915: Add Wa_14011060649 > > > > > > Thomas Zimmermann (1): > > > drm/i915/gem: Remove reference to struct drm_device.pdev > > > > > > Tvrtko Ursulin (6): > > > drm/i915: Take request reference before arming the watchdog tim= er > > > drm/i915/pmu: Check actual RC6 status > > > drm/i915/overlay: Fix active retire callback alignment > > > drm/i915/selftests: Fix active retire callback alignment > > > drm/i915: Drop duplicate WaDisable4x2SubspanOptimization:hsw > > > drm/i915/params: Align visibility of device level and global mo= dparams > > > > > > Venkata Ramana Nayana (1): > > > drm/i915/dg1: Fix mapping type for default state object > > > > > > Venkata Sandeep Dhanalakota (1): > > > drm/i915: Update the helper to set correct mapping > > > > > > Ville Syrj=C3=A4l=C3=A4 (3): > > > drm/i915: Avoid div-by-zero on gen2 > > > drm/i915: Read C0DRB3/C1DRB3 as 16 bits again > > > drm/i915: Give C0DRB3/C1DRB3 a _BW suffix > > > > > > wengjianfeng (1): > > > drm/i915/gt: fix typo issue > > > > > > Documentation/gpu/driver-uapi.rst | 8 + > > > Documentation/gpu/index.rst | 1 + > > > Documentation/gpu/rfc/i915_gem_lmem.rst | 131 +++++++ > > > Documentation/gpu/rfc/index.rst | 4 + > > > drivers/gpu/drm/i915/display/intel_display.c | 10 + > > > drivers/gpu/drm/i915/display/intel_fbdev.c | 51 ++- > > > drivers/gpu/drm/i915/display/intel_frontbuffer.c | 4 +- > > > drivers/gpu/drm/i915/display/intel_overlay.c | 5 +- > > > drivers/gpu/drm/i915/gem/i915_gem_context.c | 3 +- > > > drivers/gpu/drm/i915/gem/i915_gem_create.c | 345 +++++++++++= +++++-- > > > drivers/gpu/drm/i915/gem/i915_gem_ioctls.h | 2 + > > > drivers/gpu/drm/i915/gem/i915_gem_lmem.c | 20 +- > > > drivers/gpu/drm/i915/gem/i915_gem_lmem.h | 5 + > > > drivers/gpu/drm/i915/gem/i915_gem_mman.c | 2 +- > > > drivers/gpu/drm/i915/gem/i915_gem_object.c | 3 + > > > drivers/gpu/drm/i915/gem/i915_gem_object_types.h | 14 +- > > > drivers/gpu/drm/i915/gem/i915_gem_pages.c | 2 + > > > drivers/gpu/drm/i915/gem/i915_gem_region.c | 22 ++ > > > drivers/gpu/drm/i915/gem/i915_gem_shrinker.c | 14 +- > > > drivers/gpu/drm/i915/gem/i915_gem_stolen.c | 159 +++++++-- > > > drivers/gpu/drm/i915/gem/i915_gem_stolen.h | 3 +- > > > .../gpu/drm/i915/gem/selftests/i915_gem_context.c | 11 +- > > > drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c | 26 ++ > > > drivers/gpu/drm/i915/gt/gen6_ppgtt.c | 13 +- > > > drivers/gpu/drm/i915/gt/gen8_ppgtt.c | 32 +- > > > drivers/gpu/drm/i915/gt/intel_context.c | 3 +- > > > drivers/gpu/drm/i915/gt/intel_engine.h | 8 +- > > > drivers/gpu/drm/i915/gt/intel_engine_cs.c | 21 +- > > > drivers/gpu/drm/i915/gt/intel_engine_pm.c | 2 +- > > > drivers/gpu/drm/i915/gt/intel_engine_types.h | 14 +- > > > .../gpu/drm/i915/gt/intel_execlists_submission.c | 95 +++-- > > > .../gpu/drm/i915/gt/intel_execlists_submission.h | 3 - > > > drivers/gpu/drm/i915/gt/intel_ggtt.c | 10 +- > > > drivers/gpu/drm/i915/gt/intel_ggtt_fencing.c | 6 +- > > > drivers/gpu/drm/i915/gt/intel_gt_buffer_pool.c | 3 +- > > > drivers/gpu/drm/i915/gt/intel_gt_irq.c | 82 ++--- > > > drivers/gpu/drm/i915/gt/intel_gt_irq.h | 23 ++ > > > drivers/gpu/drm/i915/gt/intel_gt_types.h | 7 + > > > drivers/gpu/drm/i915/gt/intel_gtt.c | 91 +++-- > > > drivers/gpu/drm/i915/gt/intel_gtt.h | 12 +- > > > drivers/gpu/drm/i915/gt/intel_lrc.c | 4 +- > > > drivers/gpu/drm/i915/gt/intel_ppgtt.c | 7 +- > > > drivers/gpu/drm/i915/gt/intel_reset.c | 201 +++++++---- > > > drivers/gpu/drm/i915/gt/intel_ring.c | 11 +- > > > drivers/gpu/drm/i915/gt/intel_ring_submission.c | 12 +- > > > drivers/gpu/drm/i915/gt/intel_rps.c | 2 +- > > > drivers/gpu/drm/i915/gt/intel_timeline.c | 4 +- > > > drivers/gpu/drm/i915/gt/intel_workarounds.c | 100 ++++-- > > > drivers/gpu/drm/i915/gt/mock_engine.c | 2 +- > > > drivers/gpu/drm/i915/gt/selftest_context.c | 3 +- > > > .../gpu/drm/i915/gt/selftest_engine_heartbeat.c | 2 +- > > > drivers/gpu/drm/i915/gt/selftest_execlists.c | 2 +- > > > drivers/gpu/drm/i915/gt/selftest_hangcheck.c | 4 +- > > > drivers/gpu/drm/i915/gt/selftest_lrc.c | 4 +- > > > drivers/gpu/drm/i915/gt/selftest_rc6.c | 32 +- > > > drivers/gpu/drm/i915/gt/selftest_ring_submission.c | 2 +- > > > drivers/gpu/drm/i915/gt/selftest_rps.c | 6 +- > > > drivers/gpu/drm/i915/gt/shmem_utils.c | 4 +- > > > drivers/gpu/drm/i915/gt/uc/intel_guc.c | 4 +- > > > drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c | 64 ++-- > > > drivers/gpu/drm/i915/gt/uc/intel_guc_submission.h | 1 - > > > drivers/gpu/drm/i915/gt/uc/intel_huc.c | 4 +- > > > drivers/gpu/drm/i915/i915_active.c | 11 +- > > > drivers/gpu/drm/i915/i915_active.h | 11 +- > > > drivers/gpu/drm/i915/i915_active_types.h | 5 - > > > drivers/gpu/drm/i915/i915_cmd_parser.c | 18 +- > > > drivers/gpu/drm/i915/i915_debugfs.c | 4 +- > > > drivers/gpu/drm/i915/i915_drv.c | 1 + > > > drivers/gpu/drm/i915/i915_drv.h | 29 +- > > > drivers/gpu/drm/i915/i915_gem.c | 25 +- > > > drivers/gpu/drm/i915/i915_irq.c | 10 +- > > > drivers/gpu/drm/i915/i915_params.h | 8 +- > > > drivers/gpu/drm/i915/i915_pci.c | 2 +- > > > drivers/gpu/drm/i915/i915_perf.c | 10 +- > > > drivers/gpu/drm/i915/i915_pmu.c | 4 +- > > > drivers/gpu/drm/i915/i915_query.c | 62 ++++ > > > drivers/gpu/drm/i915/i915_reg.h | 17 +- > > > drivers/gpu/drm/i915/i915_request.c | 5 +- > > > drivers/gpu/drm/i915/i915_vma.c | 31 +- > > > drivers/gpu/drm/i915/intel_memory_region.c | 29 +- > > > drivers/gpu/drm/i915/intel_memory_region.h | 18 +- > > > drivers/gpu/drm/i915/intel_uncore.c | 12 + > > > drivers/gpu/drm/i915/selftests/i915_active.c | 2 +- > > > drivers/gpu/drm/i915/selftests/i915_gem.c | 20 +- > > > drivers/gpu/drm/i915/selftests/i915_gem_gtt.c | 10 +- > > > drivers/gpu/drm/i915/selftests/i915_perf.c | 3 +- > > > drivers/gpu/drm/i915/selftests/i915_vma.c | 3 + > > > drivers/gpu/drm/i915/selftests/igt_spinner.c | 4 +- > > > .../gpu/drm/i915/selftests/intel_memory_region.c | 87 ++++- > > > drivers/gpu/drm/i915/selftests/librapl.c | 10 + > > > drivers/gpu/drm/i915/selftests/librapl.h | 4 + > > > include/uapi/drm/i915_drm.h | 393 +++++++++++= ++++++++-- > > > 92 files changed, 2018 insertions(+), 575 deletions(-) > > > create mode 100644 Documentation/gpu/driver-uapi.rst > > > create mode 100644 Documentation/gpu/rfc/i915_gem_lmem.rst 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=-15.5 required=3.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED,DKIM_INVALID,DKIM_SIGNED,FREEMAIL_FORGED_FROMDOMAIN, FREEMAIL_FROM,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, INCLUDES_PULL_REQUEST,MAILING_LIST_MULTI,MENTIONS_GIT_HOSTING,SPF_HELO_NONE, SPF_PASS,URIBL_BLOCKED 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 7D15AC47083 for ; Wed, 2 Jun 2021 04:17:42 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 389C861040 for ; Wed, 2 Jun 2021 04:17:42 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 389C861040 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=intel-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 6258E6EA9E; Wed, 2 Jun 2021 04:17:41 +0000 (UTC) Received: from mail-ed1-x534.google.com (mail-ed1-x534.google.com [IPv6:2a00:1450:4864:20::534]) by gabe.freedesktop.org (Postfix) with ESMTPS id 70DD66E029; Wed, 2 Jun 2021 04:17:40 +0000 (UTC) Received: by mail-ed1-x534.google.com with SMTP id dg27so1201526edb.12; Tue, 01 Jun 2021 21:17:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=n6du5oeWZ5d7CgK19Vmrn0p0dvu3xk+iBuUEqH4Lpag=; b=uLEt7G1zI9ks3Tf9sF7EsL1dWEpKbY1bxWWNA7gyh5gqZk5t+t0tWHHFdvxBuR1PKl JsiiaHqPDO4sLu8fO8HXoGVh20bj1W2tiANtXeXVd4UeTuEmJp4ZQgeqUMvedRDf37IV S/KINMoZVBRw3pm2XAqAotxQzx/ONnyKQSkefZbZhwwNHCf9NQZRWG7wTmJDnTmb5X4L ncxZbv1jABJZ/Xn0tSCY1UP5FiNC8u5k3/BlI4PwJALkhGk9QWi8bExCZY9ygV8QL0hA ZmpaVWXDhm31Ha6e16QhNCS4F89DTqUV1gN8Ygee82KN1yQY4c9dmGLOE02thvq9gele RYGA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=n6du5oeWZ5d7CgK19Vmrn0p0dvu3xk+iBuUEqH4Lpag=; b=snmXeeLmT9yid34ZD7YKWrEdv8IpbtRpfvsCG18ZYDW4sTAvkpGgVzEpyEfLlSNkBf Av0hl4F3ioowysjeaudDXfLHX/zdq97MMb/L66SNYDO7AEWWHWEQ+WO4ysyH31EcM/f8 97iLiCoE2w62lqQFnjgyucHM0/5fknu+Qg5vCcVafarBl2NcuBidAYSiqvM1z/N/oPdM yrPt+Ji1PLbeOrJ8na9ZpVXkkxkn0MqRlv2T6nDlGs6bY/tJkINzOnmV/9t0UbwoRNtj luoge7PpbFuIhm9mAPO94I872SM9IdBgE0MeN6qP70ffygjuDAl6nNWaHbvn3DbEGc9f nX7A== X-Gm-Message-State: AOAM531Cx8J268Q02NdG25AOiEQfeS9jju0ApPoF6Af7w5kpqsaGWjLc R6NLm0EFfiROORu5SFdZ4mds+pc4QK1VZDPkzto= X-Google-Smtp-Source: ABdhPJyEKBOrR5iSqPcuEHnhg2LYLTNYJR06qJAt4PyHJj1UE94WxqfX+HcehSBS8ewJqcKur3CN+ziKK77p8IDqLjw= X-Received: by 2002:a05:6402:2049:: with SMTP id bc9mr16520470edb.298.1622607459012; Tue, 01 Jun 2021 21:17:39 -0700 (PDT) MIME-Version: 1.0 References: <162218682866.9100.50543809230103499@jlahtine-mobl.ger.corp.intel.com> In-Reply-To: From: Dave Airlie Date: Wed, 2 Jun 2021 14:17:27 +1000 Message-ID: To: Joonas Lahtinen Subject: Re: [Intel-gfx] [PULL] drm-intel-gt-next X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "DRM maintainer tools announcements, discussion, and development" , Daniel Vetter , dri-devel , Maxime Ripard , Intel Graphics Development Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" T24gV2VkLCAyIEp1biAyMDIxIGF0IDEwOjI4LCBEYXZlIEFpcmxpZSA8YWlybGllZEBnbWFpbC5j b20+IHdyb3RlOgo+Cj4gVGhpcyBoYXMgdGhlc2UgdHdvIHBhdGNoZXMgYXBwbGllZCwgYW5kIGl0 IGRvZXNuJ3QgYnVpbGQuCj4KPiAgIGRybS9pOTE1OiBkcm9wIHRoZSBfX2k5MTVfYWN0aXZlX2Nh bGwgcG9pbnRlciBwYWNraW5nCj4gICBkcm0vaTkxNTogRml4IGNyYXNoIGluIGF1dG9fcmV0aXJl Cj4KPiBUaGUgbGF0dGVyIHBhdGNoIHNob3VsZG4ndCBiZSBuZWNlc3NhcnkgYWZ0ZXIgdGhlIGZv cm1lciwgcGxlYXNlIGZpeAo+IHRoYXQgdXAgYW5kIHJlc2VuZCBhbmQgcGxlYXNlIGJ1aWxkIHRl c3QgdHJlZXMgYmVmb3JlIEkgZ2V0IHRoZW0gaW4KPiBmdXR1cmUuCgpPaCBtYXliZSB0aGlzIGlz IGFuIHVucmVzb2x2ZWQgY29uZmxpY3QsIG5vdCBzdXJlIHdoeSBkcm0tdGlwIGRvZXNuJ3QKY2F0 Y2ggdGhpcyB0aG91Z2gsIG9yIGlzIHRoaXMgbmV4dCB0cmVlIG5vdCBpbiBuZXh0PwoKVGhhdCB3 b3VsZCBleHBsYWluIGl0IHRoZW4uCgpJJ3ZlIHB1bGxlZCBpdCB3aXRoIGFuIGZpeCBpbiB0aGUg bWVyZ2UgY29tbWl0LgoKRGF2ZS4KCj4KPiBEYXZlLgo+Cj4KPiBPbiBGcmksIDI4IE1heSAyMDIx IGF0IDE3OjI3LCBKb29uYXMgTGFodGluZW4KPiA8am9vbmFzLmxhaHRpbmVuQGxpbnV4LmludGVs LmNvbT4gd3JvdGU6Cj4gPgo+ID4gUXVvdGluZyBKb29uYXMgTGFodGluZW4gKDIwMjEtMDUtMjgg MTA6MjU6NTcpCj4gPiA+IEhpIERhdmUgJiBEYW5pZWwsCj4gPiA+Cj4gPiA+IEhlcmUncyBkcm0t aW50ZWwtZ3QtbmV4dCBwdWxsIHJlcXVlc3QuCj4gPiA+Cj4gPiA+IE1vc3Qgbm90YWJseSBpdCBo YXMgdGhlIHJld29ya2VkIERHMSB1QVBJIChiZWhpbmQgQ09ORklHX0JST0tFTikKPiA+ID4gYXMg cmVxdWVzdGVkLiBJbXBvcnRhbnQgZml4IGZvciBHaXRsYWIgaXNzdWVzICMzMjkzIGFuZCAjMzQ1 MCBhbmQKPiA+ID4gb25lIGFub3RoZXIga2VybmVsIGNyYXNoLiBBZGRzIG1pc3Npbmcgd29ya2Fy b3VuZHMgZm9yIEdlbjExIGFuZAo+ID4gPiBHZW4xMi4gSGlkaW5nIG9mIG1vZHBhcmFtcyBmb3Ig Y29tcGlsZWQtb3V0IGZlYXR1cmVzLiBDb252ZXJzaW9uCj4gPiA+IHRvIHVzZSB0cnlsb2NrIHNo cmlua2luZyBmb3IgQlNXIFZULWQgYW5kIEJYVC4KPiA+ID4KPiA+ID4gVGhlbiB0aGVyZSBhcmUg dGhlIHVBUEkga2VybmVsZG9jIGltcHJvdmVtZW50cyBhcyBwYXJ0IG9mIHRoZSBERzEKPiA+ID4g dUFQSSByZXdvcmsuIFVzdWFsIGFtb3VudCBzbWFsbGVyIGZpeGVzLCBjb2RlIHJlZmFjdG9yaW5n IGFuZAo+ID4gPiBjbGVhbnVwcyBhcyBwcmVwIGZvciB1cGNvbWluZyBwYXRjaGVzLgo+ID4KPiA+ IEFuZCBpbmNsdWRlcyB0YWcgJ3RvcGljL2ludGVsLWdlbi10by12ZXItMjAyMS0wNC0xOScgKGJ1 dCB0aGF0IGlzCj4gPiBhbHJlYWR5IG1lcmdlZCB0byBkcm0tbmV4dCkuCj4gPgo+ID4gUmVnYXJk cywgSm9vbmFzCj4gPgo+ID4gPiBSZWdhcmRzLCBKb29uYXMKPiA+ID4KPiA+ID4gKioqCj4gPiA+ Cj4gPiA+IGRybS1pbnRlbC1ndC1uZXh0LTIwMjEtMDUtMjg6Cj4gPiA+Cj4gPiA+IFVBUEkgQ2hh bmdlczoKPiA+ID4gLSBBZGQgcmV3b3JrZWQgdUFQSSBmb3IgREcxIGJlaGluZCBDT05GSUdfQlJP S0VOIChNYXR0IEEsIEFiZGllbCkKPiA+ID4KPiA+ID4gRHJpdmVyIENoYW5nZXM6Cj4gPiA+Cj4g PiA+IC0gRml4IGZvciBHaXRsYWIgaXNzdWVzICMzMjkzIGFuZCAjMzQ1MDoKPiA+ID4gICBBdm9p ZCBrZXJuZWwgY3Jhc2ggb24gb2xkZXIgTC1zaGFwZSBtZW1vcnkgbWFjaGluZXMKPiA+ID4KPiA+ ID4gLSBIaWRlIG1vZHBhcmFtcyBmb3IgY29tcGlsZWQtb3V0IGZlYXR1cmVzIChUdnJ0a28pCj4g PiA+IC0gQWRkIFdhXzE0MDEwNzMzMTQxIChWREJveCBTRkMgcmVzZXQpIGZvciBHZW4xMSsgKEFk aXR5YSkKPiA+ID4gLSBGaXggY3Jhc2ggaW4gYXV0b19yZXRpcmUgYWN0aXZlIHJldGlyZSBjYWxs YmFjayBkdWUgdG8KPiA+ID4gICBtaXNhbGlnbm1lbnQgKFN0ZXBoYW5lKQo+ID4gPiAtIFVzZSB0 cnlsb2NrIGluIHNocmlua2VyIGZvciBHR1RUIG9uIEJTVyBWVC1kIGFuZCBCWFQgKE1hYXJ0ZW4p Cj4gPiA+IC0gRml4IG92ZXJsYXkgYWN0aXZlIHJldGlyZSBjYWxsYmFjayBhbGlnbm1lbnQgKFR2 cnRrbykKPiA+ID4gLSBFbGltaW5hdGUgbmVlZCB0byBhbGlnbiBhY3RpdmUgcmV0aXJlIGNhbGxi YWNrcyAoTWF0dCBBLCBWaWxsZSwKPiA+ID4gICBEYW5pZWwpCj4gPiA+IC0gUHJvZ3JhbSBGRl9N T0RFMiB0dW5pbmcgdmFsdWUgZm9yIGFsbCBHZW4xMiBwbGF0Zm9ybXMgKENheikKPiA+ID4gLSBB ZGQgV2FfMTQwMTEwNjA2NDkgZm9yIFRHTCxSS0wsREcxIGFuZCBBRExTIChTd2F0aGkpCj4gPiA+ IC0gQ3JlYXRlIHN0b2xlbiBtZW1vcnkgcmVnaW9uIGZyb20gbG9jYWwgbWVtb3J5IG9uIERHMSAo Q1EpCj4gPiA+IC0gUGxhY2UgUEQgaW4gTE1FTSBvbiBkR0ZYIChNYXR0IEEpCj4gPiA+IC0gVXNl IFdDIHdoZW4gZGVmYXVsdCBzdGF0ZSBvYmplY3QgaXMgYWxsb2NhdGVkIGluIExNRU0gKFZlbmth dGEpCj4gPiA+IC0gRGV0ZXJtaW5lIHRoZSBjb2hlcmVudCBtYXAgdHlwZSBiYXNlZCBvbiBvYmpl Y3QgbG9jYXRpb24gKFZlbmthdGEpCj4gPiA+IC0gVXNlIGxtZW0gcGh5c2ljYWwgYWRkcmVzc2Vz IGZvciBmYl9tbWFwKCkgb24gZGlzY3JldGUgKE1vaGFtbWVkKQo+ID4gPiAtIEJ5cGFzcyBhcGVy dHVyZSBvbiBmYmRldiB3aGVuIExNRU0gaXMgYXZhaWxhYmxlIChBbnVzaGEpCj4gPiA+IC0gUmV0 dXJuIGVycm9yIHZhbHVlIHdoZW4gZGlzcGxheWFibGUgQk8gbm90IGluIExNRU0gZm9yIGRHRlgg KE1vaGFtbWVkKQo+ID4gPiAtIERvIHJlbGVhc2Uga2VybmVsIGNvbnRleHQgaWYgYnJlYWRjcnVt YiBtZWFzdXJlIGZhaWxzIChKYW51c3opCj4gPiA+IC0gQXBwbHkgV2FfMjIwMTAyNzEwMjEgZm9y IGFsbCBHZW4xMSBwbGF0Zm9ybXMgKENheikKPiA+ID4gLSBGaXggdW5saWtlbHkgcmVmIGNvdW50 IHJhY2UgaW4gYXJtaW5nIHRoZSB3YXRjaGRvZyB0aW1lciAoVHZydGtvKQo+ID4gPiAtIENoZWNr IGFjdHVhbCBSQzYgZW5hYmxlIHN0YXR1cyBpbiBQTVUgKFR2cnRrbykKPiA+ID4gLSBGaXggYSBk b3VibGUgZnJlZSBpbiBnZW44X3ByZWFsbG9jYXRlX3RvcF9sZXZlbF9wZHAgKEx2KQo+ID4gPiAt IFJlbW92ZSBlcnJvbmVvdXMgaTkxNV9pc19nZ3R0IGNoZWNrIGZvcgo+ID4gPiAgIEk5MTVfR0VN X09CSkVDVF9VTkJJTkRfVk1fVFJZTE9DSyAoTWFhcnRlbikKPiA+ID4KPiA+ID4gLSBDb252ZXJ0 IHVBUEkgaGVhZGVycyB0byByZWFsIGtlcm5lbGRvYyAoTWF0dCBBKQo+ID4gPiAtIENsZWFuIHVw IGtlcm5lbGRvYyB3YXJuaW5ncyBoZWFkZXJzIChNYXR0IEEsIE1hYXJ0ZW4pCj4gPiA+IC0gRmFp bCBkcml2ZXIgaWYgTE1FTSB0cmFpbmluZyBmYWlsZWQgKE1hdHQgUikKPiA+ID4gLSBBdm9pZCBk aXYtYnktemVybyBvbiBHZW4yIChWaWxsZSkKPiA+ID4gLSBSZWFkIEMwRFJCMy9DMURSQjMgYXMg MTYgYml0cyBhZ2FpbiBhbmQgYWRkIF9CVyBzdWZmaXggKFZpbGxlKQo+ID4gPiAtIFJlbW92ZSBy ZWZlcmVuY2UgdG8gc3RydWN0IGRybV9kZXZpY2UucGRldiAoVGhvbWFzKQo+ID4gPiAtIEluY3Jl YXNlIHNlcGFyYXRpb24gYmV0d2VlbiBHdUMgYW5kIGV4ZWNsaXN0cyBjb2RlIChDaHJpcywgTWF0 dCBCKQo+ID4gPgo+ID4gPiAtIFVzZSBtaWdodF9hbGxvYygpIChCZXJuYXJkKQo+ID4gPiAtIFNw bGl0IERHRlhfRkVBVFVSRVMgZnJvbSBHRU4xMl9GRUFUVVJFUyAoTHVjYXMpCj4gPiA+IC0gRGVk dXBsaWNhdGUgV2FfMjIwMTAyNzEwMjEgcHJvZ3JhbW1pbmcgb24gKEpvc2UpCj4gPiA+IC0gRHJv cCBkdXBsaWNhdGUgV2FEaXNhYmxlNHgyU3Vic3Bhbk9wdGltaXphdGlvbjpoc3cgKFR2cnRrbykK PiA+ID4gLSBTZWxmdGVzdCBpbXByb3ZlbWVudHMgKENocmlzLCBIc2luLVlpLCBUdnJ0a28pCj4g PiA+IC0gU2h1ZmZsZSBhcm91bmQgaW5pdF9tZW1vcnlfcmVnaW9uIGZvciBzdG9sZW4gKE1hdHQp Cj4gPiA+IC0gVHlwbyBmaXhlcyAod2VuZ2ppYW5mZW5nKQo+ID4gPgo+ID4gPiBUaGUgZm9sbG93 aW5nIGNoYW5nZXMgc2luY2UgY29tbWl0IDQyNTM5MGM1ZGNlNmRhNzY1NzgzODk2MjlkMTk1MTdm Y2Q3OWM5NTk6Cj4gPiA+Cj4gPiA+ICAgZHJtL2k5MTU6IHNwbGl0IGRnZnggZmVhdHVyZXMgZnJv bSBnZW4gMTIgKDIwMjEtMDQtMTQgMTM6MDU6MDYgKzAzMDApCj4gPiA+Cj4gPiA+IGFyZSBhdmFp bGFibGUgaW4gdGhlIEdpdCByZXBvc2l0b3J5IGF0Ogo+ID4gPgo+ID4gPiAgIGdpdDovL2Fub25n aXQuZnJlZWRlc2t0b3Aub3JnL2RybS9kcm0taW50ZWwgdGFncy9kcm0taW50ZWwtZ3QtbmV4dC0y MDIxLTA1LTI4Cj4gPiA+Cj4gPiA+IGZvciB5b3UgdG8gZmV0Y2ggY2hhbmdlcyB1cCB0byA1YjI2 ZDU3ZmRiNDk5YzIzNjNmM2Q4OTVlZjAwOGU3M2VjMDJlYjliOgo+ID4gPgo+ID4gPiAgIGRybS9p OTE1OiBBZGQgV2FfMTQwMTA3MzMxNDEgKDIwMjEtMDUtMjcgMTE6MDU6MDkgLTA3MDApCj4gPiA+ Cj4gPiA+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0KPiA+ID4gVUFQSSBDaGFuZ2VzOgo+ID4gPiAtIEFkZCByZXdvcmtlZCB1 QVBJIGZvciBERzEgYmVoaW5kIENPTkZJR19CUk9LRU4gKE1hdHQgQSwgQWJkaWVsKQo+ID4gPgo+ ID4gPiBEcml2ZXIgQ2hhbmdlczoKPiA+ID4KPiA+ID4gLSBGaXggZm9yIEdpdGxhYiBpc3N1ZXMg IzMyOTMgYW5kICMzNDUwOgo+ID4gPiAgIEF2b2lkIGtlcm5lbCBjcmFzaCBvbiBvbGRlciBMLXNo YXBlIG1lbW9yeSBtYWNoaW5lcwo+ID4gPgo+ID4gPiAtIEFkZCBXYV8xNDAxMDczMzE0MSAoVkRC b3ggU0ZDIHJlc2V0KSBmb3IgR2VuMTErIChBZGl0eWEpCj4gPiA+IC0gRml4IGNyYXNoIGluIGF1 dG9fcmV0aXJlIGFjdGl2ZSByZXRpcmUgY2FsbGJhY2sgZHVlIHRvCj4gPiA+ICAgbWlzYWxpZ25t ZW50IChTdGVwaGFuZSkKPiA+ID4gLSBGaXggb3ZlcmxheSBhY3RpdmUgcmV0aXJlIGNhbGxiYWNr IGFsaWdubWVudCAoVHZydGtvKQo+ID4gPiAtIEVsaW1pbmF0ZSBuZWVkIHRvIGFsaWduIGFjdGl2 ZSByZXRpcmUgY2FsbGJhY2tzIChNYXR0IEEsIFZpbGxlLAo+ID4gPiAgIERhbmllbCkKPiA+ID4g LSBQcm9ncmFtIEZGX01PREUyIHR1bmluZyB2YWx1ZSBmb3IgYWxsIEdlbjEyIHBsYXRmb3JtcyAo Q2F6KQo+ID4gPiAtIEFkZCBXYV8xNDAxMTA2MDY0OSBmb3IgVEdMLFJLTCxERzEgYW5kIEFETFMg KFN3YXRoaSkKPiA+ID4gLSBDcmVhdGUgc3RvbGVuIG1lbW9yeSByZWdpb24gZnJvbSBsb2NhbCBt ZW1vcnkgb24gREcxIChDUSkKPiA+ID4gLSBQbGFjZSBQRCBpbiBMTUVNIG9uIGRHRlggKE1hdHQg QSkKPiA+ID4gLSBVc2UgV0Mgd2hlbiBkZWZhdWx0IHN0YXRlIG9iamVjdCBpcyBhbGxvY2F0ZWQg aW4gTE1FTSAoVmVua2F0YSkKPiA+ID4gLSBEZXRlcm1pbmUgdGhlIGNvaGVyZW50IG1hcCB0eXBl IGJhc2VkIG9uIG9iamVjdCBsb2NhdGlvbiAoVmVua2F0YSkKPiA+ID4gLSBVc2UgbG1lbSBwaHlz aWNhbCBhZGRyZXNzZXMgZm9yIGZiX21tYXAoKSBvbiBkaXNjcmV0ZSAoTW9oYW1tZWQpCj4gPiA+ IC0gQnlwYXNzIGFwZXJ0dXJlIG9uIGZiZGV2IHdoZW4gTE1FTSBpcyBhdmFpbGFibGUgKEFudXNo YSkKPiA+ID4gLSBSZXR1cm4gZXJyb3IgdmFsdWUgd2hlbiBkaXNwbGF5YWJsZSBCTyBub3QgaW4g TE1FTSBmb3IgZEdGWCAoTW9oYW1tZWQpCj4gPiA+IC0gRG8gcmVsZWFzZSBrZXJuZWwgY29udGV4 dCBpZiBicmVhZGNydW1iIG1lYXN1cmUgZmFpbHMgKEphbnVzeikKPiA+ID4gLSBIaWRlIG1vZHBh cmFtcyBmb3IgY29tcGlsZWQtb3V0IGZlYXR1cmVzIChUdnJ0a28pCj4gPiA+IC0gQXBwbHkgV2Ff MjIwMTAyNzEwMjEgZm9yIGFsbCBHZW4xMSBwbGF0Zm9ybXMgKENheikKPiA+ID4gLSBGaXggdW5s aWtlbHkgcmVmIGNvdW50IHJhY2UgaW4gYXJtaW5nIHRoZSB3YXRjaGRvZyB0aW1lciAoVHZydGtv KQo+ID4gPiAtIENoZWNrIGFjdHVhbCBSQzYgZW5hYmxlIHN0YXR1cyBpbiBQTVUgKFR2cnRrbykK PiA+ID4gLSBGaXggYSBkb3VibGUgZnJlZSBpbiBnZW44X3ByZWFsbG9jYXRlX3RvcF9sZXZlbF9w ZHAgKEx2KQo+ID4gPiAtIFVzZSB0cnlsb2NrIGluIHNocmlua2VyIGZvciBHR1RUIG9uIEJTVyBW VC1kIGFuZCBCWFQgKE1hYXJ0ZW4pCj4gPiA+IC0gUmVtb3ZlIGVycm9uZW91cyBpOTE1X2lzX2dn dHQgY2hlY2sgZm9yCj4gPiA+ICAgSTkxNV9HRU1fT0JKRUNUX1VOQklORF9WTV9UUllMT0NLIChN YWFydGVuKQo+ID4gPgo+ID4gPiAtIENvbnZlcnQgdUFQSSBoZWFkZXJzIHRvIHJlYWwga2VybmVs ZG9jIChNYXR0IEEpCj4gPiA+IC0gQ2xlYW4gdXAga2VybmVsZG9jIHdhcm5pbmdzIGhlYWRlcnMg KE1hdHQgQSwgTWFhcnRlbikKPiA+ID4gLSBGYWlsIGRyaXZlciBpZiBMTUVNIHRyYWluaW5nIGZh aWxlZCAoTWF0dCBSKQo+ID4gPiAtIEF2b2lkIGRpdi1ieS16ZXJvIG9uIEdlbjIgKFZpbGxlKQo+ ID4gPiAtIFJlYWQgQzBEUkIzL0MxRFJCMyBhcyAxNiBiaXRzIGFnYWluIGFuZCBhZGQgX0JXIHN1 ZmZpeCAoVmlsbGUpCj4gPiA+IC0gUmVtb3ZlIHJlZmVyZW5jZSB0byBzdHJ1Y3QgZHJtX2Rldmlj ZS5wZGV2IChUaG9tYXMpCj4gPiA+IC0gSW5jcmVhc2Ugc2VwYXJhdGlvbiBiZXR3ZWVuIEd1QyBh bmQgZXhlY2xpc3RzIGNvZGUgKENocmlzLCBNYXR0IEIpCj4gPiA+Cj4gPiA+IC0gVXNlIG1pZ2h0 X2FsbG9jKCkgKEJlcm5hcmQpCj4gPiA+IC0gU3BsaXQgREdGWF9GRUFUVVJFUyBmcm9tIEdFTjEy X0ZFQVRVUkVTIChMdWNhcykKPiA+ID4gLSBEZWR1cGxpY2F0ZSBXYV8yMjAxMDI3MTAyMSBwcm9n cmFtbWluZyBvbiAoSm9zZSkKPiA+ID4gLSBEcm9wIGR1cGxpY2F0ZSBXYURpc2FibGU0eDJTdWJz cGFuT3B0aW1pemF0aW9uOmhzdyAoVHZydGtvKQo+ID4gPiAtIFNlbGZ0ZXN0IGltcHJvdmVtZW50 cyAoQ2hyaXMsIEhzaW4tWWksIFR2cnRrbykKPiA+ID4gLSBTaHVmZmxlIGFyb3VuZCBpbml0X21l bW9yeV9yZWdpb24gZm9yIHN0b2xlbiAoTWF0dCkKPiA+ID4gLSBUeXBvIGZpeGVzICh3ZW5namlh bmZlbmcpCj4gPiA+Cj4gPiA+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPiA+ID4gQWJkaWVsIEphbnVsZ3VlICgxKToKPiA+ ID4gICAgICAgZHJtL2k5MTUvcXVlcnk6IEV4cG9zZSBtZW1vcnkgcmVnaW9ucyB0aHJvdWdoIHRo ZSBxdWVyeSB1QVBJCj4gPiA+Cj4gPiA+IEFkaXR5YSBTd2FydXAgKDEpOgo+ID4gPiAgICAgICBk cm0vaTkxNTogQWRkIFdhXzE0MDEwNzMzMTQxCj4gPiA+Cj4gPiA+IEFudXNoYSBTcml2YXRzYSAo MSk6Cj4gPiA+ICAgICAgIGRybS9pOTE1L2xtZW06IEJ5cGFzcyBhcGVydHVyZSB3aGVuIGxtZW0g aXMgYXZhaWxhYmxlCj4gPiA+Cj4gPiA+IEJlcm5hcmQgWmhhbyAoMSk6Cj4gPiA+ICAgICAgIGRy bS9pOTE1OiBVc2UgbWlnaHRfYWxsb2MoKQo+ID4gPgo+ID4gPiBDUSBUYW5nICgyKToKPiA+ID4g ICAgICAgZHJtL2k5MTU6IENyZWF0ZSBzdG9sZW4gbWVtb3J5IHJlZ2lvbiBmcm9tIGxvY2FsIG1l bW9yeQo+ID4gPiAgICAgICBkcm0vaTkxNS9zdG9sZW46IGVuZm9yY2UgdGhlIG1pbl9wYWdlX3Np emUgY29udHJhY3QKPiA+ID4KPiA+ID4gQ2F6IFlva295YW1hICgyKToKPiA+ID4gICAgICAgZHJt L2k5MTUvZ2VuMTI6IEFkZCByZWNvbW1lbmRlZCBoYXJkd2FyZSB0dW5pbmcgdmFsdWUKPiA+ID4g ICAgICAgZHJtL2k5MTUvaWNsOiBhZGQgV2FfMjIwMTAyNzEwMjEgZm9yIGFsbCBnZW4xMQo+ID4g Pgo+ID4gPiBDaHJpcyBXaWxzb24gKDYpOgo+ID4gPiAgICAgICBkcm0vaTkxNS9zZWxmdGVzdHM6 IFNraXAgYXBlcnR1cmUgcmVtYXBwaW5nIHNlbGZ0ZXN0IHdoZXJlIHRoZXJlIGlzIG5vIGFwZXJ0 dXJlCj4gPiA+ICAgICAgIGRybS9pOTE1L3NlbGZ0ZXN0czogT25seSBxdWVyeSBSQVBMIGZvciBp bnRlZ3JhdGVkIHBvd2VyIG1lYXN1cmVtZW50cwo+ID4gPiAgICAgICBkcm0vaTkxNS9nZW06IFBp biB0aGUgTC1zaGFwZSBxdWlya2VkIG9iamVjdCBhcyB1bnNocmlua2FibGUKPiA+ID4gICAgICAg ZHJtL2k5MTUvZ3Q6IE1vdmUgZW5naW5lIHNldHVwIG91dCBvZiBzZXRfZGVmYXVsdF9zdWJtaXNz aW9uCj4gPiA+ICAgICAgIGRybS9pOTE1L2d0OiBNb3ZlIHN1Ym1pc3Npb25fbWV0aG9kIGludG8g aW50ZWxfZ3QKPiA+ID4gICAgICAgZHJtL2k5MTUvZ3Q6IE1vdmUgQ1MgaW50ZXJydXB0IGhhbmRs ZXIgdG8gdGhlIGJhY2tlbmQKPiA+ID4KPiA+ID4gSHNpbi1ZaSBXYW5nICgxKToKPiA+ID4gICAg ICAgZHJtL2k5MTUvc2VsZnRlc3RzOiBSZW5hbWUgcG1fIHByZWZpeGVkIGZ1bmN0aW9ucyBuYW1l cwo+ID4gPgo+ID4gPiBKYW51c3ogS3J6eXN6dG9maWsgKDEpOgo+ID4gPiAgICAgICBkcm0vaTkx NS9ndDogRG8gcmVsZWFzZSBrZXJuZWwgY29udGV4dCBpZiBicmVhZGNydW1iIG1lYXN1cmUgZmFp bHMKPiA+ID4KPiA+ID4gSm9vbmFzIExhaHRpbmVuICgxKToKPiA+ID4gICAgICAgTWVyZ2UgdGFn ICd0b3BpYy9pbnRlbC1nZW4tdG8tdmVyLTIwMjEtMDQtMTknIG9mIGdpdDovL2Fub25naXQuZnJl ZWRlc2t0b3Aub3JnL2RybS9kcm0taW50ZWwgaW50byBkcm0taW50ZWwtZ3QtbmV4dAo+ID4gPgo+ ID4gPiBKb3PDqSBSb2JlcnRvIGRlIFNvdXphICgxKToKPiA+ID4gICAgICAgZHJtL2k5MTU6IE1v dmUgV2FfMTYwMTExNjMzMzcgdG8gZ2VuMTJfY3R4X3dvcmthcm91bmRzX2luaXQoKQo+ID4gPgo+ ID4gPiBMdiBZdW5sb25nICgxKToKPiA+ID4gICAgICAgZHJtL2k5MTUvZ3Q6IEZpeCBhIGRvdWJs ZSBmcmVlIGluIGdlbjhfcHJlYWxsb2NhdGVfdG9wX2xldmVsX3BkcAo+ID4gPgo+ID4gPiBNYWFy dGVuIExhbmtob3JzdCAoNCk6Cj4gPiA+ICAgICAgIGRybS9pOTE1OiBGaXggZG9jYm9vayBkZXNj cmlwdGlvbnMgZm9yIGk5MTVfZ2VtX3Nocmlua2VyCj4gPiA+ICAgICAgIGRybS9pOTE1OiBGaXgg ZG9jYm9vayBkZXNjcmlwdGlvbnMgZm9yIGk5MTVfY21kX3BhcnNlcgo+ID4gPiAgICAgICBkcm0v aTkxNTogVXNlIHRyeWxvY2sgaW4gc2hyaW5rZXIgZm9yIGdndHQgb24gYnN3IHZ0LWQgYW5kIGJ4 dCwgdjIuCj4gPiA+ICAgICAgIGRybS9pOTE1OiBSZW1vdmUgZXJyb25lb3VzIGk5MTVfaXNfZ2d0 dCBjaGVjayBmb3IgSTkxNV9HRU1fT0JKRUNUX1VOQklORF9WTV9UUllMT0NLCj4gPiA+Cj4gPiA+ IE1hdHQgUm9wZXIgKDEpOgo+ID4gPiAgICAgICBkcm0vaTkxNS9sbWVtOiBGYWlsIGRyaXZlciBp bml0IGlmIExNRU0gdHJhaW5pbmcgZmFpbGVkCj4gPiA+Cj4gPiA+IE1hdHRoZXcgQXVsZCAoMTkp Ogo+ID4gPiAgICAgICBkcm0vaTkxNS91YXBpOiBmaXgga2VybmVsIGRvYyB3YXJuaW5ncwo+ID4g PiAgICAgICBkcm0vaTkxNS91YXBpOiBjb252ZXJ0IGk5MTVfdXNlcl9leHRlbnNpb24gdG8ga2Vy bmVsIGRvYwo+ID4gPiAgICAgICBkcm0vaTkxNS91YXBpOiBjb252ZXJ0IGk5MTVfcXVlcnkgYW5k IGZyaWVuZCB0byBrZXJuZWwgZG9jCj4gPiA+ICAgICAgIGRybS9kb2M6IGFkZCBzZWN0aW9uIGZv ciBkcml2ZXIgdUFQSQo+ID4gPiAgICAgICBkcm0vaTkxNS9zdG9sZW46IHRyZWF0IHN0b2xlbiBs b2NhbCBhcyBub3JtYWwgbG9jYWwgbWVtb3J5Cj4gPiA+ICAgICAgIGRybS9pOTE1L3N0b2xlbjog YWN0dWFsbHkgbWFyayBhcyBjb250aWd1b3VzCj4gPiA+ICAgICAgIGRybS9pOTE1L2d0dDogbWFw IHRoZSBQRCB1cCBmcm9udAo+ID4gPiAgICAgICBkcm0vaTkxNS9ndHQvZGdmeDogcGxhY2UgdGhl IFBEIGluIExNRU0KPiA+ID4gICAgICAgZHJtL2RvYy9yZmM6IGk5MTUgREcxIHVBUEkKPiA+ID4g ICAgICAgZHJtL2k5MTU6IG1hcmsgc3RvbGVuIGFzIHByaXZhdGUKPiA+ID4gICAgICAgZHJtL2k5 MTU6IHJld29yayBnZW1fY3JlYXRlIGZsb3cgZm9yIHVwY29taW5nIGV4dGVuc2lvbnMKPiA+ID4g ICAgICAgZHJtL2k5MTUvdWFwaTogaW50cm9kdWNlIGRybV9pOTE1X2dlbV9jcmVhdGVfZXh0Cj4g PiA+ICAgICAgIGRybS9pOTE1L3VhcGk6IGltcGxlbWVudCBvYmplY3QgcGxhY2VtZW50IGV4dGVu c2lvbgo+ID4gPiAgICAgICBkcm0vaTkxNS9sbWVtOiBzdXBwb3J0IG9wdGlvbmFsIENQVSBjbGVh cmluZyBmb3Igc3BlY2lhbCBpbnRlcm5hbCB1c2UKPiA+ID4gICAgICAgZHJtL2k5MTUvZ2VtOiBj bGVhciB1c2Vyc3BhY2UgYnVmZmVycyBmb3IgTE1FTQo+ID4gPiAgICAgICBkcm0vaTkxNS9nZW06 IGhpZGUgbmV3IHVBUEkgYmVoaW5kIENPTkZJR19CUk9LRU4KPiA+ID4gICAgICAgZHJtL2k5MTU6 IGRyb3AgdGhlIF9faTkxNV9hY3RpdmVfY2FsbCBwb2ludGVyIHBhY2tpbmcKPiA+ID4gICAgICAg ZHJtL2k5MTUvc3RvbGVuOiBzaHVmZmxlIGFyb3VuZCBpbml0X21lbW9yeV9yZWdpb24KPiA+ID4g ICAgICAgZHJtL2RvYy9yZmM6IGRyb3AgdGhlIGk5MTVfZ2VtX2xtZW0uaCBoZWFkZXIKPiA+ID4K PiA+ID4gTW9oYW1tZWQgS2hhamFwYXNoYSAoMik6Cj4gPiA+ICAgICAgIGRybS9pOTE1L2ZiZGV2 OiBVc2UgbG1lbSBwaHlzaWNhbCBhZGRyZXNzZXMgZm9yIGZiX21tYXAoKSBvbiBkaXNjcmV0ZQo+ ID4gPiAgICAgICBkcm0vaTkxNTogUmV0dXJuIGVycm9yIHZhbHVlIHdoZW4gYm8gbm90IGluIExN RU0gZm9yIGRpc2NyZXRlCj4gPiA+Cj4gPiA+IFN0w6lwaGFuZSBNYXJjaGVzaW4gKDEpOgo+ID4g PiAgICAgICBkcm0vaTkxNTogRml4IGNyYXNoIGluIGF1dG9fcmV0aXJlCj4gPiA+Cj4gPiA+IFN3 YXRoaSBEaGFuYXZhbnRocmkgKDEpOgo+ID4gPiAgICAgICBkcm0vaTkxNTogQWRkIFdhXzE0MDEx MDYwNjQ5Cj4gPiA+Cj4gPiA+IFRob21hcyBaaW1tZXJtYW5uICgxKToKPiA+ID4gICAgICAgZHJt L2k5MTUvZ2VtOiBSZW1vdmUgcmVmZXJlbmNlIHRvIHN0cnVjdCBkcm1fZGV2aWNlLnBkZXYKPiA+ ID4KPiA+ID4gVHZydGtvIFVyc3VsaW4gKDYpOgo+ID4gPiAgICAgICBkcm0vaTkxNTogVGFrZSBy ZXF1ZXN0IHJlZmVyZW5jZSBiZWZvcmUgYXJtaW5nIHRoZSB3YXRjaGRvZyB0aW1lcgo+ID4gPiAg ICAgICBkcm0vaTkxNS9wbXU6IENoZWNrIGFjdHVhbCBSQzYgc3RhdHVzCj4gPiA+ICAgICAgIGRy bS9pOTE1L292ZXJsYXk6IEZpeCBhY3RpdmUgcmV0aXJlIGNhbGxiYWNrIGFsaWdubWVudAo+ID4g PiAgICAgICBkcm0vaTkxNS9zZWxmdGVzdHM6IEZpeCBhY3RpdmUgcmV0aXJlIGNhbGxiYWNrIGFs aWdubWVudAo+ID4gPiAgICAgICBkcm0vaTkxNTogRHJvcCBkdXBsaWNhdGUgV2FEaXNhYmxlNHgy U3Vic3Bhbk9wdGltaXphdGlvbjpoc3cKPiA+ID4gICAgICAgZHJtL2k5MTUvcGFyYW1zOiBBbGln biB2aXNpYmlsaXR5IG9mIGRldmljZSBsZXZlbCBhbmQgZ2xvYmFsIG1vZHBhcmFtcwo+ID4gPgo+ ID4gPiBWZW5rYXRhIFJhbWFuYSBOYXlhbmEgKDEpOgo+ID4gPiAgICAgICBkcm0vaTkxNS9kZzE6 IEZpeCBtYXBwaW5nIHR5cGUgZm9yIGRlZmF1bHQgc3RhdGUgb2JqZWN0Cj4gPiA+Cj4gPiA+IFZl bmthdGEgU2FuZGVlcCBEaGFuYWxha290YSAoMSk6Cj4gPiA+ICAgICAgIGRybS9pOTE1OiBVcGRh dGUgdGhlIGhlbHBlciB0byBzZXQgY29ycmVjdCBtYXBwaW5nCj4gPiA+Cj4gPiA+IFZpbGxlIFN5 cmrDpGzDpCAoMyk6Cj4gPiA+ICAgICAgIGRybS9pOTE1OiBBdm9pZCBkaXYtYnktemVybyBvbiBn ZW4yCj4gPiA+ICAgICAgIGRybS9pOTE1OiBSZWFkIEMwRFJCMy9DMURSQjMgYXMgMTYgYml0cyBh Z2Fpbgo+ID4gPiAgICAgICBkcm0vaTkxNTogR2l2ZSBDMERSQjMvQzFEUkIzIGEgX0JXIHN1ZmZp eAo+ID4gPgo+ID4gPiB3ZW5namlhbmZlbmcgKDEpOgo+ID4gPiAgICAgICBkcm0vaTkxNS9ndDog Zml4IHR5cG8gaXNzdWUKPiA+ID4KPiA+ID4gIERvY3VtZW50YXRpb24vZ3B1L2RyaXZlci11YXBp LnJzdCAgICAgICAgICAgICAgICAgIHwgICA4ICsKPiA+ID4gIERvY3VtZW50YXRpb24vZ3B1L2lu ZGV4LnJzdCAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxICsKPiA+ID4gIERvY3VtZW50YXRp b24vZ3B1L3JmYy9pOTE1X2dlbV9sbWVtLnJzdCAgICAgICAgICAgIHwgMTMxICsrKysrKysKPiA+ ID4gIERvY3VtZW50YXRpb24vZ3B1L3JmYy9pbmRleC5yc3QgICAgICAgICAgICAgICAgICAgIHwg ICA0ICsKPiA+ID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5j ICAgICAgIHwgIDEwICsKPiA+ID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxf ZmJkZXYuYyAgICAgICAgIHwgIDUxICsrLQo+ID4gPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlz cGxheS9pbnRlbF9mcm9udGJ1ZmZlci5jICAgfCAgIDQgKy0KPiA+ID4gIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2Rpc3BsYXkvaW50ZWxfb3ZlcmxheS5jICAgICAgIHwgICA1ICstCj4gPiA+ICBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fY29udGV4dC5jICAgICAgICB8ICAgMyArLQo+ ID4gPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX2NyZWF0ZS5jICAgICAgICAg fCAzNDUgKysrKysrKysrKysrKysrKy0tCj4gPiA+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0v aTkxNV9nZW1faW9jdGxzLmggICAgICAgICB8ICAgMiArCj4gPiA+ICBkcml2ZXJzL2dwdS9kcm0v aTkxNS9nZW0vaTkxNV9nZW1fbG1lbS5jICAgICAgICAgICB8ICAyMCArLQo+ID4gPiAgZHJpdmVy cy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX2xtZW0uaCAgICAgICAgICAgfCAgIDUgKwo+ID4g PiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX21tYW4uYyAgICAgICAgICAgfCAg IDIgKy0KPiA+ID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9vYmplY3QuYyAg ICAgICAgIHwgICAzICsKPiA+ID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9v YmplY3RfdHlwZXMuaCAgIHwgIDE0ICstCj4gPiA+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0v aTkxNV9nZW1fcGFnZXMuYyAgICAgICAgICB8ICAgMiArCj4gPiA+ICBkcml2ZXJzL2dwdS9kcm0v aTkxNS9nZW0vaTkxNV9nZW1fcmVnaW9uLmMgICAgICAgICB8ICAyMiArKwo+ID4gPiAgZHJpdmVy cy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX3Nocmlua2VyLmMgICAgICAgfCAgMTQgKy0KPiA+ ID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9zdG9sZW4uYyAgICAgICAgIHwg MTU5ICsrKysrKystLQo+ID4gPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX3N0 b2xlbi5oICAgICAgICAgfCAgIDMgKy0KPiA+ID4gIC4uLi9ncHUvZHJtL2k5MTUvZ2VtL3NlbGZ0 ZXN0cy9pOTE1X2dlbV9jb250ZXh0LmMgIHwgIDExICstCj4gPiA+ICBkcml2ZXJzL2dwdS9kcm0v aTkxNS9nZW0vc2VsZnRlc3RzL2k5MTVfZ2VtX21tYW4uYyB8ICAyNiArKwo+ID4gPiAgZHJpdmVy cy9ncHUvZHJtL2k5MTUvZ3QvZ2VuNl9wcGd0dC5jICAgICAgICAgICAgICAgfCAgMTMgKy0KPiA+ ID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2dlbjhfcHBndHQuYyAgICAgICAgICAgICAgIHwg IDMyICstCj4gPiA+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9jb250ZXh0LmMgICAg ICAgICAgICB8ICAgMyArLQo+ID4gPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZW5n aW5lLmggICAgICAgICAgICAgfCAgIDggKy0KPiA+ID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d0 L2ludGVsX2VuZ2luZV9jcy5jICAgICAgICAgIHwgIDIxICstCj4gPiA+ICBkcml2ZXJzL2dwdS9k cm0vaTkxNS9ndC9pbnRlbF9lbmdpbmVfcG0uYyAgICAgICAgICB8ICAgMiArLQo+ID4gPiAgZHJp dmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZW5naW5lX3R5cGVzLmggICAgICAgfCAgMTQgKy0K PiA+ID4gIC4uLi9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZXhlY2xpc3RzX3N1Ym1pc3Npb24uYyAg IHwgIDk1ICsrKy0tCj4gPiA+ICAuLi4vZ3B1L2RybS9pOTE1L2d0L2ludGVsX2V4ZWNsaXN0c19z dWJtaXNzaW9uLmggICB8ICAgMyAtCj4gPiA+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRl bF9nZ3R0LmMgICAgICAgICAgICAgICB8ICAxMCArLQo+ID4gPiAgZHJpdmVycy9ncHUvZHJtL2k5 MTUvZ3QvaW50ZWxfZ2d0dF9mZW5jaW5nLmMgICAgICAgfCAgIDYgKy0KPiA+ID4gIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2d0L2ludGVsX2d0X2J1ZmZlcl9wb29sLmMgICAgIHwgICAzICstCj4gPiA+ ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9ndF9pcnEuYyAgICAgICAgICAgICB8ICA4 MiArKy0tLQo+ID4gPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZ3RfaXJxLmggICAg ICAgICAgICAgfCAgMjMgKysKPiA+ID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2d0 X3R5cGVzLmggICAgICAgICAgIHwgICA3ICsKPiA+ID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d0 L2ludGVsX2d0dC5jICAgICAgICAgICAgICAgIHwgIDkxICsrKy0tCj4gPiA+ICBkcml2ZXJzL2dw dS9kcm0vaTkxNS9ndC9pbnRlbF9ndHQuaCAgICAgICAgICAgICAgICB8ICAxMiArLQo+ID4gPiAg ZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfbHJjLmMgICAgICAgICAgICAgICAgfCAgIDQg Ky0KPiA+ID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX3BwZ3R0LmMgICAgICAgICAg ICAgIHwgICA3ICstCj4gPiA+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9yZXNldC5j ICAgICAgICAgICAgICB8IDIwMSArKysrKysrLS0tLQo+ID4gPiAgZHJpdmVycy9ncHUvZHJtL2k5 MTUvZ3QvaW50ZWxfcmluZy5jICAgICAgICAgICAgICAgfCAgMTEgKy0KPiA+ID4gIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2d0L2ludGVsX3Jpbmdfc3VibWlzc2lvbi5jICAgIHwgIDEyICstCj4gPiA+ ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9ycHMuYyAgICAgICAgICAgICAgICB8ICAg MiArLQo+ID4gPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfdGltZWxpbmUuYyAgICAg ICAgICAgfCAgIDQgKy0KPiA+ID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX3dvcmth cm91bmRzLmMgICAgICAgIHwgMTAwICsrKystLQo+ID4gPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUv Z3QvbW9ja19lbmdpbmUuYyAgICAgICAgICAgICAgfCAgIDIgKy0KPiA+ID4gIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2d0L3NlbGZ0ZXN0X2NvbnRleHQuYyAgICAgICAgIHwgICAzICstCj4gPiA+ICAu Li4vZ3B1L2RybS9pOTE1L2d0L3NlbGZ0ZXN0X2VuZ2luZV9oZWFydGJlYXQuYyAgICB8ICAgMiAr LQo+ID4gPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Qvc2VsZnRlc3RfZXhlY2xpc3RzLmMgICAg ICAgfCAgIDIgKy0KPiA+ID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3NlbGZ0ZXN0X2hhbmdj aGVjay5jICAgICAgIHwgICA0ICstCj4gPiA+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9zZWxm dGVzdF9scmMuYyAgICAgICAgICAgICB8ICAgNCArLQo+ID4gPiAgZHJpdmVycy9ncHUvZHJtL2k5 MTUvZ3Qvc2VsZnRlc3RfcmM2LmMgICAgICAgICAgICAgfCAgMzIgKy0KPiA+ID4gIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2d0L3NlbGZ0ZXN0X3Jpbmdfc3VibWlzc2lvbi5jIHwgICAyICstCj4gPiA+ ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9zZWxmdGVzdF9ycHMuYyAgICAgICAgICAgICB8ICAg NiArLQo+ID4gPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Qvc2htZW1fdXRpbHMuYyAgICAgICAg ICAgICAgfCAgIDQgKy0KPiA+ID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3VjL2ludGVsX2d1 Yy5jICAgICAgICAgICAgIHwgICA0ICstCj4gPiA+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC91 Yy9pbnRlbF9ndWNfc3VibWlzc2lvbi5jICB8ICA2NCArKy0tCj4gPiA+ICBkcml2ZXJzL2dwdS9k cm0vaTkxNS9ndC91Yy9pbnRlbF9ndWNfc3VibWlzc2lvbi5oICB8ICAgMSAtCj4gPiA+ICBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9ndC91Yy9pbnRlbF9odWMuYyAgICAgICAgICAgICB8ICAgNCArLQo+ ID4gPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9hY3RpdmUuYyAgICAgICAgICAgICAgICAg fCAgMTEgKy0KPiA+ID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfYWN0aXZlLmggICAgICAg ICAgICAgICAgIHwgIDExICstCj4gPiA+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2FjdGl2 ZV90eXBlcy5oICAgICAgICAgICB8ICAgNSAtCj4gPiA+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2NtZF9wYXJzZXIuYyAgICAgICAgICAgICB8ICAxOCArLQo+ID4gPiAgZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMgICAgICAgICAgICAgICAgfCAgIDQgKy0KPiA+ID4gIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMgICAgICAgICAgICAgICAgICAgIHwgICAxICsK PiA+ID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggICAgICAgICAgICAgICAgICAg IHwgIDI5ICstCj4gPiA+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jICAgICAgICAg ICAgICAgICAgICB8ICAyNSArLQo+ID4gPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEu YyAgICAgICAgICAgICAgICAgICAgfCAgMTAgKy0KPiA+ID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfcGFyYW1zLmggICAgICAgICAgICAgICAgIHwgICA4ICstCj4gPiA+ICBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X3BjaS5jICAgICAgICAgICAgICAgICAgICB8ICAgMiArLQo+ID4gPiAg ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wZXJmLmMgICAgICAgICAgICAgICAgICAgfCAgMTAg Ky0KPiA+ID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcG11LmMgICAgICAgICAgICAgICAg ICAgIHwgICA0ICstCj4gPiA+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3F1ZXJ5LmMgICAg ICAgICAgICAgICAgICB8ICA2MiArKysrCj4gPiA+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X3JlZy5oICAgICAgICAgICAgICAgICAgICB8ICAxNyArLQo+ID4gPiAgZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9yZXF1ZXN0LmMgICAgICAgICAgICAgICAgfCAgIDUgKy0KPiA+ID4gIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfdm1hLmMgICAgICAgICAgICAgICAgICAgIHwgIDMxICstCj4g PiA+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9tZW1vcnlfcmVnaW9uLmMgICAgICAgICB8 ICAyOSArLQo+ID4gPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbWVtb3J5X3JlZ2lvbi5o ICAgICAgICAgfCAgMTggKy0KPiA+ID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3VuY29y ZS5jICAgICAgICAgICAgICAgIHwgIDEyICsKPiA+ID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L3Nl bGZ0ZXN0cy9pOTE1X2FjdGl2ZS5jICAgICAgIHwgICAyICstCj4gPiA+ICBkcml2ZXJzL2dwdS9k cm0vaTkxNS9zZWxmdGVzdHMvaTkxNV9nZW0uYyAgICAgICAgICB8ICAyMCArLQo+ID4gPiAgZHJp dmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2k5MTVfZ2VtX2d0dC5jICAgICAgfCAgMTAgKy0K PiA+ID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X3BlcmYuYyAgICAgICAg IHwgICAzICstCj4gPiA+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaTkxNV92bWEu YyAgICAgICAgICB8ICAgMyArCj4gPiA+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMv aWd0X3NwaW5uZXIuYyAgICAgICB8ICAgNCArLQo+ID4gPiAgLi4uL2dwdS9kcm0vaTkxNS9zZWxm dGVzdHMvaW50ZWxfbWVtb3J5X3JlZ2lvbi5jICAgfCAgODcgKysrKy0KPiA+ID4gIGRyaXZlcnMv Z3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9saWJyYXBsLmMgICAgICAgICAgIHwgIDEwICsKPiA+ID4g IGRyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9saWJyYXBsLmggICAgICAgICAgIHwgICA0 ICsKPiA+ID4gIGluY2x1ZGUvdWFwaS9kcm0vaTkxNV9kcm0uaCAgICAgICAgICAgICAgICAgICAg ICAgIHwgMzkzICsrKysrKysrKysrKysrKysrKystLQo+ID4gPiAgOTIgZmlsZXMgY2hhbmdlZCwg MjAxOCBpbnNlcnRpb25zKCspLCA1NzUgZGVsZXRpb25zKC0pCj4gPiA+ICBjcmVhdGUgbW9kZSAx MDA2NDQgRG9jdW1lbnRhdGlvbi9ncHUvZHJpdmVyLXVhcGkucnN0Cj4gPiA+ICBjcmVhdGUgbW9k ZSAxMDA2NDQgRG9jdW1lbnRhdGlvbi9ncHUvcmZjL2k5MTVfZ2VtX2xtZW0ucnN0Cl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5n IGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVk ZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=