Received: by 2002:a25:4158:0:0:0:0:0 with SMTP id o85csp1434083yba; Thu, 4 Apr 2019 10:37:37 -0700 (PDT) X-Google-Smtp-Source: APXvYqxKAFnoD8O32RG8UUPUUGDjYn+ZhJKgdnvYZQKxmV+3JPM4J7yv7r4vIqJyPsyb+8m560dC X-Received: by 2002:a17:902:be18:: with SMTP id r24mr7617307pls.69.1554399457203; Thu, 04 Apr 2019 10:37:37 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1554399457; cv=none; d=google.com; s=arc-20160816; b=zNW6S723gh1G5iTX6Ll8CKTXX7gYoOc/AXNNzyLrRR4mg6UEYwDg4u0xx8XjViRyvy 0gX5bXtj87OUUV5cRnAlMGgZhwa//5rTtYlNImVyj2m1ByfCvsGUptw9PplfWXVkHa9C ArwSsVlfO2rjSmilxrBgIfctIghxbVq7YXguRc/zkTa0rEYHvV6OuhhNv9miTU/O7rRs VhBXKt6OwxA2cFI4ADGuDeECtNmBJz6nNDtSyO5HwBNXGi/X8Lm+2vGGKfu+gJxvon0J NBT6oE+r4EH1lmlqLLyQhF3muBQoA1TC8ESdVWU+vREJcmC3idnhVBk0gKkRrMW4U8Y2 KRwA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=wn+kHohmLrQg0SA0pO8sa6eaVA6B7Q/xwZS9G+IgtCM=; b=rb3HMpk1+cXL6WgzCyWSmcGZ1vqqy/3MypVxsvQwiFe0DTnicwrIgENhty61Epzldx JimzEoC/k4RFWIoh868IefUwxJMcpOTOO6GugSr5kP3r3fFtNvQLjDVsV3PFYkgWmbGq 3OyVtPF+TXyiQBIxZJ70tIaqZ4hSXEAEcyIvZi7baLPkS2B5BPhutIWI0YDh+Xd7+oHp IuH2uO5VWnJ8DrEpuRORXXh7Sl+ObjH8F5ToIbAUkP9J0zmIoJPCU8/ZjoAnZldB3VHI EZS7zkMt0BEY0YyLAMYlZoHd6AJQANS1yBv5zk1Tv5nK0pLjOBjTPxjGdI1GDk3bbMr+ kb6w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@mbuki-mvuki-org.20150623.gappssmtp.com header.s=20150623 header.b=OlCdnREo; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 5si17410188pls.293.2019.04.04.10.37.21; Thu, 04 Apr 2019 10:37:37 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@mbuki-mvuki-org.20150623.gappssmtp.com header.s=20150623 header.b=OlCdnREo; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729158AbfDDRgl (ORCPT + 99 others); Thu, 4 Apr 2019 13:36:41 -0400 Received: from mail-wm1-f68.google.com ([209.85.128.68]:38161 "EHLO mail-wm1-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726790AbfDDRgl (ORCPT ); Thu, 4 Apr 2019 13:36:41 -0400 Received: by mail-wm1-f68.google.com with SMTP id w15so4392606wmc.3 for ; Thu, 04 Apr 2019 10:36:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mbuki-mvuki-org.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=wn+kHohmLrQg0SA0pO8sa6eaVA6B7Q/xwZS9G+IgtCM=; b=OlCdnREoWuQASLLSN72GKkGf4yw48N5jL82koFv271Jsh5kN2hJ38MllSvsCntcgz9 GfqTKEY/HWk4KC5buUyEvvVwOte03iTXDdbjqxpn+MuUSi3eSoW5BasTeOjyF+zbDPLB 9avy/PNbt1jecTzWUSgolnfWNF2m6U6UPtqR/sj1wz92CQS5ukJ5/KLlA+WqOkF2MuR0 T0bN5mtHBP1ZbhROrj24p6gnFpgpFAIqmtxLtX3rLDrHM8xsrOPWcfBHEsJzGzGbUqYY n4UqAhaeu6LgOfqkRxbMU61ixiaeOT7K/DDLn+lD+ej3K5ie+tOYAKsCElwvQIQX529C an9A== 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; bh=wn+kHohmLrQg0SA0pO8sa6eaVA6B7Q/xwZS9G+IgtCM=; b=MGFyMFzA+rWUCvA0/K4lfKjiYDfrQzYWXRrozZvJd7/Ush5uMLBFA8nB6dxyMvgDaH exZzx2oU5/MKWRnM2uJbDz8JU0OGNkjJRFSAzh3F0MYjyo4YQQxqbLkJusJuvE46U8G8 MtOsDfaBDdx5agQjYAtGqoPcgIr0DBAqIuoc5PUAStBTbEIKZ+/l0qqHLBtfUpyldj5I fi753+5w9mK0VHRQ0GPG49yLYnUwY8t0Ptfrq8c6qnTGNg3krpY+sktP6R0GMWqkefiX LXMM4+Ls9Ax26zzufhhh8kzmwjdsyNf6PJbv1R/dNVp5nLXoFLLDXmAUzCEQEBPfVu2U y6og== X-Gm-Message-State: APjAAAWkaHpaWqfdPqjFX0uIT+U6OGiq37oSpWfl6+fZw7Hbqyi6A0pK BrHlVFbNw6Qscst3zyzde8DE6C9SsdPTCnUGOlwPLg== X-Received: by 2002:a1c:6587:: with SMTP id z129mr5070036wmb.84.1554399393160; Thu, 04 Apr 2019 10:36:33 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Jesse Hathaway Date: Thu, 4 Apr 2019 12:36:22 -0500 Message-ID: Subject: Re: Regression causes a hang on boot with a Comtrol PCI card To: Alan Stern Cc: Bjorn Helgaas , Ingo Molnar , Peter Zijlstra , linux-kernel@vger.kernel.org, linux-pci@vger.kernel.org, Mathias Nyman , Greg Kroah-Hartman , linux-usb@vger.kernel.org Content-Type: multipart/mixed; boundary="000000000000ab51c30585b7cf23" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --000000000000ab51c30585b7cf23 Content-Type: text/plain; charset="UTF-8" On Thu, Apr 4, 2019 at 12:16 PM Alan Stern wrote: > > I added debug statements to quirk_usb_early_handoff, quirk_usb_disable_ehci & > > ehci_bios_handoff. The box hangs right before calling: > > > > pci_write_config_byte(pdev, offset + 3, 1); > > Right _before_ that line? Not _after_ it? Sorry I should have been more precise, it hangs executing the above pci_write_config_function. I get the debug printk immediately preceding that line. > That's surprising because the two preceding lines of code are the > condition of an "if" statement and a dev_dbg() call. I don't see how > either of them could cause a hang. > > Maybe the hang is a delayed reaction to something happening somewhere > else. But on the assumption that it isn't, you could try commenting > out various parts of ehci_bios_handoff to see which ones make a > difference. will do > > which is in ehci_bios_handoff: > > > > [ 10.698240] DEBUG: Passed quirk_usb_early_handoff 1300 > > [ 10.704271] DEBUG: Passed quirk_usb_early_handoff 1308 > > [ 10.710206] DEBUG: Passed quirk_usb_disable_ehci 939 > > [ 10.715949] DEBUG: Passed quirk_usb_disable_ehci 945 > > [ 10.721685] DEBUG: Passed quirk_usb_disable_ehci 950 > > [ 10.727423] DEBUG: Passed quirk_usb_disable_ehci 958 > > [ 10.733160] DEBUG: Passed quirk_usb_disable_ehci 964 > > [ 10.738897] DEBUG: Passed quirk_usb_disable_ehci 968 > > [ 10.744633] DEBUG: Passed ehci_bios_handoff 849 > > [ 10.749884] DEBUG: Passed ehci_bios_handoff 884 > > > > I have attached the debug output, and my modified pci-quirks.c file > > to the bug report, let me know what else I can do to help. sorry I attached them to the bug report, but I have attached them to this email as well. --000000000000ab51c30585b7cf23 Content-Type: text/x-log; charset="US-ASCII"; name="initcall_debug_printk.log" Content-Disposition: attachment; filename="initcall_debug_printk.log" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_ju2x8mw20 TG9hZGluZyBMaW51eCA1LjAuMC1idDktYW1kNjQgLi4uCkxvYWRpbmcgaW5pdGlhbCByYW1kaXNr IC4uLgpbICAgIDAuMDAwMDAwXSBMaW51eCB2ZXJzaW9uIDUuMC4wLWJ0OS1hbWQ2NCAocm9vdEA0 MWE5NjZlMTJjNDApIChnY2MgdmVyc2lvbiA2LjMuMCAyMDE3MDUxNiAoRGViaWFuIDYuMy4wLTE4 K2RlYjl1MSkpICMxIFNNUCBXZWQgQXByIDMgMjE6NDM6MjMgVVRDIDIwMTkKWyAgICAwLjAwMDAw MF0gQ29tbWFuZCBsaW5lOiBCT09UX0lNQUdFPS92bWxpbnV6LTUuMC4wLWJ0OS1hbWQ2NCByb290 PS9kZXYvbWFwcGVyL3ZnMC1yb290IHJvIGNvbnNvbGU9dHR5MCBjb25zb2xlPXR0eVMwLDExNTIw MG44ClsgICAgMC4wMDAwMDBdIHg4Ni9mcHU6IFN1cHBvcnRpbmcgWFNBVkUgZmVhdHVyZSAweDAw MTogJ3g4NyBmbG9hdGluZyBwb2ludCByZWdpc3RlcnMnClsgICAgMC4wMDAwMDBdIHg4Ni9mcHU6 IFN1cHBvcnRpbmcgWFNBVkUgZmVhdHVyZSAweDAwMjogJ1NTRSByZWdpc3RlcnMnClsgICAgMC4w MDAwMDBdIHg4Ni9mcHU6IFN1cHBvcnRpbmcgWFNBVkUgZmVhdHVyZSAweDAwNDogJ0FWWCByZWdp c3RlcnMnClsgICAgMC4wMDAwMDBdIHg4Ni9mcHU6IHhzdGF0ZV9vZmZzZXRbMl06ICA1NzYsIHhz dGF0ZV9zaXplc1syXTogIDI1NgpbICAgIDAuMDAwMDAwXSB4ODYvZnB1OiBFbmFibGVkIHhzdGF0 ZSBmZWF0dXJlcyAweDcsIGNvbnRleHQgc2l6ZSBpcyA4MzIgYnl0ZXMsIHVzaW5nICdzdGFuZGFy ZCcgZm9ybWF0LgpbICAgIDAuMDAwMDAwXSBCSU9TLXByb3ZpZGVkIHBoeXNpY2FsIFJBTSBtYXA6 ClsgICAgMC4wMDAwMDBdIEJJT1MtZTgyMDogW21lbSAweDAwMDAwMDAwMDAwMDAwMDAtMHgwMDAw MDAwMDAwMDliZmZmXSB1c2FibGUKWyAgICAwLjAwMDAwMF0gQklPUy1lODIwOiBbbWVtIDB4MDAw MDAwMDAwMDA5YzAwMC0weDAwMDAwMDAwMDAwOWZmZmZdIHJlc2VydmVkClsgICAgMC4wMDAwMDBd IEJJT1MtZTgyMDogW21lbSAweDAwMDAwMDAwMDAwZTAwMDAtMHgwMDAwMDAwMDAwMGZmZmZmXSBy ZXNlcnZlZApbICAgIDAuMDAwMDAwXSBCSU9TLWU4MjA6IFttZW0gMHgwMDAwMDAwMDAwMTAwMDAw LTB4MDAwMDAwMDA3YTI4OGZmZl0gdXNhYmxlClsgICAgMC4wMDAwMDBdIEJJT1MtZTgyMDogW21l bSAweDAwMDAwMDAwN2EyODkwMDAtMHgwMDAwMDAwMDdhZjBhZmZmXSByZXNlcnZlZApbICAgIDAu MDAwMDAwXSBCSU9TLWU4MjA6IFttZW0gMHgwMDAwMDAwMDdhZjBiMDAwLTB4MDAwMDAwMDA3Yjkz YWZmZl0gQUNQSSBOVlMKWyAgICAwLjAwMDAwMF0gQklPUy1lODIwOiBbbWVtIDB4MDAwMDAwMDA3 YjkzYjAwMC0weDAwMDAwMDAwN2JhYjRmZmZdIEFDUEkgZGF0YQpbICAgIDAuMDAwMDAwXSBCSU9T LWU4MjA6IFttZW0gMHgwMDAwMDAwMDdiYWI1MDAwLTB4MDAwMDAwMDA3YmFlOGZmZl0gdXNhYmxl ClsgICAgMC4wMDAwMDBdIEJJT1MtZTgyMDogW21lbSAweDAwMDAwMDAwN2JhZTkwMDAtMHgwMDAw MDAwMDdiYWZlZmZmXSBBQ1BJIGRhdGEKWyAgICAwLjAwMDAwMF0gQklPUy1lODIwOiBbbWVtIDB4 MDAwMDAwMDA3YmFmZjAwMC0weDAwMDAwMDAwN2JhZmZmZmZdIHVzYWJsZQpbICAgIDAuMDAwMDAw XSBCSU9TLWU4MjA6IFttZW0gMHgwMDAwMDAwMDdiYjAwMDAwLTB4MDAwMDAwMDA4ZmZmZmZmZl0g cmVzZXJ2ZWQKWyAgICAwLjAwMDAwMF0gQklPUy1lODIwOiBbbWVtIDB4MDAwMDAwMDBmZWRhODAw MC0weDAwMDAwMDAwZmVkYWJmZmZdIHJlc2VydmVkClsgICAgMC4wMDAwMDBdIEJJT1MtZTgyMDog W21lbSAweDAwMDAwMDAwZmYzMTAwMDAtMHgwMDAwMDAwMGZmZmZmZmZmXSByZXNlcnZlZApbICAg IDAuMDAwMDAwXSBCSU9TLWU4MjA6IFttZW0gMHgwMDAwMDAwMTAwMDAwMDAwLTB4MDAwMDAwODA3 ZmZmZmZmZl0gdXNhYmxlClsgICAgMC4wMDAwMDBdIE5YIChFeGVjdXRlIERpc2FibGUpIHByb3Rl Y3Rpb246IGFjdGl2ZQpbICAgIDAuMDAwMDAwXSBTTUJJT1MgMi44IHByZXNlbnQuClsgICAgMC4w MDAwMDBdIERNSTogRGVsbCBJbmMuIFBvd2VyRWRnZSBSNjMwLzBDTkNKVywgQklPUyAyLjguMCAw MDUvMTcvMjAxOApbICAgIDAuMDAwMDAwXSB0c2M6IEZhc3QgVFNDIGNhbGlicmF0aW9uIHVzaW5n IFBJVApbICAgIDAuMDAwMDAwXSB0c2M6IERldGVjdGVkIDIzMDAuMDE1IE1IeiBwcm9jZXNzb3IK WyAgICAwLjAwMjE2M10gbGFzdF9wZm4gPSAweDgwODAwMDAgbWF4X2FyY2hfcGZuID0gMHg0MDAw MDAwMDAKWyAgICAwLjAwNTM0NV0geDg2L1BBVDogQ29uZmlndXJhdGlvbiBbMC03XTogV0IgIFdD ICBVQy0gVUMgIFdCICBXUCAgVUMtIFdUClsgICAgMC4wMDU4OThdIHgyYXBpYzogZW5hYmxlZCBi eSBCSU9TLCBzd2l0Y2hpbmcgdG8geDJhcGljIG9wcwpbICAgIDAuMDA1OTAyXSBsYXN0X3BmbiA9 IDB4N2JiMDAgbWF4X2FyY2hfcGZuID0gMHg0MDAwMDAwMDAKWyAgICAwLjAxMzM4M10gVXNpbmcg R0IgcGFnZXMgZm9yIGRpcmVjdCBtYXBwaW5nClsgICAgMC4wMTM1NzJdIFJBTURJU0s6IFttZW0g MHgzNTNiOTAwMC0weDM2OWQzZmZmXQpbICAgIDAuMDEzNTc4XSBBQ1BJOiBFYXJseSB0YWJsZSBj aGVja3N1bSB2ZXJpZmljYXRpb24gZGlzYWJsZWQKWyAgICAwLjAxMzYzNl0gQUNQSTogUlNEUCAw eDAwMDAwMDAwMDAwRkUzMjAgMDAwMDI0ICh2MDIgREVMTCAgKQpbICAgIDAuMDEzNjQwXSBBQ1BJ OiBYU0RUIDB4MDAwMDAwMDA3QkFCMzBFOCAwMDAwQzQgKHYwMSBERUxMICAgUEVfU0MzICAgMDAw MDAwMDAgICAgICAwMTAwMDAxMykKWyAgICAwLjAxMzY0Nl0gQUNQSTogRkFDUCAweDAwMDAwMDAw N0JBQUYwMDAgMDAwMEY0ICh2MDQgREVMTCAgIFBFX1NDMyAgIDAwMDAwMDAwIERFTEwgMDAwMDAw MDEpClsgICAgMC4wMTM2NTBdIEFDUEk6IERTRFQgMHgwMDAwMDAwMDdCQTk1MDAwIDAxMDc3NyAo djAyIERFTEwgICBQRV9TQzMgICAwMDAwMDAwMyBERUxMIDAwMDAwMDAxKQpbICAgIDAuMDEzNjUz XSBBQ1BJOiBGQUNTIDB4MDAwMDAwMDA3QjgzMzAwMCAwMDAwNDAKWyAgICAwLjAxMzY1NV0gQUNQ STogTUNFSiAweDAwMDAwMDAwN0JBQjIwMDAgMDAwMTMwICh2MDEgSU5URUwgICAgICAgICAgIDAw MDAwMDAxIElOVEwgMDEwMDAwMEQpClsgICAgMC4wMTM2NThdIEFDUEk6IFdEQVQgMHgwMDAwMDAw MDdCQUIxMDAwIDAwMDEzNCAodjAxIERFTEwgICBQRV9TQzMgICAwMDAwMDAwMSBERUxMIDAwMDAw MDAxKQpbICAgIDAuMDEzNjYwXSBBQ1BJOiBTTElDIDB4MDAwMDAwMDA3QkFCMDAwMCAwMDAwMjQg KHYwMSBERUxMICAgUEVfU0MzICAgMDAwMDAwMDEgREVMTCAwMDAwMDAwMSkKWyAgICAwLjAxMzY2 Ml0gQUNQSTogSFBFVCAweDAwMDAwMDAwN0JBQUUwMDAgMDAwMDM4ICh2MDEgREVMTCAgIFBFX1ND MyAgIDAwMDAwMDAxIERFTEwgMDAwMDAwMDEpClsgICAgMC4wMTM2NjRdIEFDUEk6IEFQSUMgMHgw MDAwMDAwMDdCQUFDMDAwIDAwMUZGQyAodjAzIERFTEwgICBQRV9TQzMgICAwMDAwMDAwMCBERUxM IDAwMDAwMDAxKQpbICAgIDAuMDEzNjY2XSBBQ1BJOiBNQ0ZHIDB4MDAwMDAwMDA3QkFBQjAwMCAw MDAwM0MgKHYwMSBERUxMICAgUEVfU0MzICAgMDAwMDAwMDEgREVMTCAwMDAwMDAwMSkKWyAgICAw LjAxMzY2OF0gQUNQSTogTVNDVCAweDAwMDAwMDAwN0JBQUEwMDAgMDAwMDkwICh2MDEgREVMTCAg IFBFX1NDMyAgIDAwMDAwMDAxIERFTEwgMDAwMDAwMDEpClsgICAgMC4wMTM2NzFdIEFDUEk6IFNM SVQgMHgwMDAwMDAwMDdCQUE5MDAwIDAwMDA2QyAodjAxIERFTEwgICBQRV9TQzMgICAwMDAwMDAw MSBERUxMIDAwMDAwMDAxKQpbICAgIDAuMDEzNjczXSBBQ1BJOiBTUkFUIDB4MDAwMDAwMDA3QkFB NjAwMCAwMDIzMzAgKHYwMyBERUxMICAgUEVfU0MzICAgMDAwMDAwMDIgREVMTCAwMDAwMDAwMSkK WyAgICAwLjAxMzY3NV0gQUNQSTogU1NEVCAweDAwMDAwMDAwN0I5NTIwMDAgMTQyNEE5ICh2MDIg REVMTCAgIFBFX1NDMyAgIDAwMDA0MDAwIElOVEwgMjAxMjExMTQpClsgICAgMC4wMTM2NzhdIEFD UEk6IFNTRFQgMHgwMDAwMDAwMDdCOTRGMDAwIDAwMjE3RiAodjAyIERFTEwgICBQRV9TQzMgICAw MDAwMDAwMiBJTlRMIDIwMTIxMTE0KQpbICAgIDAuMDEzNjgwXSBBQ1BJOiBTU0RUIDB4MDAwMDAw MDA3Qjk0RTAwMCAwMDAwNkUgKHYwMiBERUxMICAgUEVfU0MzICAgMDAwMDAwMDIgSU5UTCAyMDEy MTExNCkKWyAgICAwLjAxMzY4Ml0gQUNQSTogUFJBRCAweDAwMDAwMDAwN0I5NEQwMDAgMDAwMTMy ICh2MDIgREVMTCAgIFBFX1NDMyAgIDAwMDAwMDAyIElOVEwgMjAxMjExMTQpClsgICAgMC4wMTM2 ODRdIEFDUEk6IFNQQ1IgMHgwMDAwMDAwMDdCQUZFMDAwIDAwMDA1MCAodjAxICAgICAgICAgICAg ICAgICAwMDAwMDAwMCAgICAgIDAwMDAwMDAwKQpbICAgIDAuMDEzNjg3XSBBQ1BJOiBETUFSIDB4 MDAwMDAwMDA3QkFGRDAwMCAwMDAxMzggKHYwMSBERUxMICAgUEVfU0MzICAgMDAwMDAwMDEgREVM TCAwMDAwMDAwMSkKWyAgICAwLjAxMzY4OV0gQUNQSTogSEVTVCAweDAwMDAwMDAwN0JBRjEwMDAg MDAwMTdDICh2MDEgREVMTCAgIFBFX1NDMyAgIDAwMDAwMDAyIERFTEwgMDAwMDAwMDEpClsgICAg MC4wMTM2OTFdIEFDUEk6IEJFUlQgMHgwMDAwMDAwMDdCQUYwMDAwIDAwMDAzMCAodjAxIERFTEwg ICBQRV9TQzMgICAwMDAwMDAwMiBERUxMIDAwMDAwMDAxKQpbICAgIDAuMDEzNjkzXSBBQ1BJOiBF UlNUIDB4MDAwMDAwMDA3QkFFRjAwMCAwMDAyMzAgKHYwMSBERUxMICAgUEVfU0MzICAgMDAwMDAw MDIgREVMTCAwMDAwMDAwMSkKWyAgICAwLjAxMzY5NV0gQUNQSTogRUlOSiAweDAwMDAwMDAwN0JB RUUwMDAgMDAwMTUwICh2MDEgREVMTCAgIFBFX1NDMyAgIDAwMDAwMDAyIERFTEwgMDAwMDAwMDEp ClsgICAgMC4wMTM3MDVdIFNldHRpbmcgQVBJQyByb3V0aW5nIHRvIGNsdXN0ZXIgeDJhcGljLgpb ICAgIDAuMDEzNzMxXSBTUkFUOiBQWE0gMCAtPiBBUElDIDB4MDAgLT4gTm9kZSAwClsgICAgMC4w MTM3MzJdIFNSQVQ6IFBYTSAxIC0+IEFQSUMgMHgyMCAtPiBOb2RlIDEKWyAgICAwLjAxMzczM10g U1JBVDogUFhNIDAgLT4gQVBJQyAweDAyIC0+IE5vZGUgMApbICAgIDAuMDEzNzMzXSBTUkFUOiBQ WE0gMSAtPiBBUElDIDB4MjIgLT4gTm9kZSAxClsgICAgMC4wMTM3MzRdIFNSQVQ6IFBYTSAwIC0+ IEFQSUMgMHgwNCAtPiBOb2RlIDAKWyAgICAwLjAxMzczNV0gU1JBVDogUFhNIDEgLT4gQVBJQyAw eDI0IC0+IE5vZGUgMQpbICAgIDAuMDEzNzM1XSBTUkFUOiBQWE0gMCAtPiBBUElDIDB4MDYgLT4g Tm9kZSAwClsgICAgMC4wMTM3MzZdIFNSQVQ6IFBYTSAxIC0+IEFQSUMgMHgyNiAtPiBOb2RlIDEK WyAgICAwLjAxMzczNl0gU1JBVDogUFhNIDAgLT4gQVBJQyAweDA4IC0+IE5vZGUgMApbICAgIDAu MDEzNzM3XSBTUkFUOiBQWE0gMSAtPiBBUElDIDB4MjggLT4gTm9kZSAxClsgICAgMC4wMTM3Mzhd IFNSQVQ6IFBYTSAwIC0+IEFQSUMgMHgwYSAtPiBOb2RlIDAKWyAgICAwLjAxMzczOF0gU1JBVDog UFhNIDEgLT4gQVBJQyAweDJhIC0+IE5vZGUgMQpbICAgIDAuMDEzNzM5XSBTUkFUOiBQWE0gMCAt PiBBUElDIDB4MGMgLT4gTm9kZSAwClsgICAgMC4wMTM3NDBdIFNSQVQ6IFBYTSAxIC0+IEFQSUMg MHgyYyAtPiBOb2RlIDEKWyAgICAwLjAxMzc0MF0gU1JBVDogUFhNIDAgLT4gQVBJQyAweDBlIC0+ IE5vZGUgMApbICAgIDAuMDEzNzQxXSBTUkFUOiBQWE0gMSAtPiBBUElDIDB4MmUgLT4gTm9kZSAx ClsgICAgMC4wMTM3NDFdIFNSQVQ6IFBYTSAwIC0+IEFQSUMgMHgxMCAtPiBOb2RlIDAKWyAgICAw LjAxMzc0Ml0gU1JBVDogUFhNIDEgLT4gQVBJQyAweDMwIC0+IE5vZGUgMQpbICAgIDAuMDEzNzQz XSBTUkFUOiBQWE0gMCAtPiBBUElDIDB4MTIgLT4gTm9kZSAwClsgICAgMC4wMTM3NDNdIFNSQVQ6 IFBYTSAxIC0+IEFQSUMgMHgzMiAtPiBOb2RlIDEKWyAgICAwLjAxMzc0NF0gU1JBVDogUFhNIDAg LT4gQVBJQyAweDE0IC0+IE5vZGUgMApbICAgIDAuMDEzNzQ1XSBTUkFUOiBQWE0gMSAtPiBBUElD IDB4MzQgLT4gTm9kZSAxClsgICAgMC4wMTM3NDZdIFNSQVQ6IFBYTSAwIC0+IEFQSUMgMHgxNiAt PiBOb2RlIDAKWyAgICAwLjAxMzc0Nl0gU1JBVDogUFhNIDEgLT4gQVBJQyAweDM2IC0+IE5vZGUg MQpbICAgIDAuMDEzNzQ3XSBTUkFUOiBQWE0gMCAtPiBBUElDIDB4MTggLT4gTm9kZSAwClsgICAg MC4wMTM3NDddIFNSQVQ6IFBYTSAxIC0+IEFQSUMgMHgzOCAtPiBOb2RlIDEKWyAgICAwLjAxMzc0 OF0gU1JBVDogUFhNIDAgLT4gQVBJQyAweDFhIC0+IE5vZGUgMApbICAgIDAuMDEzNzQ5XSBTUkFU OiBQWE0gMSAtPiBBUElDIDB4M2EgLT4gTm9kZSAxClsgICAgMC4wMTM3NDldIFNSQVQ6IFBYTSAw IC0+IEFQSUMgMHgxYyAtPiBOb2RlIDAKWyAgICAwLjAxMzc1MF0gU1JBVDogUFhNIDEgLT4gQVBJ QyAweDNjIC0+IE5vZGUgMQpbICAgIDAuMDEzNzUxXSBTUkFUOiBQWE0gMCAtPiBBUElDIDB4MWUg LT4gTm9kZSAwClsgICAgMC4wMTM3NTFdIFNSQVQ6IFBYTSAxIC0+IEFQSUMgMHgzZSAtPiBOb2Rl IDEKWyAgICAwLjAxMzc1Ml0gU1JBVDogUFhNIDAgLT4gQVBJQyAweDAxIC0+IE5vZGUgMApbICAg IDAuMDEzNzUzXSBTUkFUOiBQWE0gMSAtPiBBUElDIDB4MjEgLT4gTm9kZSAxClsgICAgMC4wMTM3 NTNdIFNSQVQ6IFBYTSAwIC0+IEFQSUMgMHgwMyAtPiBOb2RlIDAKWyAgICAwLjAxMzc1NF0gU1JB VDogUFhNIDEgLT4gQVBJQyAweDIzIC0+IE5vZGUgMQpbICAgIDAuMDEzNzU1XSBTUkFUOiBQWE0g MCAtPiBBUElDIDB4MDUgLT4gTm9kZSAwClsgICAgMC4wMTM3NTVdIFNSQVQ6IFBYTSAxIC0+IEFQ SUMgMHgyNSAtPiBOb2RlIDEKWyAgICAwLjAxMzc1Nl0gU1JBVDogUFhNIDAgLT4gQVBJQyAweDA3 IC0+IE5vZGUgMApbICAgIDAuMDEzNzU3XSBTUkFUOiBQWE0gMSAtPiBBUElDIDB4MjcgLT4gTm9k ZSAxClsgICAgMC4wMTM3NTddIFNSQVQ6IFBYTSAwIC0+IEFQSUMgMHgwOSAtPiBOb2RlIDAKWyAg ICAwLjAxMzc1OF0gU1JBVDogUFhNIDEgLT4gQVBJQyAweDI5IC0+IE5vZGUgMQpbICAgIDAuMDEz NzU4XSBTUkFUOiBQWE0gMCAtPiBBUElDIDB4MGIgLT4gTm9kZSAwClsgICAgMC4wMTM3NTldIFNS QVQ6IFBYTSAxIC0+IEFQSUMgMHgyYiAtPiBOb2RlIDEKWyAgICAwLjAxMzc2MF0gU1JBVDogUFhN IDAgLT4gQVBJQyAweDBkIC0+IE5vZGUgMApbICAgIDAuMDEzNzYwXSBTUkFUOiBQWE0gMSAtPiBB UElDIDB4MmQgLT4gTm9kZSAxClsgICAgMC4wMTM3NjFdIFNSQVQ6IFBYTSAwIC0+IEFQSUMgMHgw ZiAtPiBOb2RlIDAKWyAgICAwLjAxMzc2Ml0gU1JBVDogUFhNIDEgLT4gQVBJQyAweDJmIC0+IE5v ZGUgMQpbICAgIDAuMDEzNzYyXSBTUkFUOiBQWE0gMCAtPiBBUElDIDB4MTEgLT4gTm9kZSAwClsg ICAgMC4wMTM3NjNdIFNSQVQ6IFBYTSAxIC0+IEFQSUMgMHgzMSAtPiBOb2RlIDEKWyAgICAwLjAx Mzc2M10gU1JBVDogUFhNIDAgLT4gQVBJQyAweDEzIC0+IE5vZGUgMApbICAgIDAuMDEzNzY0XSBT UkFUOiBQWE0gMSAtPiBBUElDIDB4MzMgLT4gTm9kZSAxClsgICAgMC4wMTM3NjVdIFNSQVQ6IFBY TSAwIC0+IEFQSUMgMHgxNSAtPiBOb2RlIDAKWyAgICAwLjAxMzc2NV0gU1JBVDogUFhNIDEgLT4g QVBJQyAweDM1IC0+IE5vZGUgMQpbICAgIDAuMDEzNzY2XSBTUkFUOiBQWE0gMCAtPiBBUElDIDB4 MTcgLT4gTm9kZSAwClsgICAgMC4wMTM3NjZdIFNSQVQ6IFBYTSAxIC0+IEFQSUMgMHgzNyAtPiBO b2RlIDEKWyAgICAwLjAxMzc2N10gU1JBVDogUFhNIDAgLT4gQVBJQyAweDE5IC0+IE5vZGUgMApb ICAgIDAuMDEzNzY4XSBTUkFUOiBQWE0gMSAtPiBBUElDIDB4MzkgLT4gTm9kZSAxClsgICAgMC4w MTM3NjhdIFNSQVQ6IFBYTSAwIC0+IEFQSUMgMHgxYiAtPiBOb2RlIDAKWyAgICAwLjAxMzc2OV0g U1JBVDogUFhNIDEgLT4gQVBJQyAweDNiIC0+IE5vZGUgMQpbICAgIDAuMDEzNzcwXSBTUkFUOiBQ WE0gMCAtPiBBUElDIDB4MWQgLT4gTm9kZSAwClsgICAgMC4wMTM3NzBdIFNSQVQ6IFBYTSAxIC0+ IEFQSUMgMHgzZCAtPiBOb2RlIDEKWyAgICAwLjAxMzc3MV0gU1JBVDogUFhNIDAgLT4gQVBJQyAw eDFmIC0+IE5vZGUgMApbICAgIDAuMDEzNzcxXSBTUkFUOiBQWE0gMSAtPiBBUElDIDB4M2YgLT4g Tm9kZSAxClsgICAgMC4wMTM3ODJdIEFDUEk6IFNSQVQ6IE5vZGUgMCBQWE0gMCBbbWVtIDB4MDAw MDAwMDAtMHg0MDdmZmZmZmZmXQpbICAgIDAuMDEzNzgzXSBBQ1BJOiBTUkFUOiBOb2RlIDEgUFhN IDEgW21lbSAweDQwODAwMDAwMDAtMHg4MDdmZmZmZmZmXQpbICAgIDAuMDEzNzkxXSBOT0RFX0RB VEEoMCkgYWxsb2NhdGVkIFttZW0gMHg0MDdmZmZiMDAwLTB4NDA3ZmZmZmZmZl0KWyAgICAwLjAx Mzc5Nl0gTk9ERV9EQVRBKDEpIGFsbG9jYXRlZCBbbWVtIDB4ODA3ZmZmYTAwMC0weDgwN2ZmZmVm ZmZdClsgICAgMC4wMTQyMzJdIFpvbmUgcmFuZ2VzOgpbICAgIDAuMDE0MjMzXSAgIERNQSAgICAg IFttZW0gMHgwMDAwMDAwMDAwMDAxMDAwLTB4MDAwMDAwMDAwMGZmZmZmZl0KWyAgICAwLjAxNDIz NF0gICBETUEzMiAgICBbbWVtIDB4MDAwMDAwMDAwMTAwMDAwMC0weDAwMDAwMDAwZmZmZmZmZmZd ClsgICAgMC4wMTQyMzZdICAgTm9ybWFsICAgW21lbSAweDAwMDAwMDAxMDAwMDAwMDAtMHgwMDAw MDA4MDdmZmZmZmZmXQpbICAgIDAuMDE0MjM3XSAgIERldmljZSAgIGVtcHR5ClsgICAgMC4wMTQy MzhdIE1vdmFibGUgem9uZSBzdGFydCBmb3IgZWFjaCBub2RlClsgICAgMC4wMTQyMzhdIEVhcmx5 IG1lbW9yeSBub2RlIHJhbmdlcwpbICAgIDAuMDE0MjM5XSAgIG5vZGUgICAwOiBbbWVtIDB4MDAw MDAwMDAwMDAwMTAwMC0weDAwMDAwMDAwMDAwOWJmZmZdClsgICAgMC4wMTQyNDBdICAgbm9kZSAg IDA6IFttZW0gMHgwMDAwMDAwMDAwMTAwMDAwLTB4MDAwMDAwMDA3YTI4OGZmZl0KWyAgICAwLjAx NDI0MV0gICBub2RlICAgMDogW21lbSAweDAwMDAwMDAwN2JhYjUwMDAtMHgwMDAwMDAwMDdiYWU4 ZmZmXQpbICAgIDAuMDE0MjQyXSAgIG5vZGUgICAwOiBbbWVtIDB4MDAwMDAwMDA3YmFmZjAwMC0w eDAwMDAwMDAwN2JhZmZmZmZdClsgICAgMC4wMTQyNDNdICAgbm9kZSAgIDA6IFttZW0gMHgwMDAw MDAwMTAwMDAwMDAwLTB4MDAwMDAwNDA3ZmZmZmZmZl0KWyAgICAwLjAxNDI0M10gICBub2RlICAg MTogW21lbSAweDAwMDAwMDQwODAwMDAwMDAtMHgwMDAwMDA4MDdmZmZmZmZmXQpbICAgIDAuMDE0 NjQ0XSBaZXJvZWQgc3RydWN0IHBhZ2UgaW4gdW5hdmFpbGFibGUgcmFuZ2VzOiAyMzk3NSBwYWdl cwpbICAgIDAuMDE0NjQ1XSBJbml0bWVtIHNldHVwIG5vZGUgMCBbbWVtIDB4MDAwMDAwMDAwMDAw MTAwMC0weDAwMDAwMDQwN2ZmZmZmZmZdClsgICAgMS40MDI2MDVdIEluaXRtZW0gc2V0dXAgbm9k ZSAxIFttZW0gMHgwMDAwMDA0MDgwMDAwMDAwLTB4MDAwMDAwODA3ZmZmZmZmZl0KWyAgICAyLjg2 MzExM10gQUNQSTogUE0tVGltZXIgSU8gUG9ydDogMHg0MDgKWyAgICAyLjg2MzE0MF0gQUNQSTog WDJBUElDX05NSSAodWlkWzB4MDBdIGhpZ2ggbGV2ZWwgbGludFsweDFdKQpbICAgIDIuODYzMTQx XSBBQ1BJOiBYMkFQSUNfTk1JICh1aWRbMHgwMV0gaGlnaCBsZXZlbCBsaW50WzB4MV0pClsgICAg Mi44NjMxNDJdIEFDUEk6IFgyQVBJQ19OTUkgKHVpZFsweDAyXSBoaWdoIGxldmVsIGxpbnRbMHgx XSkKWyAgICAyLjg2MzE0Ml0gQUNQSTogWDJBUElDX05NSSAodWlkWzB4MDNdIGhpZ2ggbGV2ZWwg bGludFsweDFdKQpbICAgIDIuODYzMTQzXSBBQ1BJOiBYMkFQSUNfTk1JICh1aWRbMHgwNF0gaGln aCBsZXZlbCBsaW50WzB4MV0pClsgICAgMi44NjMxNDRdIEFDUEk6IFgyQVBJQ19OTUkgKHVpZFsw eDA1XSBoaWdoIGxldmVsIGxpbnRbMHgxXSkKWyAgICAyLjg2MzE0NF0gQUNQSTogWDJBUElDX05N SSAodWlkWzB4MDZdIGhpZ2ggbGV2ZWwgbGludFsweDFdKQpbICAgIDIuODYzMTQ1XSBBQ1BJOiBY MkFQSUNfTk1JICh1aWRbMHgwN10gaGlnaCBsZXZlbCBsaW50WzB4MV0pClsgICAgMi44NjMxNDZd IEFDUEk6IFgyQVBJQ19OTUkgKHVpZFsweDA4XSBoaWdoIGxldmVsIGxpbnRbMHgxXSkKWyAgICAy Ljg2MzE0Nl0gQUNQSTogWDJBUElDX05NSSAodWlkWzB4MDldIGhpZ2ggbGV2ZWwgbGludFsweDFd KQpbICAgIDIuODYzMTQ3XSBBQ1BJOiBYMkFQSUNfTk1JICh1aWRbMHgwYV0gaGlnaCBsZXZlbCBs aW50WzB4MV0pClsgICAgMi44NjMxNDhdIEFDUEk6IFgyQVBJQ19OTUkgKHVpZFsweDBiXSBoaWdo IGxldmVsIGxpbnRbMHgxXSkKWyAgICAyLjg2MzE0OF0gQUNQSTogWDJBUElDX05NSSAodWlkWzB4 MGNdIGhpZ2ggbGV2ZWwgbGludFsweDFdKQpbICAgIDIuODYzMTQ5XSBBQ1BJOiBYMkFQSUNfTk1J ICh1aWRbMHgwZF0gaGlnaCBsZXZlbCBsaW50WzB4MV0pClsgICAgMi44NjMxNDldIEFDUEk6IFgy QVBJQ19OTUkgKHVpZFsweDBlXSBoaWdoIGxldmVsIGxpbnRbMHgxXSkKWyAgICAyLjg2MzE1MF0g QUNQSTogWDJBUElDX05NSSAodWlkWzB4MGZdIGhpZ2ggbGV2ZWwgbGludFsweDFdKQpbICAgIDIu ODYzMTUxXSBBQ1BJOiBYMkFQSUNfTk1JICh1aWRbMHgxMF0gaGlnaCBsZXZlbCBsaW50WzB4MV0p ClsgICAgMi44NjMxNTFdIEFDUEk6IFgyQVBJQ19OTUkgKHVpZFsweDExXSBoaWdoIGxldmVsIGxp bnRbMHgxXSkKWyAgICAyLjg2MzE1Ml0gQUNQSTogWDJBUElDX05NSSAodWlkWzB4MTJdIGhpZ2gg bGV2ZWwgbGludFsweDFdKQpbICAgIDIuODYzMTUzXSBBQ1BJOiBYMkFQSUNfTk1JICh1aWRbMHgx M10gaGlnaCBsZXZlbCBsaW50WzB4MV0pClsgICAgMi44NjMxNTNdIEFDUEk6IFgyQVBJQ19OTUkg KHVpZFsweDE0XSBoaWdoIGxldmVsIGxpbnRbMHgxXSkKWyAgICAyLjg2MzE1NF0gQUNQSTogWDJB UElDX05NSSAodWlkWzB4MTVdIGhpZ2ggbGV2ZWwgbGludFsweDFdKQpbICAgIDIuODYzMTU1XSBB Q1BJOiBYMkFQSUNfTk1JICh1aWRbMHgxNl0gaGlnaCBsZXZlbCBsaW50WzB4MV0pClsgICAgMi44 NjMxNTVdIEFDUEk6IFgyQVBJQ19OTUkgKHVpZFsweDE3XSBoaWdoIGxldmVsIGxpbnRbMHgxXSkK WyAgICAyLjg2MzE1Nl0gQUNQSTogWDJBUElDX05NSSAodWlkWzB4MThdIGhpZ2ggbGV2ZWwgbGlu dFsweDFdKQpbICAgIDIuODYzMTU3XSBBQ1BJOiBYMkFQSUNfTk1JICh1aWRbMHgxOV0gaGlnaCBs ZXZlbCBsaW50WzB4MV0pClsgICAgMi44NjMxNTddIEFDUEk6IFgyQVBJQ19OTUkgKHVpZFsweDFh XSBoaWdoIGxldmVsIGxpbnRbMHgxXSkKWyAgICAyLjg2MzE1OF0gQUNQSTogWDJBUElDX05NSSAo dWlkWzB4MWJdIGhpZ2ggbGV2ZWwgbGludFsweDFdKQpbICAgIDIuODYzMTU5XSBBQ1BJOiBYMkFQ SUNfTk1JICh1aWRbMHgxY10gaGlnaCBsZXZlbCBsaW50WzB4MV0pClsgICAgMi44NjMxNTldIEFD UEk6IFgyQVBJQ19OTUkgKHVpZFsweDFkXSBoaWdoIGxldmVsIGxpbnRbMHgxXSkKWyAgICAyLjg2 MzE2MF0gQUNQSTogWDJBUElDX05NSSAodWlkWzB4MWVdIGhpZ2ggbGV2ZWwgbGludFsweDFdKQpb ICAgIDIuODYzMTYwXSBBQ1BJOiBYMkFQSUNfTk1JICh1aWRbMHgxZl0gaGlnaCBsZXZlbCBsaW50 WzB4MV0pClsgICAgMi44NjMxNjFdIEFDUEk6IFgyQVBJQ19OTUkgKHVpZFsweDIwXSBoaWdoIGxl dmVsIGxpbnRbMHgxXSkKWyAgICAyLjg2MzE2Ml0gQUNQSTogWDJBUElDX05NSSAodWlkWzB4MjFd IGhpZ2ggbGV2ZWwgbGludFsweDFdKQpbICAgIDIuODYzMTYyXSBBQ1BJOiBYMkFQSUNfTk1JICh1 aWRbMHgyMl0gaGlnaCBsZXZlbCBsaW50WzB4MV0pClsgICAgMi44NjMxNjNdIEFDUEk6IFgyQVBJ Q19OTUkgKHVpZFsweDIzXSBoaWdoIGxldmVsIGxpbnRbMHgxXSkKWyAgICAyLjg2MzE2NF0gQUNQ STogWDJBUElDX05NSSAodWlkWzB4MjRdIGhpZ2ggbGV2ZWwgbGludFsweDFdKQpbICAgIDIuODYz MTY0XSBBQ1BJOiBYMkFQSUNfTk1JICh1aWRbMHgyNV0gaGlnaCBsZXZlbCBsaW50WzB4MV0pClsg ICAgMi44NjMxNjVdIEFDUEk6IFgyQVBJQ19OTUkgKHVpZFsweDI2XSBoaWdoIGxldmVsIGxpbnRb MHgxXSkKWyAgICAyLjg2MzE2Nl0gQUNQSTogWDJBUElDX05NSSAodWlkWzB4MjddIGhpZ2ggbGV2 ZWwgbGludFsweDFdKQpbICAgIDIuODYzMTY2XSBBQ1BJOiBYMkFQSUNfTk1JICh1aWRbMHgyOF0g aGlnaCBsZXZlbCBsaW50WzB4MV0pClsgICAgMi44NjMxNjddIEFDUEk6IFgyQVBJQ19OTUkgKHVp ZFsweDI5XSBoaWdoIGxldmVsIGxpbnRbMHgxXSkKWyAgICAyLjg2MzE2OF0gQUNQSTogWDJBUElD X05NSSAodWlkWzB4MmFdIGhpZ2ggbGV2ZWwgbGludFsweDFdKQpbICAgIDIuODYzMTY4XSBBQ1BJ OiBYMkFQSUNfTk1JICh1aWRbMHgyYl0gaGlnaCBsZXZlbCBsaW50WzB4MV0pClsgICAgMi44NjMx NjldIEFDUEk6IFgyQVBJQ19OTUkgKHVpZFsweDJjXSBoaWdoIGxldmVsIGxpbnRbMHgxXSkKWyAg ICAyLjg2MzE2OV0gQUNQSTogWDJBUElDX05NSSAodWlkWzB4MmRdIGhpZ2ggbGV2ZWwgbGludFsw eDFdKQpbICAgIDIuODYzMTcwXSBBQ1BJOiBYMkFQSUNfTk1JICh1aWRbMHgyZV0gaGlnaCBsZXZl bCBsaW50WzB4MV0pClsgICAgMi44NjMxNzFdIEFDUEk6IFgyQVBJQ19OTUkgKHVpZFsweDJmXSBo aWdoIGxldmVsIGxpbnRbMHgxXSkKWyAgICAyLjg2MzE3MV0gQUNQSTogWDJBUElDX05NSSAodWlk WzB4MzBdIGhpZ2ggbGV2ZWwgbGludFsweDFdKQpbICAgIDIuODYzMTcyXSBBQ1BJOiBYMkFQSUNf Tk1JICh1aWRbMHgzMV0gaGlnaCBsZXZlbCBsaW50WzB4MV0pClsgICAgMi44NjMxNzNdIEFDUEk6 IFgyQVBJQ19OTUkgKHVpZFsweDMyXSBoaWdoIGxldmVsIGxpbnRbMHgxXSkKWyAgICAyLjg2MzE3 M10gQUNQSTogWDJBUElDX05NSSAodWlkWzB4MzNdIGhpZ2ggbGV2ZWwgbGludFsweDFdKQpbICAg IDIuODYzMTc0XSBBQ1BJOiBYMkFQSUNfTk1JICh1aWRbMHgzNF0gaGlnaCBsZXZlbCBsaW50WzB4 MV0pClsgICAgMi44NjMxNzVdIEFDUEk6IFgyQVBJQ19OTUkgKHVpZFsweDM1XSBoaWdoIGxldmVs IGxpbnRbMHgxXSkKWyAgICAyLjg2MzE3NV0gQUNQSTogWDJBUElDX05NSSAodWlkWzB4MzZdIGhp Z2ggbGV2ZWwgbGludFsweDFdKQpbICAgIDIuODYzMTc2XSBBQ1BJOiBYMkFQSUNfTk1JICh1aWRb MHgzN10gaGlnaCBsZXZlbCBsaW50WzB4MV0pClsgICAgMi44NjMxNzddIEFDUEk6IFgyQVBJQ19O TUkgKHVpZFsweDM4XSBoaWdoIGxldmVsIGxpbnRbMHgxXSkKWyAgICAyLjg2MzE3N10gQUNQSTog WDJBUElDX05NSSAodWlkWzB4MzldIGhpZ2ggbGV2ZWwgbGludFsweDFdKQpbICAgIDIuODYzMTc4 XSBBQ1BJOiBYMkFQSUNfTk1JICh1aWRbMHgzYV0gaGlnaCBsZXZlbCBsaW50WzB4MV0pClsgICAg Mi44NjMxNzldIEFDUEk6IFgyQVBJQ19OTUkgKHVpZFsweDNiXSBoaWdoIGxldmVsIGxpbnRbMHgx XSkKWyAgICAyLjg2MzE3OV0gQUNQSTogWDJBUElDX05NSSAodWlkWzB4M2NdIGhpZ2ggbGV2ZWwg bGludFsweDFdKQpbICAgIDIuODYzMTgwXSBBQ1BJOiBYMkFQSUNfTk1JICh1aWRbMHgzZF0gaGln aCBsZXZlbCBsaW50WzB4MV0pClsgICAgMi44NjMxODFdIEFDUEk6IFgyQVBJQ19OTUkgKHVpZFsw eDNlXSBoaWdoIGxldmVsIGxpbnRbMHgxXSkKWyAgICAyLjg2MzE4MV0gQUNQSTogWDJBUElDX05N SSAodWlkWzB4M2ZdIGhpZ2ggbGV2ZWwgbGludFsweDFdKQpbICAgIDIuODYzMTgyXSBBQ1BJOiBY MkFQSUNfTk1JICh1aWRbMHg0MF0gaGlnaCBsZXZlbCBsaW50WzB4MV0pClsgICAgMi44NjMxODJd IEFDUEk6IFgyQVBJQ19OTUkgKHVpZFsweDQxXSBoaWdoIGxldmVsIGxpbnRbMHgxXSkKWyAgICAy Ljg2MzE4M10gQUNQSTogWDJBUElDX05NSSAodWlkWzB4NDJdIGhpZ2ggbGV2ZWwgbGludFsweDFd KQpbICAgIDIuODYzMTg0XSBBQ1BJOiBYMkFQSUNfTk1JICh1aWRbMHg0M10gaGlnaCBsZXZlbCBs aW50WzB4MV0pClsgICAgMi44NjMxODRdIEFDUEk6IFgyQVBJQ19OTUkgKHVpZFsweDQ0XSBoaWdo IGxldmVsIGxpbnRbMHgxXSkKWyAgICAyLjg2MzE4NV0gQUNQSTogWDJBUElDX05NSSAodWlkWzB4 NDVdIGhpZ2ggbGV2ZWwgbGludFsweDFdKQpbICAgIDIuODYzMTg2XSBBQ1BJOiBYMkFQSUNfTk1J ICh1aWRbMHg0Nl0gaGlnaCBsZXZlbCBsaW50WzB4MV0pClsgICAgMi44NjMxODZdIEFDUEk6IFgy QVBJQ19OTUkgKHVpZFsweDQ3XSBoaWdoIGxldmVsIGxpbnRbMHgxXSkKWyAgICAyLjg2MzE4N10g QUNQSTogWDJBUElDX05NSSAodWlkWzB4NDhdIGhpZ2ggbGV2ZWwgbGludFsweDFdKQpbICAgIDIu ODYzMTg4XSBBQ1BJOiBYMkFQSUNfTk1JICh1aWRbMHg0OV0gaGlnaCBsZXZlbCBsaW50WzB4MV0p ClsgICAgMi44NjMxODhdIEFDUEk6IFgyQVBJQ19OTUkgKHVpZFsweDRhXSBoaWdoIGxldmVsIGxp bnRbMHgxXSkKWyAgICAyLjg2MzE4OV0gQUNQSTogWDJBUElDX05NSSAodWlkWzB4NGJdIGhpZ2gg bGV2ZWwgbGludFsweDFdKQpbICAgIDIuODYzMTg5XSBBQ1BJOiBYMkFQSUNfTk1JICh1aWRbMHg0 Y10gaGlnaCBsZXZlbCBsaW50WzB4MV0pClsgICAgMi44NjMxOTBdIEFDUEk6IFgyQVBJQ19OTUkg KHVpZFsweDRkXSBoaWdoIGxldmVsIGxpbnRbMHgxXSkKWyAgICAyLjg2MzE5MV0gQUNQSTogWDJB UElDX05NSSAodWlkWzB4NGVdIGhpZ2ggbGV2ZWwgbGludFsweDFdKQpbICAgIDIuODYzMTkxXSBB Q1BJOiBYMkFQSUNfTk1JICh1aWRbMHg0Zl0gaGlnaCBsZXZlbCBsaW50WzB4MV0pClsgICAgMi44 NjMxOTJdIEFDUEk6IFgyQVBJQ19OTUkgKHVpZFsweDUwXSBoaWdoIGxldmVsIGxpbnRbMHgxXSkK WyAgICAyLjg2MzE5M10gQUNQSTogWDJBUElDX05NSSAodWlkWzB4NTFdIGhpZ2ggbGV2ZWwgbGlu dFsweDFdKQpbICAgIDIuODYzMTkzXSBBQ1BJOiBYMkFQSUNfTk1JICh1aWRbMHg1Ml0gaGlnaCBs ZXZlbCBsaW50WzB4MV0pClsgICAgMi44NjMxOTRdIEFDUEk6IFgyQVBJQ19OTUkgKHVpZFsweDUz XSBoaWdoIGxldmVsIGxpbnRbMHgxXSkKWyAgICAyLjg2MzE5NV0gQUNQSTogWDJBUElDX05NSSAo dWlkWzB4NTRdIGhpZ2ggbGV2ZWwgbGludFsweDFdKQpbICAgIDIuODYzMTk1XSBBQ1BJOiBYMkFQ SUNfTk1JICh1aWRbMHg1NV0gaGlnaCBsZXZlbCBsaW50WzB4MV0pClsgICAgMi44NjMxOTZdIEFD UEk6IFgyQVBJQ19OTUkgKHVpZFsweDU2XSBoaWdoIGxldmVsIGxpbnRbMHgxXSkKWyAgICAyLjg2 MzE5N10gQUNQSTogWDJBUElDX05NSSAodWlkWzB4NTddIGhpZ2ggbGV2ZWwgbGludFsweDFdKQpb ICAgIDIuODYzMTk3XSBBQ1BJOiBYMkFQSUNfTk1JICh1aWRbMHg1OF0gaGlnaCBsZXZlbCBsaW50 WzB4MV0pClsgICAgMi44NjMxOThdIEFDUEk6IFgyQVBJQ19OTUkgKHVpZFsweDU5XSBoaWdoIGxl dmVsIGxpbnRbMHgxXSkKWyAgICAyLjg2MzE5OV0gQUNQSTogWDJBUElDX05NSSAodWlkWzB4NWFd IGhpZ2ggbGV2ZWwgbGludFsweDFdKQpbICAgIDIuODYzMTk5XSBBQ1BJOiBYMkFQSUNfTk1JICh1 aWRbMHg1Yl0gaGlnaCBsZXZlbCBsaW50WzB4MV0pClsgICAgMi44NjMyMDBdIEFDUEk6IFgyQVBJ Q19OTUkgKHVpZFsweDVjXSBoaWdoIGxldmVsIGxpbnRbMHgxXSkKWyAgICAyLjg2MzIwMV0gQUNQ STogWDJBUElDX05NSSAodWlkWzB4NWRdIGhpZ2ggbGV2ZWwgbGludFsweDFdKQpbICAgIDIuODYz MjAxXSBBQ1BJOiBYMkFQSUNfTk1JICh1aWRbMHg1ZV0gaGlnaCBsZXZlbCBsaW50WzB4MV0pClsg ICAgMi44NjMyMDJdIEFDUEk6IFgyQVBJQ19OTUkgKHVpZFsweDVmXSBoaWdoIGxldmVsIGxpbnRb MHgxXSkKWyAgICAyLjg2MzIwMl0gQUNQSTogWDJBUElDX05NSSAodWlkWzB4NjBdIGhpZ2ggbGV2 ZWwgbGludFsweDFdKQpbICAgIDIuODYzMjAzXSBBQ1BJOiBYMkFQSUNfTk1JICh1aWRbMHg2MV0g aGlnaCBsZXZlbCBsaW50WzB4MV0pClsgICAgMi44NjMyMDRdIEFDUEk6IFgyQVBJQ19OTUkgKHVp ZFsweDYyXSBoaWdoIGxldmVsIGxpbnRbMHgxXSkKWyAgICAyLjg2MzIwNF0gQUNQSTogWDJBUElD X05NSSAodWlkWzB4NjNdIGhpZ2ggbGV2ZWwgbGludFsweDFdKQpbICAgIDIuODYzMjA1XSBBQ1BJ OiBYMkFQSUNfTk1JICh1aWRbMHg2NF0gaGlnaCBsZXZlbCBsaW50WzB4MV0pClsgICAgMi44NjMy MDZdIEFDUEk6IFgyQVBJQ19OTUkgKHVpZFsweDY1XSBoaWdoIGxldmVsIGxpbnRbMHgxXSkKWyAg ICAyLjg2MzIwNl0gQUNQSTogWDJBUElDX05NSSAodWlkWzB4NjZdIGhpZ2ggbGV2ZWwgbGludFsw eDFdKQpbICAgIDIuODYzMjA3XSBBQ1BJOiBYMkFQSUNfTk1JICh1aWRbMHg2N10gaGlnaCBsZXZl bCBsaW50WzB4MV0pClsgICAgMi44NjMyMDhdIEFDUEk6IFgyQVBJQ19OTUkgKHVpZFsweDY4XSBo aWdoIGxldmVsIGxpbnRbMHgxXSkKWyAgICAyLjg2MzIwOF0gQUNQSTogWDJBUElDX05NSSAodWlk WzB4NjldIGhpZ2ggbGV2ZWwgbGludFsweDFdKQpbICAgIDIuODYzMjA5XSBBQ1BJOiBYMkFQSUNf Tk1JICh1aWRbMHg2YV0gaGlnaCBsZXZlbCBsaW50WzB4MV0pClsgICAgMi44NjMyMTBdIEFDUEk6 IFgyQVBJQ19OTUkgKHVpZFsweDZiXSBoaWdoIGxldmVsIGxpbnRbMHgxXSkKWyAgICAyLjg2MzIx MF0gQUNQSTogWDJBUElDX05NSSAodWlkWzB4NmNdIGhpZ2ggbGV2ZWwgbGludFsweDFdKQpbICAg IDIuODYzMjExXSBBQ1BJOiBYMkFQSUNfTk1JICh1aWRbMHg2ZF0gaGlnaCBsZXZlbCBsaW50WzB4 MV0pClsgICAgMi44NjMyMTFdIEFDUEk6IFgyQVBJQ19OTUkgKHVpZFsweDZlXSBoaWdoIGxldmVs IGxpbnRbMHgxXSkKWyAgICAyLjg2MzIxMl0gQUNQSTogWDJBUElDX05NSSAodWlkWzB4NmZdIGhp Z2ggbGV2ZWwgbGludFsweDFdKQpbICAgIDIuODYzMjEzXSBBQ1BJOiBYMkFQSUNfTk1JICh1aWRb MHg3MF0gaGlnaCBsZXZlbCBsaW50WzB4MV0pClsgICAgMi44NjMyMTNdIEFDUEk6IFgyQVBJQ19O TUkgKHVpZFsweDcxXSBoaWdoIGxldmVsIGxpbnRbMHgxXSkKWyAgICAyLjg2MzIxNF0gQUNQSTog WDJBUElDX05NSSAodWlkWzB4NzJdIGhpZ2ggbGV2ZWwgbGludFsweDFdKQpbICAgIDIuODYzMjE1 XSBBQ1BJOiBYMkFQSUNfTk1JICh1aWRbMHg3M10gaGlnaCBsZXZlbCBsaW50WzB4MV0pClsgICAg Mi44NjMyMTVdIEFDUEk6IFgyQVBJQ19OTUkgKHVpZFsweDc0XSBoaWdoIGxldmVsIGxpbnRbMHgx XSkKWyAgICAyLjg2MzIxNl0gQUNQSTogWDJBUElDX05NSSAodWlkWzB4NzVdIGhpZ2ggbGV2ZWwg bGludFsweDFdKQpbICAgIDIuODYzMjE3XSBBQ1BJOiBYMkFQSUNfTk1JICh1aWRbMHg3Nl0gaGln aCBsZXZlbCBsaW50WzB4MV0pClsgICAgMi44NjMyMTddIEFDUEk6IFgyQVBJQ19OTUkgKHVpZFsw eDc3XSBoaWdoIGxldmVsIGxpbnRbMHgxXSkKWyAgICAyLjg2MzIxOF0gQUNQSTogWDJBUElDX05N SSAodWlkWzB4NzhdIGhpZ2ggbGV2ZWwgbGludFsweDFdKQpbICAgIDIuODYzMjE5XSBBQ1BJOiBY MkFQSUNfTk1JICh1aWRbMHg3OV0gaGlnaCBsZXZlbCBsaW50WzB4MV0pClsgICAgMi44NjMyMTld IEFDUEk6IFgyQVBJQ19OTUkgKHVpZFsweDdhXSBoaWdoIGxldmVsIGxpbnRbMHgxXSkKWyAgICAy Ljg2MzIyMF0gQUNQSTogWDJBUElDX05NSSAodWlkWzB4N2JdIGhpZ2ggbGV2ZWwgbGludFsweDFd KQpbICAgIDIuODYzMjIwXSBBQ1BJOiBYMkFQSUNfTk1JICh1aWRbMHg3Y10gaGlnaCBsZXZlbCBs aW50WzB4MV0pClsgICAgMi44NjMyMjFdIEFDUEk6IFgyQVBJQ19OTUkgKHVpZFsweDdkXSBoaWdo IGxldmVsIGxpbnRbMHgxXSkKWyAgICAyLjg2MzIyMl0gQUNQSTogWDJBUElDX05NSSAodWlkWzB4 N2VdIGhpZ2ggbGV2ZWwgbGludFsweDFdKQpbICAgIDIuODYzMjIyXSBBQ1BJOiBYMkFQSUNfTk1J ICh1aWRbMHg3Zl0gaGlnaCBsZXZlbCBsaW50WzB4MV0pClsgICAgMi44NjMyMjNdIEFDUEk6IFgy QVBJQ19OTUkgKHVpZFsweDgwXSBoaWdoIGxldmVsIGxpbnRbMHgxXSkKWyAgICAyLjg2MzIyNF0g QUNQSTogWDJBUElDX05NSSAodWlkWzB4ODFdIGhpZ2ggbGV2ZWwgbGludFsweDFdKQpbICAgIDIu ODYzMjI0XSBBQ1BJOiBYMkFQSUNfTk1JICh1aWRbMHg4Ml0gaGlnaCBsZXZlbCBsaW50WzB4MV0p ClsgICAgMi44NjMyMjVdIEFDUEk6IFgyQVBJQ19OTUkgKHVpZFsweDgzXSBoaWdoIGxldmVsIGxp bnRbMHgxXSkKWyAgICAyLjg2MzIyNl0gQUNQSTogWDJBUElDX05NSSAodWlkWzB4ODRdIGhpZ2gg bGV2ZWwgbGludFsweDFdKQpbICAgIDIuODYzMjI2XSBBQ1BJOiBYMkFQSUNfTk1JICh1aWRbMHg4 NV0gaGlnaCBsZXZlbCBsaW50WzB4MV0pClsgICAgMi44NjMyMjddIEFDUEk6IFgyQVBJQ19OTUkg KHVpZFsweDg2XSBoaWdoIGxldmVsIGxpbnRbMHgxXSkKWyAgICAyLjg2MzIyOF0gQUNQSTogWDJB UElDX05NSSAodWlkWzB4ODddIGhpZ2ggbGV2ZWwgbGludFsweDFdKQpbICAgIDIuODYzMjI4XSBB Q1BJOiBYMkFQSUNfTk1JICh1aWRbMHg4OF0gaGlnaCBsZXZlbCBsaW50WzB4MV0pClsgICAgMi44 NjMyMjldIEFDUEk6IFgyQVBJQ19OTUkgKHVpZFsweDg5XSBoaWdoIGxldmVsIGxpbnRbMHgxXSkK WyAgICAyLjg2MzIyOV0gQUNQSTogWDJBUElDX05NSSAodWlkWzB4OGFdIGhpZ2ggbGV2ZWwgbGlu dFsweDFdKQpbICAgIDIuODYzMjMwXSBBQ1BJOiBYMkFQSUNfTk1JICh1aWRbMHg4Yl0gaGlnaCBs ZXZlbCBsaW50WzB4MV0pClsgICAgMi44NjMyMzFdIEFDUEk6IFgyQVBJQ19OTUkgKHVpZFsweDhj XSBoaWdoIGxldmVsIGxpbnRbMHgxXSkKWyAgICAyLjg2MzIzMV0gQUNQSTogWDJBUElDX05NSSAo dWlkWzB4OGRdIGhpZ2ggbGV2ZWwgbGludFsweDFdKQpbICAgIDIuODYzMjMyXSBBQ1BJOiBYMkFQ SUNfTk1JICh1aWRbMHg4ZV0gaGlnaCBsZXZlbCBsaW50WzB4MV0pClsgICAgMi44NjMyMzNdIEFD UEk6IFgyQVBJQ19OTUkgKHVpZFsweDhmXSBoaWdoIGxldmVsIGxpbnRbMHgxXSkKWyAgICAyLjg2 MzIzM10gQUNQSTogWDJBUElDX05NSSAodWlkWzB4OTBdIGhpZ2ggbGV2ZWwgbGludFsweDFdKQpb ICAgIDIuODYzMjM0XSBBQ1BJOiBYMkFQSUNfTk1JICh1aWRbMHg5MV0gaGlnaCBsZXZlbCBsaW50 WzB4MV0pClsgICAgMi44NjMyMzVdIEFDUEk6IFgyQVBJQ19OTUkgKHVpZFsweDkyXSBoaWdoIGxl dmVsIGxpbnRbMHgxXSkKWyAgICAyLjg2MzIzNV0gQUNQSTogWDJBUElDX05NSSAodWlkWzB4OTNd IGhpZ2ggbGV2ZWwgbGludFsweDFdKQpbICAgIDIuODYzMjM2XSBBQ1BJOiBYMkFQSUNfTk1JICh1 aWRbMHg5NF0gaGlnaCBsZXZlbCBsaW50WzB4MV0pClsgICAgMi44NjMyMzddIEFDUEk6IFgyQVBJ Q19OTUkgKHVpZFsweDk1XSBoaWdoIGxldmVsIGxpbnRbMHgxXSkKWyAgICAyLjg2MzIzN10gQUNQ STogWDJBUElDX05NSSAodWlkWzB4OTZdIGhpZ2ggbGV2ZWwgbGludFsweDFdKQpbICAgIDIuODYz MjM4XSBBQ1BJOiBYMkFQSUNfTk1JICh1aWRbMHg5N10gaGlnaCBsZXZlbCBsaW50WzB4MV0pClsg ICAgMi44NjMyMzhdIEFDUEk6IFgyQVBJQ19OTUkgKHVpZFsweDk4XSBoaWdoIGxldmVsIGxpbnRb MHgxXSkKWyAgICAyLjg2MzIzOV0gQUNQSTogWDJBUElDX05NSSAodWlkWzB4OTldIGhpZ2ggbGV2 ZWwgbGludFsweDFdKQpbICAgIDIuODYzMjQwXSBBQ1BJOiBYMkFQSUNfTk1JICh1aWRbMHg5YV0g aGlnaCBsZXZlbCBsaW50WzB4MV0pClsgICAgMi44NjMyNDBdIEFDUEk6IFgyQVBJQ19OTUkgKHVp ZFsweDliXSBoaWdoIGxldmVsIGxpbnRbMHgxXSkKWyAgICAyLjg2MzI0MV0gQUNQSTogWDJBUElD X05NSSAodWlkWzB4OWNdIGhpZ2ggbGV2ZWwgbGludFsweDFdKQpbICAgIDIuODYzMjQyXSBBQ1BJ OiBYMkFQSUNfTk1JICh1aWRbMHg5ZF0gaGlnaCBsZXZlbCBsaW50WzB4MV0pClsgICAgMi44NjMy NDJdIEFDUEk6IFgyQVBJQ19OTUkgKHVpZFsweDllXSBoaWdoIGxldmVsIGxpbnRbMHgxXSkKWyAg ICAyLjg2MzI0M10gQUNQSTogWDJBUElDX05NSSAodWlkWzB4OWZdIGhpZ2ggbGV2ZWwgbGludFsw eDFdKQpbICAgIDIuODYzMjQ0XSBBQ1BJOiBYMkFQSUNfTk1JICh1aWRbMHhhMF0gaGlnaCBsZXZl bCBsaW50WzB4MV0pClsgICAgMi44NjMyNDRdIEFDUEk6IFgyQVBJQ19OTUkgKHVpZFsweGExXSBo aWdoIGxldmVsIGxpbnRbMHgxXSkKWyAgICAyLjg2MzI0NV0gQUNQSTogWDJBUElDX05NSSAodWlk WzB4YTJdIGhpZ2ggbGV2ZWwgbGludFsweDFdKQpbICAgIDIuODYzMjQ2XSBBQ1BJOiBYMkFQSUNf Tk1JICh1aWRbMHhhM10gaGlnaCBsZXZlbCBsaW50WzB4MV0pClsgICAgMi44NjMyNDZdIEFDUEk6 IFgyQVBJQ19OTUkgKHVpZFsweGE0XSBoaWdoIGxldmVsIGxpbnRbMHgxXSkKWyAgICAyLjg2MzI0 N10gQUNQSTogWDJBUElDX05NSSAodWlkWzB4YTVdIGhpZ2ggbGV2ZWwgbGludFsweDFdKQpbICAg IDIuODYzMjQ3XSBBQ1BJOiBYMkFQSUNfTk1JICh1aWRbMHhhNl0gaGlnaCBsZXZlbCBsaW50WzB4 MV0pClsgICAgMi44NjMyNDhdIEFDUEk6IFgyQVBJQ19OTUkgKHVpZFsweGE3XSBoaWdoIGxldmVs IGxpbnRbMHgxXSkKWyAgICAyLjg2MzI0OV0gQUNQSTogWDJBUElDX05NSSAodWlkWzB4YThdIGhp Z2ggbGV2ZWwgbGludFsweDFdKQpbICAgIDIuODYzMjQ5XSBBQ1BJOiBYMkFQSUNfTk1JICh1aWRb MHhhOV0gaGlnaCBsZXZlbCBsaW50WzB4MV0pClsgICAgMi44NjMyNTBdIEFDUEk6IFgyQVBJQ19O TUkgKHVpZFsweGFhXSBoaWdoIGxldmVsIGxpbnRbMHgxXSkKWyAgICAyLjg2MzI1MV0gQUNQSTog WDJBUElDX05NSSAodWlkWzB4YWJdIGhpZ2ggbGV2ZWwgbGludFsweDFdKQpbICAgIDIuODYzMjUx XSBBQ1BJOiBYMkFQSUNfTk1JICh1aWRbMHhhY10gaGlnaCBsZXZlbCBsaW50WzB4MV0pClsgICAg Mi44NjMyNTJdIEFDUEk6IFgyQVBJQ19OTUkgKHVpZFsweGFkXSBoaWdoIGxldmVsIGxpbnRbMHgx XSkKWyAgICAyLjg2MzI1M10gQUNQSTogWDJBUElDX05NSSAodWlkWzB4YWVdIGhpZ2ggbGV2ZWwg bGludFsweDFdKQpbICAgIDIuODYzMjUzXSBBQ1BJOiBYMkFQSUNfTk1JICh1aWRbMHhhZl0gaGln aCBsZXZlbCBsaW50WzB4MV0pClsgICAgMi44NjMyNTRdIEFDUEk6IFgyQVBJQ19OTUkgKHVpZFsw eGIwXSBoaWdoIGxldmVsIGxpbnRbMHgxXSkKWyAgICAyLjg2MzI1NV0gQUNQSTogWDJBUElDX05N SSAodWlkWzB4YjFdIGhpZ2ggbGV2ZWwgbGludFsweDFdKQpbICAgIDIuODYzMjU1XSBBQ1BJOiBY MkFQSUNfTk1JICh1aWRbMHhiMl0gaGlnaCBsZXZlbCBsaW50WzB4MV0pClsgICAgMi44NjMyNTZd IEFDUEk6IFgyQVBJQ19OTUkgKHVpZFsweGIzXSBoaWdoIGxldmVsIGxpbnRbMHgxXSkKWyAgICAy Ljg2MzI1N10gQUNQSTogWDJBUElDX05NSSAodWlkWzB4YjRdIGhpZ2ggbGV2ZWwgbGludFsweDFd KQpbICAgIDIuODYzMjU3XSBBQ1BJOiBYMkFQSUNfTk1JICh1aWRbMHhiNV0gaGlnaCBsZXZlbCBs aW50WzB4MV0pClsgICAgMi44NjMyNThdIEFDUEk6IFgyQVBJQ19OTUkgKHVpZFsweGI2XSBoaWdo IGxldmVsIGxpbnRbMHgxXSkKWyAgICAyLjg2MzI1OV0gQUNQSTogWDJBUElDX05NSSAodWlkWzB4 YjddIGhpZ2ggbGV2ZWwgbGludFsweDFdKQpbICAgIDIuODYzMjU5XSBBQ1BJOiBYMkFQSUNfTk1J ICh1aWRbMHhiOF0gaGlnaCBsZXZlbCBsaW50WzB4MV0pClsgICAgMi44NjMyNjBdIEFDUEk6IFgy QVBJQ19OTUkgKHVpZFsweGI5XSBoaWdoIGxldmVsIGxpbnRbMHgxXSkKWyAgICAyLjg2MzI2MF0g QUNQSTogWDJBUElDX05NSSAodWlkWzB4YmFdIGhpZ2ggbGV2ZWwgbGludFsweDFdKQpbICAgIDIu ODYzMjYxXSBBQ1BJOiBYMkFQSUNfTk1JICh1aWRbMHhiYl0gaGlnaCBsZXZlbCBsaW50WzB4MV0p ClsgICAgMi44NjMyNjJdIEFDUEk6IFgyQVBJQ19OTUkgKHVpZFsweGJjXSBoaWdoIGxldmVsIGxp bnRbMHgxXSkKWyAgICAyLjg2MzI2Ml0gQUNQSTogWDJBUElDX05NSSAodWlkWzB4YmRdIGhpZ2gg bGV2ZWwgbGludFsweDFdKQpbICAgIDIuODYzMjYzXSBBQ1BJOiBYMkFQSUNfTk1JICh1aWRbMHhi ZV0gaGlnaCBsZXZlbCBsaW50WzB4MV0pClsgICAgMi44NjMyNjRdIEFDUEk6IFgyQVBJQ19OTUkg KHVpZFsweGJmXSBoaWdoIGxldmVsIGxpbnRbMHgxXSkKWyAgICAyLjg2MzI2Nl0gQUNQSTogTEFQ SUNfTk1JIChhY3BpX2lkWzB4MDBdIGhpZ2ggbGV2ZWwgbGludFsweDFdKQpbICAgIDIuODYzMjY3 XSBBQ1BJOiBMQVBJQ19OTUkgKGFjcGlfaWRbMHgwMV0gaGlnaCBsZXZlbCBsaW50WzB4MV0pClsg ICAgMi44NjMyNjddIEFDUEk6IExBUElDX05NSSAoYWNwaV9pZFsweDAyXSBoaWdoIGxldmVsIGxp bnRbMHgxXSkKWyAgICAyLjg2MzI2OF0gQUNQSTogTEFQSUNfTk1JIChhY3BpX2lkWzB4MDNdIGhp Z2ggbGV2ZWwgbGludFsweDFdKQpbICAgIDIuODYzMjY5XSBBQ1BJOiBMQVBJQ19OTUkgKGFjcGlf aWRbMHgwNF0gaGlnaCBsZXZlbCBsaW50WzB4MV0pClsgICAgMi44NjMyNjldIEFDUEk6IExBUElD X05NSSAoYWNwaV9pZFsweDA1XSBoaWdoIGxldmVsIGxpbnRbMHgxXSkKWyAgICAyLjg2MzI3MF0g QUNQSTogTEFQSUNfTk1JIChhY3BpX2lkWzB4MDZdIGhpZ2ggbGV2ZWwgbGludFsweDFdKQpbICAg IDIuODYzMjcxXSBBQ1BJOiBMQVBJQ19OTUkgKGFjcGlfaWRbMHgwN10gaGlnaCBsZXZlbCBsaW50 WzB4MV0pClsgICAgMi44NjMyNzFdIEFDUEk6IExBUElDX05NSSAoYWNwaV9pZFsweDA4XSBoaWdo IGxldmVsIGxpbnRbMHgxXSkKWyAgICAyLjg2MzI3Ml0gQUNQSTogTEFQSUNfTk1JIChhY3BpX2lk WzB4MDldIGhpZ2ggbGV2ZWwgbGludFsweDFdKQpbICAgIDIuODYzMjczXSBBQ1BJOiBMQVBJQ19O TUkgKGFjcGlfaWRbMHgwYV0gaGlnaCBsZXZlbCBsaW50WzB4MV0pClsgICAgMi44NjMyNzNdIEFD UEk6IExBUElDX05NSSAoYWNwaV9pZFsweDBiXSBoaWdoIGxldmVsIGxpbnRbMHgxXSkKWyAgICAy Ljg2MzI3NF0gQUNQSTogTEFQSUNfTk1JIChhY3BpX2lkWzB4MGNdIGhpZ2ggbGV2ZWwgbGludFsw eDFdKQpbICAgIDIuODYzMjc1XSBBQ1BJOiBMQVBJQ19OTUkgKGFjcGlfaWRbMHgwZF0gaGlnaCBs ZXZlbCBsaW50WzB4MV0pClsgICAgMi44NjMyNzVdIEFDUEk6IExBUElDX05NSSAoYWNwaV9pZFsw eDBlXSBoaWdoIGxldmVsIGxpbnRbMHgxXSkKWyAgICAyLjg2MzI3Nl0gQUNQSTogTEFQSUNfTk1J IChhY3BpX2lkWzB4MGZdIGhpZ2ggbGV2ZWwgbGludFsweDFdKQpbICAgIDIuODYzMjc2XSBBQ1BJ OiBMQVBJQ19OTUkgKGFjcGlfaWRbMHgxMF0gaGlnaCBsZXZlbCBsaW50WzB4MV0pClsgICAgMi44 NjMyNzddIEFDUEk6IExBUElDX05NSSAoYWNwaV9pZFsweDExXSBoaWdoIGxldmVsIGxpbnRbMHgx XSkKWyAgICAyLjg2MzI3OF0gQUNQSTogTEFQSUNfTk1JIChhY3BpX2lkWzB4MTJdIGhpZ2ggbGV2 ZWwgbGludFsweDFdKQpbICAgIDIuODYzMjc4XSBBQ1BJOiBMQVBJQ19OTUkgKGFjcGlfaWRbMHgx M10gaGlnaCBsZXZlbCBsaW50WzB4MV0pClsgICAgMi44NjMyNzldIEFDUEk6IExBUElDX05NSSAo YWNwaV9pZFsweDE0XSBoaWdoIGxldmVsIGxpbnRbMHgxXSkKWyAgICAyLjg2MzI4MF0gQUNQSTog TEFQSUNfTk1JIChhY3BpX2lkWzB4MTVdIGhpZ2ggbGV2ZWwgbGludFsweDFdKQpbICAgIDIuODYz MjgwXSBBQ1BJOiBMQVBJQ19OTUkgKGFjcGlfaWRbMHgxNl0gaGlnaCBsZXZlbCBsaW50WzB4MV0p ClsgICAgMi44NjMyODFdIEFDUEk6IExBUElDX05NSSAoYWNwaV9pZFsweDE3XSBoaWdoIGxldmVs IGxpbnRbMHgxXSkKWyAgICAyLjg2MzI4Ml0gQUNQSTogTEFQSUNfTk1JIChhY3BpX2lkWzB4MThd IGhpZ2ggbGV2ZWwgbGludFsweDFdKQpbICAgIDIuODYzMjgyXSBBQ1BJOiBMQVBJQ19OTUkgKGFj cGlfaWRbMHgxOV0gaGlnaCBsZXZlbCBsaW50WzB4MV0pClsgICAgMi44NjMyODNdIEFDUEk6IExB UElDX05NSSAoYWNwaV9pZFsweDFhXSBoaWdoIGxldmVsIGxpbnRbMHgxXSkKWyAgICAyLjg2MzI4 NF0gQUNQSTogTEFQSUNfTk1JIChhY3BpX2lkWzB4MWJdIGhpZ2ggbGV2ZWwgbGludFsweDFdKQpb ICAgIDIuODYzMjg0XSBBQ1BJOiBMQVBJQ19OTUkgKGFjcGlfaWRbMHgxY10gaGlnaCBsZXZlbCBs aW50WzB4MV0pClsgICAgMi44NjMyODVdIEFDUEk6IExBUElDX05NSSAoYWNwaV9pZFsweDFkXSBo aWdoIGxldmVsIGxpbnRbMHgxXSkKWyAgICAyLjg2MzI4NV0gQUNQSTogTEFQSUNfTk1JIChhY3Bp X2lkWzB4MWVdIGhpZ2ggbGV2ZWwgbGludFsweDFdKQpbICAgIDIuODYzMjg2XSBBQ1BJOiBMQVBJ Q19OTUkgKGFjcGlfaWRbMHgxZl0gaGlnaCBsZXZlbCBsaW50WzB4MV0pClsgICAgMi44NjMyODdd IEFDUEk6IExBUElDX05NSSAoYWNwaV9pZFsweDIwXSBoaWdoIGxldmVsIGxpbnRbMHgxXSkKWyAg ICAyLjg2MzI4N10gQUNQSTogTEFQSUNfTk1JIChhY3BpX2lkWzB4MjFdIGhpZ2ggbGV2ZWwgbGlu dFsweDFdKQpbICAgIDIuODYzMjg4XSBBQ1BJOiBMQVBJQ19OTUkgKGFjcGlfaWRbMHgyMl0gaGln aCBsZXZlbCBsaW50WzB4MV0pClsgICAgMi44NjMyODldIEFDUEk6IExBUElDX05NSSAoYWNwaV9p ZFsweDIzXSBoaWdoIGxldmVsIGxpbnRbMHgxXSkKWyAgICAyLjg2MzI4OV0gQUNQSTogTEFQSUNf Tk1JIChhY3BpX2lkWzB4MjRdIGhpZ2ggbGV2ZWwgbGludFsweDFdKQpbICAgIDIuODYzMjkwXSBB Q1BJOiBMQVBJQ19OTUkgKGFjcGlfaWRbMHgyNV0gaGlnaCBsZXZlbCBsaW50WzB4MV0pClsgICAg Mi44NjMyOTFdIEFDUEk6IExBUElDX05NSSAoYWNwaV9pZFsweDI2XSBoaWdoIGxldmVsIGxpbnRb MHgxXSkKWyAgICAyLjg2MzI5MV0gQUNQSTogTEFQSUNfTk1JIChhY3BpX2lkWzB4MjddIGhpZ2gg bGV2ZWwgbGludFsweDFdKQpbICAgIDIuODYzMjkyXSBBQ1BJOiBMQVBJQ19OTUkgKGFjcGlfaWRb MHgyOF0gaGlnaCBsZXZlbCBsaW50WzB4MV0pClsgICAgMi44NjMyOTNdIEFDUEk6IExBUElDX05N SSAoYWNwaV9pZFsweDI5XSBoaWdoIGxldmVsIGxpbnRbMHgxXSkKWyAgICAyLjg2MzI5M10gQUNQ STogTEFQSUNfTk1JIChhY3BpX2lkWzB4MmFdIGhpZ2ggbGV2ZWwgbGludFsweDFdKQpbICAgIDIu ODYzMjk0XSBBQ1BJOiBMQVBJQ19OTUkgKGFjcGlfaWRbMHgyYl0gaGlnaCBsZXZlbCBsaW50WzB4 MV0pClsgICAgMi44NjMyOTRdIEFDUEk6IExBUElDX05NSSAoYWNwaV9pZFsweDJjXSBoaWdoIGxl dmVsIGxpbnRbMHgxXSkKWyAgICAyLjg2MzI5NV0gQUNQSTogTEFQSUNfTk1JIChhY3BpX2lkWzB4 MmRdIGhpZ2ggbGV2ZWwgbGludFsweDFdKQpbICAgIDIuODYzMjk2XSBBQ1BJOiBMQVBJQ19OTUkg KGFjcGlfaWRbMHgyZV0gaGlnaCBsZXZlbCBsaW50WzB4MV0pClsgICAgMi44NjMyOTZdIEFDUEk6 IExBUElDX05NSSAoYWNwaV9pZFsweDJmXSBoaWdoIGxldmVsIGxpbnRbMHgxXSkKWyAgICAyLjg2 MzI5N10gQUNQSTogTEFQSUNfTk1JIChhY3BpX2lkWzB4MzBdIGhpZ2ggbGV2ZWwgbGludFsweDFd KQpbICAgIDIuODYzMjk4XSBBQ1BJOiBMQVBJQ19OTUkgKGFjcGlfaWRbMHgzMV0gaGlnaCBsZXZl bCBsaW50WzB4MV0pClsgICAgMi44NjMyOThdIEFDUEk6IExBUElDX05NSSAoYWNwaV9pZFsweDMy XSBoaWdoIGxldmVsIGxpbnRbMHgxXSkKWyAgICAyLjg2MzI5OV0gQUNQSTogTEFQSUNfTk1JIChh Y3BpX2lkWzB4MzNdIGhpZ2ggbGV2ZWwgbGludFsweDFdKQpbICAgIDIuODYzMzAwXSBBQ1BJOiBM QVBJQ19OTUkgKGFjcGlfaWRbMHgzNF0gaGlnaCBsZXZlbCBsaW50WzB4MV0pClsgICAgMi44NjMz MDBdIEFDUEk6IExBUElDX05NSSAoYWNwaV9pZFsweDM1XSBoaWdoIGxldmVsIGxpbnRbMHgxXSkK WyAgICAyLjg2MzMwMV0gQUNQSTogTEFQSUNfTk1JIChhY3BpX2lkWzB4MzZdIGhpZ2ggbGV2ZWwg bGludFsweDFdKQpbICAgIDIuODYzMzAyXSBBQ1BJOiBMQVBJQ19OTUkgKGFjcGlfaWRbMHgzN10g aGlnaCBsZXZlbCBsaW50WzB4MV0pClsgICAgMi44NjMzMDJdIEFDUEk6IExBUElDX05NSSAoYWNw aV9pZFsweDM4XSBoaWdoIGxldmVsIGxpbnRbMHgxXSkKWyAgICAyLjg2MzMwM10gQUNQSTogTEFQ SUNfTk1JIChhY3BpX2lkWzB4MzldIGhpZ2ggbGV2ZWwgbGludFsweDFdKQpbICAgIDIuODYzMzAz XSBBQ1BJOiBMQVBJQ19OTUkgKGFjcGlfaWRbMHgzYV0gaGlnaCBsZXZlbCBsaW50WzB4MV0pClsg ICAgMi44NjMzMDRdIEFDUEk6IExBUElDX05NSSAoYWNwaV9pZFsweDNiXSBoaWdoIGxldmVsIGxp bnRbMHgxXSkKWyAgICAyLjg2MzMwNV0gQUNQSTogTEFQSUNfTk1JIChhY3BpX2lkWzB4M2NdIGhp Z2ggbGV2ZWwgbGludFsweDFdKQpbICAgIDIuODYzMzA1XSBBQ1BJOiBMQVBJQ19OTUkgKGFjcGlf aWRbMHgzZF0gaGlnaCBsZXZlbCBsaW50WzB4MV0pClsgICAgMi44NjMzMDZdIEFDUEk6IExBUElD X05NSSAoYWNwaV9pZFsweDNlXSBoaWdoIGxldmVsIGxpbnRbMHgxXSkKWyAgICAyLjg2MzMwN10g QUNQSTogTEFQSUNfTk1JIChhY3BpX2lkWzB4M2ZdIGhpZ2ggbGV2ZWwgbGludFsweDFdKQpbICAg IDIuODYzMzA3XSBBQ1BJOiBMQVBJQ19OTUkgKGFjcGlfaWRbMHg0MF0gaGlnaCBsZXZlbCBsaW50 WzB4MV0pClsgICAgMi44NjMzMDhdIEFDUEk6IExBUElDX05NSSAoYWNwaV9pZFsweDQxXSBoaWdo IGxldmVsIGxpbnRbMHgxXSkKWyAgICAyLjg2MzMwOV0gQUNQSTogTEFQSUNfTk1JIChhY3BpX2lk WzB4NDJdIGhpZ2ggbGV2ZWwgbGludFsweDFdKQpbICAgIDIuODYzMzA5XSBBQ1BJOiBMQVBJQ19O TUkgKGFjcGlfaWRbMHg0M10gaGlnaCBsZXZlbCBsaW50WzB4MV0pClsgICAgMi44NjMzMTBdIEFD UEk6IExBUElDX05NSSAoYWNwaV9pZFsweDQ0XSBoaWdoIGxldmVsIGxpbnRbMHgxXSkKWyAgICAy Ljg2MzMxMV0gQUNQSTogTEFQSUNfTk1JIChhY3BpX2lkWzB4NDVdIGhpZ2ggbGV2ZWwgbGludFsw eDFdKQpbICAgIDIuODYzMzExXSBBQ1BJOiBMQVBJQ19OTUkgKGFjcGlfaWRbMHg0Nl0gaGlnaCBs ZXZlbCBsaW50WzB4MV0pClsgICAgMi44NjMzMTJdIEFDUEk6IExBUElDX05NSSAoYWNwaV9pZFsw eDQ3XSBoaWdoIGxldmVsIGxpbnRbMHgxXSkKWyAgICAyLjg2MzMxMl0gQUNQSTogTEFQSUNfTk1J IChhY3BpX2lkWzB4NDhdIGhpZ2ggbGV2ZWwgbGludFsweDFdKQpbICAgIDIuODYzMzEzXSBBQ1BJ OiBMQVBJQ19OTUkgKGFjcGlfaWRbMHg0OV0gaGlnaCBsZXZlbCBsaW50WzB4MV0pClsgICAgMi44 NjMzMTRdIEFDUEk6IExBUElDX05NSSAoYWNwaV9pZFsweDRhXSBoaWdoIGxldmVsIGxpbnRbMHgx XSkKWyAgICAyLjg2MzMxNF0gQUNQSTogTEFQSUNfTk1JIChhY3BpX2lkWzB4NGJdIGhpZ2ggbGV2 ZWwgbGludFsweDFdKQpbICAgIDIuODYzMzE1XSBBQ1BJOiBMQVBJQ19OTUkgKGFjcGlfaWRbMHg0 Y10gaGlnaCBsZXZlbCBsaW50WzB4MV0pClsgICAgMi44NjMzMTZdIEFDUEk6IExBUElDX05NSSAo YWNwaV9pZFsweDRkXSBoaWdoIGxldmVsIGxpbnRbMHgxXSkKWyAgICAyLjg2MzMxNl0gQUNQSTog TEFQSUNfTk1JIChhY3BpX2lkWzB4NGVdIGhpZ2ggbGV2ZWwgbGludFsweDFdKQpbICAgIDIuODYz MzE3XSBBQ1BJOiBMQVBJQ19OTUkgKGFjcGlfaWRbMHg0Zl0gaGlnaCBsZXZlbCBsaW50WzB4MV0p ClsgICAgMi44NjMzMThdIEFDUEk6IExBUElDX05NSSAoYWNwaV9pZFsweDUwXSBoaWdoIGxldmVs IGxpbnRbMHgxXSkKWyAgICAyLjg2MzMxOF0gQUNQSTogTEFQSUNfTk1JIChhY3BpX2lkWzB4NTFd IGhpZ2ggbGV2ZWwgbGludFsweDFdKQpbICAgIDIuODYzMzE5XSBBQ1BJOiBMQVBJQ19OTUkgKGFj cGlfaWRbMHg1Ml0gaGlnaCBsZXZlbCBsaW50WzB4MV0pClsgICAgMi44NjMzMjBdIEFDUEk6IExB UElDX05NSSAoYWNwaV9pZFsweDUzXSBoaWdoIGxldmVsIGxpbnRbMHgxXSkKWyAgICAyLjg2MzMy MF0gQUNQSTogTEFQSUNfTk1JIChhY3BpX2lkWzB4NTRdIGhpZ2ggbGV2ZWwgbGludFsweDFdKQpb ICAgIDIuODYzMzIxXSBBQ1BJOiBMQVBJQ19OTUkgKGFjcGlfaWRbMHg1NV0gaGlnaCBsZXZlbCBs aW50WzB4MV0pClsgICAgMi44NjMzMjFdIEFDUEk6IExBUElDX05NSSAoYWNwaV9pZFsweDU2XSBo aWdoIGxldmVsIGxpbnRbMHgxXSkKWyAgICAyLjg2MzMyMl0gQUNQSTogTEFQSUNfTk1JIChhY3Bp X2lkWzB4NTddIGhpZ2ggbGV2ZWwgbGludFsweDFdKQpbICAgIDIuODYzMzIzXSBBQ1BJOiBMQVBJ Q19OTUkgKGFjcGlfaWRbMHg1OF0gaGlnaCBsZXZlbCBsaW50WzB4MV0pClsgICAgMi44NjMzMjNd IEFDUEk6IExBUElDX05NSSAoYWNwaV9pZFsweDU5XSBoaWdoIGxldmVsIGxpbnRbMHgxXSkKWyAg ICAyLjg2MzMyNF0gQUNQSTogTEFQSUNfTk1JIChhY3BpX2lkWzB4NWFdIGhpZ2ggbGV2ZWwgbGlu dFsweDFdKQpbICAgIDIuODYzMzI1XSBBQ1BJOiBMQVBJQ19OTUkgKGFjcGlfaWRbMHg1Yl0gaGln aCBsZXZlbCBsaW50WzB4MV0pClsgICAgMi44NjMzMjVdIEFDUEk6IExBUElDX05NSSAoYWNwaV9p ZFsweDVjXSBoaWdoIGxldmVsIGxpbnRbMHgxXSkKWyAgICAyLjg2MzMyNl0gQUNQSTogTEFQSUNf Tk1JIChhY3BpX2lkWzB4NWRdIGhpZ2ggbGV2ZWwgbGludFsweDFdKQpbICAgIDIuODYzMzI3XSBB Q1BJOiBMQVBJQ19OTUkgKGFjcGlfaWRbMHg1ZV0gaGlnaCBsZXZlbCBsaW50WzB4MV0pClsgICAg Mi44NjMzMjddIEFDUEk6IExBUElDX05NSSAoYWNwaV9pZFsweDVmXSBoaWdoIGxldmVsIGxpbnRb MHgxXSkKWyAgICAyLjg2MzMyOF0gQUNQSTogTEFQSUNfTk1JIChhY3BpX2lkWzB4NjBdIGhpZ2gg bGV2ZWwgbGludFsweDFdKQpbICAgIDIuODYzMzI5XSBBQ1BJOiBMQVBJQ19OTUkgKGFjcGlfaWRb MHg2MV0gaGlnaCBsZXZlbCBsaW50WzB4MV0pClsgICAgMi44NjMzMjldIEFDUEk6IExBUElDX05N SSAoYWNwaV9pZFsweDYyXSBoaWdoIGxldmVsIGxpbnRbMHgxXSkKWyAgICAyLjg2MzMzMF0gQUNQ STogTEFQSUNfTk1JIChhY3BpX2lkWzB4NjNdIGhpZ2ggbGV2ZWwgbGludFsweDFdKQpbICAgIDIu ODYzMzMwXSBBQ1BJOiBMQVBJQ19OTUkgKGFjcGlfaWRbMHg2NF0gaGlnaCBsZXZlbCBsaW50WzB4 MV0pClsgICAgMi44NjMzMzFdIEFDUEk6IExBUElDX05NSSAoYWNwaV9pZFsweDY1XSBoaWdoIGxl dmVsIGxpbnRbMHgxXSkKWyAgICAyLjg2MzMzMl0gQUNQSTogTEFQSUNfTk1JIChhY3BpX2lkWzB4 NjZdIGhpZ2ggbGV2ZWwgbGludFsweDFdKQpbICAgIDIuODYzMzMyXSBBQ1BJOiBMQVBJQ19OTUkg KGFjcGlfaWRbMHg2N10gaGlnaCBsZXZlbCBsaW50WzB4MV0pClsgICAgMi44NjMzMzNdIEFDUEk6 IExBUElDX05NSSAoYWNwaV9pZFsweDY4XSBoaWdoIGxldmVsIGxpbnRbMHgxXSkKWyAgICAyLjg2 MzMzNF0gQUNQSTogTEFQSUNfTk1JIChhY3BpX2lkWzB4NjldIGhpZ2ggbGV2ZWwgbGludFsweDFd KQpbICAgIDIuODYzMzM0XSBBQ1BJOiBMQVBJQ19OTUkgKGFjcGlfaWRbMHg2YV0gaGlnaCBsZXZl bCBsaW50WzB4MV0pClsgICAgMi44NjMzMzVdIEFDUEk6IExBUElDX05NSSAoYWNwaV9pZFsweDZi XSBoaWdoIGxldmVsIGxpbnRbMHgxXSkKWyAgICAyLjg2MzMzNl0gQUNQSTogTEFQSUNfTk1JIChh Y3BpX2lkWzB4NmNdIGhpZ2ggbGV2ZWwgbGludFsweDFdKQpbICAgIDIuODYzMzM2XSBBQ1BJOiBM QVBJQ19OTUkgKGFjcGlfaWRbMHg2ZF0gaGlnaCBsZXZlbCBsaW50WzB4MV0pClsgICAgMi44NjMz MzddIEFDUEk6IExBUElDX05NSSAoYWNwaV9pZFsweDZlXSBoaWdoIGxldmVsIGxpbnRbMHgxXSkK WyAgICAyLjg2MzMzOF0gQUNQSTogTEFQSUNfTk1JIChhY3BpX2lkWzB4NmZdIGhpZ2ggbGV2ZWwg bGludFsweDFdKQpbICAgIDIuODYzMzM4XSBBQ1BJOiBMQVBJQ19OTUkgKGFjcGlfaWRbMHg3MF0g aGlnaCBsZXZlbCBsaW50WzB4MV0pClsgICAgMi44NjMzMzldIEFDUEk6IExBUElDX05NSSAoYWNw aV9pZFsweDcxXSBoaWdoIGxldmVsIGxpbnRbMHgxXSkKWyAgICAyLjg2MzMzOV0gQUNQSTogTEFQ SUNfTk1JIChhY3BpX2lkWzB4NzJdIGhpZ2ggbGV2ZWwgbGludFsweDFdKQpbICAgIDIuODYzMzQw XSBBQ1BJOiBMQVBJQ19OTUkgKGFjcGlfaWRbMHg3M10gaGlnaCBsZXZlbCBsaW50WzB4MV0pClsg ICAgMi44NjMzNDFdIEFDUEk6IExBUElDX05NSSAoYWNwaV9pZFsweDc0XSBoaWdoIGxldmVsIGxp bnRbMHgxXSkKWyAgICAyLjg2MzM0MV0gQUNQSTogTEFQSUNfTk1JIChhY3BpX2lkWzB4NzVdIGhp Z2ggbGV2ZWwgbGludFsweDFdKQpbICAgIDIuODYzMzQyXSBBQ1BJOiBMQVBJQ19OTUkgKGFjcGlf aWRbMHg3Nl0gaGlnaCBsZXZlbCBsaW50WzB4MV0pClsgICAgMi44NjMzNDNdIEFDUEk6IExBUElD X05NSSAoYWNwaV9pZFsweDc3XSBoaWdoIGxldmVsIGxpbnRbMHgxXSkKWyAgICAyLjg2MzM0M10g QUNQSTogTEFQSUNfTk1JIChhY3BpX2lkWzB4NzhdIGhpZ2ggbGV2ZWwgbGludFsweDFdKQpbICAg IDIuODYzMzQ0XSBBQ1BJOiBMQVBJQ19OTUkgKGFjcGlfaWRbMHg3OV0gaGlnaCBsZXZlbCBsaW50 WzB4MV0pClsgICAgMi44NjMzNDVdIEFDUEk6IExBUElDX05NSSAoYWNwaV9pZFsweDdhXSBoaWdo IGxldmVsIGxpbnRbMHgxXSkKWyAgICAyLjg2MzM0NV0gQUNQSTogTEFQSUNfTk1JIChhY3BpX2lk WzB4N2JdIGhpZ2ggbGV2ZWwgbGludFsweDFdKQpbICAgIDIuODYzMzQ2XSBBQ1BJOiBMQVBJQ19O TUkgKGFjcGlfaWRbMHg3Y10gaGlnaCBsZXZlbCBsaW50WzB4MV0pClsgICAgMi44NjMzNDddIEFD UEk6IExBUElDX05NSSAoYWNwaV9pZFsweDdkXSBoaWdoIGxldmVsIGxpbnRbMHgxXSkKWyAgICAy Ljg2MzM0N10gQUNQSTogTEFQSUNfTk1JIChhY3BpX2lkWzB4N2VdIGhpZ2ggbGV2ZWwgbGludFsw eDFdKQpbICAgIDIuODYzMzQ4XSBBQ1BJOiBMQVBJQ19OTUkgKGFjcGlfaWRbMHg3Zl0gaGlnaCBs ZXZlbCBsaW50WzB4MV0pClsgICAgMi44NjMzNDldIEFDUEk6IExBUElDX05NSSAoYWNwaV9pZFsw eDgwXSBoaWdoIGxldmVsIGxpbnRbMHgxXSkKWyAgICAyLjg2MzM0OV0gQUNQSTogTEFQSUNfTk1J IChhY3BpX2lkWzB4ODFdIGhpZ2ggbGV2ZWwgbGludFsweDFdKQpbICAgIDIuODYzMzUwXSBBQ1BJ OiBMQVBJQ19OTUkgKGFjcGlfaWRbMHg4Ml0gaGlnaCBsZXZlbCBsaW50WzB4MV0pClsgICAgMi44 NjMzNTBdIEFDUEk6IExBUElDX05NSSAoYWNwaV9pZFsweDgzXSBoaWdoIGxldmVsIGxpbnRbMHgx XSkKWyAgICAyLjg2MzM1MV0gQUNQSTogTEFQSUNfTk1JIChhY3BpX2lkWzB4ODRdIGhpZ2ggbGV2 ZWwgbGludFsweDFdKQpbICAgIDIuODYzMzUyXSBBQ1BJOiBMQVBJQ19OTUkgKGFjcGlfaWRbMHg4 NV0gaGlnaCBsZXZlbCBsaW50WzB4MV0pClsgICAgMi44NjMzNTJdIEFDUEk6IExBUElDX05NSSAo YWNwaV9pZFsweDg2XSBoaWdoIGxldmVsIGxpbnRbMHgxXSkKWyAgICAyLjg2MzM1M10gQUNQSTog TEFQSUNfTk1JIChhY3BpX2lkWzB4ODddIGhpZ2ggbGV2ZWwgbGludFsweDFdKQpbICAgIDIuODYz MzU0XSBBQ1BJOiBMQVBJQ19OTUkgKGFjcGlfaWRbMHg4OF0gaGlnaCBsZXZlbCBsaW50WzB4MV0p ClsgICAgMi44NjMzNTRdIEFDUEk6IExBUElDX05NSSAoYWNwaV9pZFsweDg5XSBoaWdoIGxldmVs IGxpbnRbMHgxXSkKWyAgICAyLjg2MzM1NV0gQUNQSTogTEFQSUNfTk1JIChhY3BpX2lkWzB4OGFd IGhpZ2ggbGV2ZWwgbGludFsweDFdKQpbICAgIDIuODYzMzU2XSBBQ1BJOiBMQVBJQ19OTUkgKGFj cGlfaWRbMHg4Yl0gaGlnaCBsZXZlbCBsaW50WzB4MV0pClsgICAgMi44NjMzNTZdIEFDUEk6IExB UElDX05NSSAoYWNwaV9pZFsweDhjXSBoaWdoIGxldmVsIGxpbnRbMHgxXSkKWyAgICAyLjg2MzM1 N10gQUNQSTogTEFQSUNfTk1JIChhY3BpX2lkWzB4OGRdIGhpZ2ggbGV2ZWwgbGludFsweDFdKQpb ICAgIDIuODYzMzU4XSBBQ1BJOiBMQVBJQ19OTUkgKGFjcGlfaWRbMHg4ZV0gaGlnaCBsZXZlbCBs aW50WzB4MV0pClsgICAgMi44NjMzNThdIEFDUEk6IExBUElDX05NSSAoYWNwaV9pZFsweDhmXSBo aWdoIGxldmVsIGxpbnRbMHgxXSkKWyAgICAyLjg2MzM1OV0gQUNQSTogTEFQSUNfTk1JIChhY3Bp X2lkWzB4OTBdIGhpZ2ggbGV2ZWwgbGludFsweDFdKQpbICAgIDIuODYzMzU5XSBBQ1BJOiBMQVBJ Q19OTUkgKGFjcGlfaWRbMHg5MV0gaGlnaCBsZXZlbCBsaW50WzB4MV0pClsgICAgMi44NjMzNjBd IEFDUEk6IExBUElDX05NSSAoYWNwaV9pZFsweDkyXSBoaWdoIGxldmVsIGxpbnRbMHgxXSkKWyAg ICAyLjg2MzM2MV0gQUNQSTogTEFQSUNfTk1JIChhY3BpX2lkWzB4OTNdIGhpZ2ggbGV2ZWwgbGlu dFsweDFdKQpbICAgIDIuODYzMzYxXSBBQ1BJOiBMQVBJQ19OTUkgKGFjcGlfaWRbMHg5NF0gaGln aCBsZXZlbCBsaW50WzB4MV0pClsgICAgMi44NjMzNjJdIEFDUEk6IExBUElDX05NSSAoYWNwaV9p ZFsweDk1XSBoaWdoIGxldmVsIGxpbnRbMHgxXSkKWyAgICAyLjg2MzM2M10gQUNQSTogTEFQSUNf Tk1JIChhY3BpX2lkWzB4OTZdIGhpZ2ggbGV2ZWwgbGludFsweDFdKQpbICAgIDIuODYzMzYzXSBB Q1BJOiBMQVBJQ19OTUkgKGFjcGlfaWRbMHg5N10gaGlnaCBsZXZlbCBsaW50WzB4MV0pClsgICAg Mi44NjMzNjRdIEFDUEk6IExBUElDX05NSSAoYWNwaV9pZFsweDk4XSBoaWdoIGxldmVsIGxpbnRb MHgxXSkKWyAgICAyLjg2MzM2NV0gQUNQSTogTEFQSUNfTk1JIChhY3BpX2lkWzB4OTldIGhpZ2gg bGV2ZWwgbGludFsweDFdKQpbICAgIDIuODYzMzY1XSBBQ1BJOiBMQVBJQ19OTUkgKGFjcGlfaWRb MHg5YV0gaGlnaCBsZXZlbCBsaW50WzB4MV0pClsgICAgMi44NjMzNjZdIEFDUEk6IExBUElDX05N SSAoYWNwaV9pZFsweDliXSBoaWdoIGxldmVsIGxpbnRbMHgxXSkKWyAgICAyLjg2MzM2Nl0gQUNQ STogTEFQSUNfTk1JIChhY3BpX2lkWzB4OWNdIGhpZ2ggbGV2ZWwgbGludFsweDFdKQpbICAgIDIu ODYzMzY3XSBBQ1BJOiBMQVBJQ19OTUkgKGFjcGlfaWRbMHg5ZF0gaGlnaCBsZXZlbCBsaW50WzB4 MV0pClsgICAgMi44NjMzNjhdIEFDUEk6IExBUElDX05NSSAoYWNwaV9pZFsweDllXSBoaWdoIGxl dmVsIGxpbnRbMHgxXSkKWyAgICAyLjg2MzM2OF0gQUNQSTogTEFQSUNfTk1JIChhY3BpX2lkWzB4 OWZdIGhpZ2ggbGV2ZWwgbGludFsweDFdKQpbICAgIDIuODYzMzY5XSBBQ1BJOiBMQVBJQ19OTUkg KGFjcGlfaWRbMHhhMF0gaGlnaCBsZXZlbCBsaW50WzB4MV0pClsgICAgMi44NjMzNzBdIEFDUEk6 IExBUElDX05NSSAoYWNwaV9pZFsweGExXSBoaWdoIGxldmVsIGxpbnRbMHgxXSkKWyAgICAyLjg2 MzM3MF0gQUNQSTogTEFQSUNfTk1JIChhY3BpX2lkWzB4YTJdIGhpZ2ggbGV2ZWwgbGludFsweDFd KQpbICAgIDIuODYzMzcxXSBBQ1BJOiBMQVBJQ19OTUkgKGFjcGlfaWRbMHhhM10gaGlnaCBsZXZl bCBsaW50WzB4MV0pClsgICAgMi44NjMzNzJdIEFDUEk6IExBUElDX05NSSAoYWNwaV9pZFsweGE0 XSBoaWdoIGxldmVsIGxpbnRbMHgxXSkKWyAgICAyLjg2MzM3Ml0gQUNQSTogTEFQSUNfTk1JIChh Y3BpX2lkWzB4YTVdIGhpZ2ggbGV2ZWwgbGludFsweDFdKQpbICAgIDIuODYzMzczXSBBQ1BJOiBM QVBJQ19OTUkgKGFjcGlfaWRbMHhhNl0gaGlnaCBsZXZlbCBsaW50WzB4MV0pClsgICAgMi44NjMz NzRdIEFDUEk6IExBUElDX05NSSAoYWNwaV9pZFsweGE3XSBoaWdoIGxldmVsIGxpbnRbMHgxXSkK WyAgICAyLjg2MzM3NF0gQUNQSTogTEFQSUNfTk1JIChhY3BpX2lkWzB4YThdIGhpZ2ggbGV2ZWwg bGludFsweDFdKQpbICAgIDIuODYzMzc1XSBBQ1BJOiBMQVBJQ19OTUkgKGFjcGlfaWRbMHhhOV0g aGlnaCBsZXZlbCBsaW50WzB4MV0pClsgICAgMi44NjMzNzZdIEFDUEk6IExBUElDX05NSSAoYWNw aV9pZFsweGFhXSBoaWdoIGxldmVsIGxpbnRbMHgxXSkKWyAgICAyLjg2MzM3Nl0gQUNQSTogTEFQ SUNfTk1JIChhY3BpX2lkWzB4YWJdIGhpZ2ggbGV2ZWwgbGludFsweDFdKQpbICAgIDIuODYzMzc3 XSBBQ1BJOiBMQVBJQ19OTUkgKGFjcGlfaWRbMHhhY10gaGlnaCBsZXZlbCBsaW50WzB4MV0pClsg ICAgMi44NjMzNzhdIEFDUEk6IExBUElDX05NSSAoYWNwaV9pZFsweGFkXSBoaWdoIGxldmVsIGxp bnRbMHgxXSkKWyAgICAyLjg2MzM3OF0gQUNQSTogTEFQSUNfTk1JIChhY3BpX2lkWzB4YWVdIGhp Z2ggbGV2ZWwgbGludFsweDFdKQpbICAgIDIuODYzMzc5XSBBQ1BJOiBMQVBJQ19OTUkgKGFjcGlf aWRbMHhhZl0gaGlnaCBsZXZlbCBsaW50WzB4MV0pClsgICAgMi44NjMzNzldIEFDUEk6IExBUElD X05NSSAoYWNwaV9pZFsweGIwXSBoaWdoIGxldmVsIGxpbnRbMHgxXSkKWyAgICAyLjg2MzM4MF0g QUNQSTogTEFQSUNfTk1JIChhY3BpX2lkWzB4YjFdIGhpZ2ggbGV2ZWwgbGludFsweDFdKQpbICAg IDIuODYzMzgxXSBBQ1BJOiBMQVBJQ19OTUkgKGFjcGlfaWRbMHhiMl0gaGlnaCBsZXZlbCBsaW50 WzB4MV0pClsgICAgMi44NjMzODFdIEFDUEk6IExBUElDX05NSSAoYWNwaV9pZFsweGIzXSBoaWdo IGxldmVsIGxpbnRbMHgxXSkKWyAgICAyLjg2MzM4Ml0gQUNQSTogTEFQSUNfTk1JIChhY3BpX2lk WzB4YjRdIGhpZ2ggbGV2ZWwgbGludFsweDFdKQpbICAgIDIuODYzMzgzXSBBQ1BJOiBMQVBJQ19O TUkgKGFjcGlfaWRbMHhiNV0gaGlnaCBsZXZlbCBsaW50WzB4MV0pClsgICAgMi44NjMzODNdIEFD UEk6IExBUElDX05NSSAoYWNwaV9pZFsweGI2XSBoaWdoIGxldmVsIGxpbnRbMHgxXSkKWyAgICAy Ljg2MzM4NF0gQUNQSTogTEFQSUNfTk1JIChhY3BpX2lkWzB4YjddIGhpZ2ggbGV2ZWwgbGludFsw eDFdKQpbICAgIDIuODYzMzg1XSBBQ1BJOiBMQVBJQ19OTUkgKGFjcGlfaWRbMHhiOF0gaGlnaCBs ZXZlbCBsaW50WzB4MV0pClsgICAgMi44NjMzODVdIEFDUEk6IExBUElDX05NSSAoYWNwaV9pZFsw eGI5XSBoaWdoIGxldmVsIGxpbnRbMHgxXSkKWyAgICAyLjg2MzM4Nl0gQUNQSTogTEFQSUNfTk1J IChhY3BpX2lkWzB4YmFdIGhpZ2ggbGV2ZWwgbGludFsweDFdKQpbICAgIDIuODYzMzg3XSBBQ1BJ OiBMQVBJQ19OTUkgKGFjcGlfaWRbMHhiYl0gaGlnaCBsZXZlbCBsaW50WzB4MV0pClsgICAgMi44 NjMzODddIEFDUEk6IExBUElDX05NSSAoYWNwaV9pZFsweGJjXSBoaWdoIGxldmVsIGxpbnRbMHgx XSkKWyAgICAyLjg2MzM4OF0gQUNQSTogTEFQSUNfTk1JIChhY3BpX2lkWzB4YmRdIGhpZ2ggbGV2 ZWwgbGludFsweDFdKQpbICAgIDIuODYzMzg4XSBBQ1BJOiBMQVBJQ19OTUkgKGFjcGlfaWRbMHhi ZV0gaGlnaCBsZXZlbCBsaW50WzB4MV0pClsgICAgMi44NjMzODldIEFDUEk6IExBUElDX05NSSAo YWNwaV9pZFsweGJmXSBoaWdoIGxldmVsIGxpbnRbMHgxXSkKWyAgICAyLjg2MzQwMl0gSU9BUElD WzBdOiBhcGljX2lkIDgsIHZlcnNpb24gMzIsIGFkZHJlc3MgMHhmZWMwMDAwMCwgR1NJIDAtMjMK WyAgICAyLjg2MzQwNl0gSU9BUElDWzFdOiBhcGljX2lkIDksIHZlcnNpb24gMzIsIGFkZHJlc3Mg MHhmZWMwMTAwMCwgR1NJIDI0LTQ3ClsgICAgMi44NjM0MTBdIElPQVBJQ1syXTogYXBpY19pZCAx MCwgdmVyc2lvbiAzMiwgYWRkcmVzcyAweGZlYzQwMDAwLCBHU0kgNDgtNzEKWyAgICAyLjg2MzQx NF0gQUNQSTogSU5UX1NSQ19PVlIgKGJ1cyAwIGJ1c19pcnEgMCBnbG9iYWxfaXJxIDIgZGZsIGRm bCkKWyAgICAyLjg2MzQxNV0gQUNQSTogSU5UX1NSQ19PVlIgKGJ1cyAwIGJ1c19pcnEgOSBnbG9i YWxfaXJxIDkgaGlnaCBsZXZlbCkKWyAgICAyLjg2MzQyM10gVXNpbmcgQUNQSSAoTUFEVCkgZm9y IFNNUCBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uClsgICAgMi44NjM0MjVdIEFDUEk6IEhQRVQg aWQ6IDB4ODA4NmE3MDEgYmFzZTogMHhmZWQwMDAwMApbICAgIDIuODYzNDI5XSBBQ1BJOiBTUENS OiBTUENSIHRhYmxlIHZlcnNpb24gMQpbICAgIDIuODYzNDMxXSBBQ1BJOiBTUENSOiBjb25zb2xl OiB1YXJ0LGlvLDB4M2Y4LDExNTIwMApbICAgIDIuODYzNDM0XSBzbXBib290OiBBbGxvd2luZyA2 NCBDUFVzLCAwIGhvdHBsdWcgQ1BVcwpbICAgIDIuODYzNDUwXSBQTTogUmVnaXN0ZXJlZCBub3Nh dmUgbWVtb3J5OiBbbWVtIDB4MDAwMDAwMDAtMHgwMDAwMGZmZl0KWyAgICAyLjg2MzQ1Ml0gUE06 IFJlZ2lzdGVyZWQgbm9zYXZlIG1lbW9yeTogW21lbSAweDAwMDljMDAwLTB4MDAwOWZmZmZdClsg ICAgMi44NjM0NTNdIFBNOiBSZWdpc3RlcmVkIG5vc2F2ZSBtZW1vcnk6IFttZW0gMHgwMDBhMDAw MC0weDAwMGRmZmZmXQpbICAgIDIuODYzNDUzXSBQTTogUmVnaXN0ZXJlZCBub3NhdmUgbWVtb3J5 OiBbbWVtIDB4MDAwZTAwMDAtMHgwMDBmZmZmZl0KWyAgICAyLjg2MzQ1NV0gUE06IFJlZ2lzdGVy ZWQgbm9zYXZlIG1lbW9yeTogW21lbSAweDdhMjg5MDAwLTB4N2FmMGFmZmZdClsgICAgMi44NjM0 NTVdIFBNOiBSZWdpc3RlcmVkIG5vc2F2ZSBtZW1vcnk6IFttZW0gMHg3YWYwYjAwMC0weDdiOTNh ZmZmXQpbICAgIDIuODYzNDU2XSBQTTogUmVnaXN0ZXJlZCBub3NhdmUgbWVtb3J5OiBbbWVtIDB4 N2I5M2IwMDAtMHg3YmFiNGZmZl0KWyAgICAyLjg2MzQ1N10gUE06IFJlZ2lzdGVyZWQgbm9zYXZl IG1lbW9yeTogW21lbSAweDdiYWU5MDAwLTB4N2JhZmVmZmZdClsgICAgMi44NjM0NTldIFBNOiBS ZWdpc3RlcmVkIG5vc2F2ZSBtZW1vcnk6IFttZW0gMHg3YmIwMDAwMC0weDhmZmZmZmZmXQpbICAg IDIuODYzNDU5XSBQTTogUmVnaXN0ZXJlZCBub3NhdmUgbWVtb3J5OiBbbWVtIDB4OTAwMDAwMDAt MHhmZWRhN2ZmZl0KWyAgICAyLjg2MzQ2MF0gUE06IFJlZ2lzdGVyZWQgbm9zYXZlIG1lbW9yeTog W21lbSAweGZlZGE4MDAwLTB4ZmVkYWJmZmZdClsgICAgMi44NjM0NjBdIFBNOiBSZWdpc3RlcmVk IG5vc2F2ZSBtZW1vcnk6IFttZW0gMHhmZWRhYzAwMC0weGZmMzBmZmZmXQpbICAgIDIuODYzNDYx XSBQTTogUmVnaXN0ZXJlZCBub3NhdmUgbWVtb3J5OiBbbWVtIDB4ZmYzMTAwMDAtMHhmZmZmZmZm Zl0KWyAgICAyLjg2MzQ2M10gW21lbSAweDkwMDAwMDAwLTB4ZmVkYTdmZmZdIGF2YWlsYWJsZSBm b3IgUENJIGRldmljZXMKWyAgICAyLjg2MzQ2NF0gQm9vdGluZyBwYXJhdmlydHVhbGl6ZWQga2Vy bmVsIG9uIGJhcmUgaGFyZHdhcmUKWyAgICAyLjg2MzQ2OF0gY2xvY2tzb3VyY2U6IHJlZmluZWQt amlmZmllczogbWFzazogMHhmZmZmZmZmZiBtYXhfY3ljbGVzOiAweGZmZmZmZmZmLCBtYXhfaWRs ZV9uczogNzY0NTUxOTYwMDIxMTU2OCBucwpbICAgIDIuOTQ4NDIwXSByYW5kb206IGdldF9yYW5k b21fYnl0ZXMgY2FsbGVkIGZyb20gc3RhcnRfa2VybmVsKzB4OTQvMHg1MTUgd2l0aCBjcm5nX2lu aXQ9MApbICAgIDIuOTQ4NDI2XSBzZXR1cF9wZXJjcHU6IE5SX0NQVVM6NTEyIG5yX2NwdW1hc2tf Yml0czo1MTIgbnJfY3B1X2lkczo2NCBucl9ub2RlX2lkczoyClsgICAgMi45NTE0NTRdIHBlcmNw dTogRW1iZWRkZWQgNDQgcGFnZXMvY3B1IEAoX19fX3B0cnZhbF9fX18pIHMxNDI5MzYgcjgxOTIg ZDI5MDk2IHUyNjIxNDQKWyAgICAyLjk1MTUwNF0gQnVpbHQgMiB6b25lbGlzdHMsIG1vYmlsaXR5 IGdyb3VwaW5nIG9uLiAgVG90YWwgcGFnZXM6IDEzMjA5Njk1MwpbICAgIDIuOTUxNTA2XSBQb2xp Y3kgem9uZTogTm9ybWFsClsgICAgMi45NTE1MDddIEtlcm5lbCBjb21tYW5kIGxpbmU6IEJPT1Rf SU1BR0U9L3ZtbGludXotNS4wLjAtYnQ5LWFtZDY0IHJvb3Q9L2Rldi9tYXBwZXIvdmcwLXJvb3Qg cm8gY29uc29sZT10dHkwIGNvbnNvbGU9dHR5UzAsMTE1MjAwbjgKWyAgICAyLjk1MTU1NF0gcHJp bnRrOiBsb2dfYnVmX2xlbiBpbmRpdmlkdWFsIG1heCBjcHUgY29udHJpYnV0aW9uOiA0MDk2IGJ5 dGVzClsgICAgMi45NTE1NTRdIHByaW50azogbG9nX2J1Zl9sZW4gdG90YWwgY3B1X2V4dHJhIGNv bnRyaWJ1dGlvbnM6IDI1ODA0OCBieXRlcwpbICAgIDIuOTUxNTU1XSBwcmludGs6IGxvZ19idWZf bGVuIG1pbiBzaXplOiAxMzEwNzIgYnl0ZXMKWyAgICAyLjk1MTY1Ml0gcHJpbnRrOiBsb2dfYnVm X2xlbjogNTI0Mjg4IGJ5dGVzClsgICAgMi45NTE2NTNdIHByaW50azogZWFybHkgbG9nIGJ1ZiBm cmVlOiA5MDAzMig2OCUpClsgICAgNC4zNzY5MjldIE1lbW9yeTogNTI4MjYwNjA4Sy81MzY3NzUw MTJLIGF2YWlsYWJsZSAoMTAyNDNLIGtlcm5lbCBjb2RlLCAxMTY0SyByd2RhdGEsIDMyMjRLIHJv ZGF0YSwgMTU3NksgaW5pdCwgMjM4OEsgYnNzLCA4NTE0NDA0SyByZXNlcnZlZCwgMEsgY21hLXJl c2VydmVkKQpbICAgIDQuMzc3NDEzXSBTTFVCOiBIV2FsaWduPTY0LCBPcmRlcj0wLTMsIE1pbk9i amVjdHM9MCwgQ1BVcz02NCwgTm9kZXM9MgpbICAgIDQuMzc3NDI3XSBLZXJuZWwvVXNlciBwYWdl IHRhYmxlcyBpc29sYXRpb246IGVuYWJsZWQKWyAgICA0LjM3NzQ2Nl0gZnRyYWNlOiBhbGxvY2F0 aW5nIDMxNzU0IGVudHJpZXMgaW4gMTI1IHBhZ2VzClsgICAgNC4zOTAwNzVdIHJjdTogSGllcmFy Y2hpY2FsIFJDVSBpbXBsZW1lbnRhdGlvbi4KWyAgICA0LjM5MDA3N10gcmN1OiAgICAgUkNVIHJl c3RyaWN0aW5nIENQVXMgZnJvbSBOUl9DUFVTPTUxMiB0byBucl9jcHVfaWRzPTY0LgpbICAgIDQu MzkwMDc4XSByY3U6IFJDVSBjYWxjdWxhdGVkIHZhbHVlIG9mIHNjaGVkdWxlci1lbmxpc3RtZW50 IGRlbGF5IGlzIDI1IGppZmZpZXMuClsgICAgNC4zOTAwNzldIHJjdTogQWRqdXN0aW5nIGdlb21l dHJ5IGZvciByY3VfZmFub3V0X2xlYWY9MTYsIG5yX2NwdV9pZHM9NjQKWyAgICA0LjM5MjYyNl0g TlJfSVJRUzogMzMwMjQsIG5yX2lycXM6IDE3NTIsIHByZWFsbG9jYXRlZCBpcnFzOiAxNgpbICAg IDQuNDAwNDgxXSBDb25zb2xlOiBjb2xvdXIgVkdBKyA4MHgyNQpbICAgIDQuNDY2MDM3XSBwcmlu dGs6IGNvbnNvbGUgW3R0eTBdIGVuYWJsZWQKWyAgICA4LjMxOTY1OV0gcHJpbnRrOiBjb25zb2xl IFt0dHlTMF0gZW5hYmxlZApbICAgIDguMzI0NDkwXSBtZW1wb2xpY3k6IEVuYWJsaW5nIGF1dG9t YXRpYyBOVU1BIGJhbGFuY2luZy4gQ29uZmlndXJlIHdpdGggbnVtYV9iYWxhbmNpbmc9IG9yIHRo ZSBrZXJuZWwubnVtYV9iYWxhbmNpbmcgc3lzY3RsClsgICAgOC4zMzcxNjNdIEFDUEk6IENvcmUg cmV2aXNpb24gMjAxODEyMTMKWyAgICA4LjM0MjY5NV0gY2xvY2tzb3VyY2U6IGhwZXQ6IG1hc2s6 IDB4ZmZmZmZmZmYgbWF4X2N5Y2xlczogMHhmZmZmZmZmZiwgbWF4X2lkbGVfbnM6IDEzMzQ4NDg4 Mjg0OCBucwpbICAgIDguMzUzMDI5XSBBUElDOiBTd2l0Y2ggdG8gc3ltbWV0cmljIEkvTyBtb2Rl IHNldHVwClsgICAgOC4zNTg2ODVdIERNQVI6IEhvc3QgYWRkcmVzcyB3aWR0aCA0NgpbICAgIDgu MzYzMDc0XSBETUFSOiBEUkhEIGJhc2U6IDB4MDAwMDAwZmJmZmMwMDAgZmxhZ3M6IDB4MApbICAg IDguMzY5MTE4XSBETUFSOiBkbWFyMDogcmVnX2Jhc2VfYWRkciBmYmZmYzAwMCB2ZXIgMTowIGNh cCBkMjA3OGMxMDZmMDQ2NiBlY2FwIGYwMjBkZgpbICAgIDguMzc4MDk2XSBETUFSOiBEUkhEIGJh c2U6IDB4MDAwMDAwYzdmZmMwMDAgZmxhZ3M6IDB4MQpbICAgIDguMzg0MTQwXSBETUFSOiBkbWFy MTogcmVnX2Jhc2VfYWRkciBjN2ZmYzAwMCB2ZXIgMTowIGNhcCBkMjA3OGMxMDZmMDQ2NiBlY2Fw IGYwMjBkZgpbICAgIDguMzkzMTE3XSBETUFSOiBSTVJSIGJhc2U6IDB4MDAwMDAwN2FlMDcwMDAg ZW5kOiAweDAwMDAwMDdhZjA2ZmZmClsgICAgOC40MDAyMjddIERNQVI6IEFUU1IgZmxhZ3M6IDB4 MApbICAgIDguNDA0MDMxXSBETUFSOiBBVFNSIGZsYWdzOiAweDAKWyAgICA4LjQwNzgzOV0gRE1B Ui1JUjogSU9BUElDIGlkIDEwIHVuZGVyIERSSEQgYmFzZSAgMHhmYmZmYzAwMCBJT01NVSAwClsg ICAgOC40MTUxNDJdIERNQVItSVI6IElPQVBJQyBpZCA4IHVuZGVyIERSSEQgYmFzZSAgMHhjN2Zm YzAwMCBJT01NVSAxClsgICAgOC40MjIzNDBdIERNQVItSVI6IElPQVBJQyBpZCA5IHVuZGVyIERS SEQgYmFzZSAgMHhjN2ZmYzAwMCBJT01NVSAxClsgICAgOC40Mjk1MzddIERNQVItSVI6IEhQRVQg aWQgMCB1bmRlciBEUkhEIGJhc2UgMHhjN2ZmYzAwMApbICAgIDguNDM1Njc0XSBETUFSLUlSOiBR dWV1ZWQgaW52YWxpZGF0aW9uIHdpbGwgYmUgZW5hYmxlZCB0byBzdXBwb3J0IHgyYXBpYyBhbmQg SW50ci1yZW1hcHBpbmcuClsgICAgOC40NDU2MzBdIERNQVItSVI6IElSUSByZW1hcHBpbmcgd2Fz IGVuYWJsZWQgb24gZG1hcjAgYnV0IHdlIGFyZSBub3QgaW4ga2R1bXAgbW9kZQpbICAgIDguNDU0 NjIzXSBETUFSLUlSOiBJUlEgcmVtYXBwaW5nIHdhcyBlbmFibGVkIG9uIGRtYXIxIGJ1dCB3ZSBh cmUgbm90IGluIGtkdW1wIG1vZGUKWyAgICA4LjQ2MzUzMF0gRE1BUi1JUjogRW5hYmxlZCBJUlEg cmVtYXBwaW5nIGluIHgyYXBpYyBtb2RlClsgICAgOC40NzAyNjNdIC4uVElNRVI6IHZlY3Rvcj0w eDMwIGFwaWMxPTAgcGluMT0yIGFwaWMyPS0xIHBpbjI9LTEKWyAgICA4LjQ5NzAzNF0gY2xvY2tz b3VyY2U6IHRzYy1lYXJseTogbWFzazogMHhmZmZmZmZmZmZmZmZmZmZmIG1heF9jeWNsZXM6IDB4 MjEyNzQzNWIyMGUsIG1heF9pZGxlX25zOiA0NDA3OTUyNDM3MjEgbnMKWyAgICA4LjUwODkyMV0g Q2FsaWJyYXRpbmcgZGVsYXkgbG9vcCAoc2tpcHBlZCksIHZhbHVlIGNhbGN1bGF0ZWQgdXNpbmcg dGltZXIgZnJlcXVlbmN5Li4gNDYwMC4wMyBCb2dvTUlQUyAobHBqPTkyMDAwNjApClsgICAgOC41 MTI5MTRdIHBpZF9tYXg6IGRlZmF1bHQ6IDY1NTM2IG1pbmltdW06IDUxMgpbICAgIDguNTE3MDI3 XSBMU006IFNlY3VyaXR5IEZyYW1ld29yayBpbml0aWFsaXppbmcKWyAgICA4LjUyMDkxNV0gWWFt YTogYmVjb21pbmcgbWluZGZ1bC4KWyAgICA4LjUyNDk4M10gQXBwQXJtb3I6IEFwcEFybW9yIGlu aXRpYWxpemVkClsgICAgOC41NTQxMTRdIERlbnRyeSBjYWNoZSBoYXNoIHRhYmxlIGVudHJpZXM6 IDE2Nzc3MjE2IChvcmRlcjogMTUsIDEzNDIxNzcyOCBieXRlcykKWyAgICA4LjU2OTY0Ml0gSW5v ZGUtY2FjaGUgaGFzaCB0YWJsZSBlbnRyaWVzOiA4Mzg4NjA4IChvcmRlcjogMTQsIDY3MTA4ODY0 IGJ5dGVzKQpbICAgIDguNTczMzAwXSBNb3VudC1jYWNoZSBoYXNoIHRhYmxlIGVudHJpZXM6IDI2 MjE0NCAob3JkZXI6IDksIDIwOTcxNTIgYnl0ZXMpClsgICAgOC41NzcyNTddIE1vdW50cG9pbnQt Y2FjaGUgaGFzaCB0YWJsZSBlbnRyaWVzOiAyNjIxNDQgKG9yZGVyOiA5LCAyMDk3MTUyIGJ5dGVz KQpbICAgIDguNTgxMzA5XSBFTkVSR1lfUEVSRl9CSUFTOiBTZXQgdG8gJ25vcm1hbCcsIHdhcyAn cGVyZm9ybWFuY2UnClsgICAgOC41ODQ5MTVdIEVORVJHWV9QRVJGX0JJQVM6IFZpZXcgYW5kIHVw ZGF0ZSB3aXRoIHg4Nl9lbmVyZ3lfcGVyZl9wb2xpY3koOCkKWyAgICA4LjU4ODkxOV0gbWNlOiBD UFUgc3VwcG9ydHMgMjIgTUNFIGJhbmtzClsgICAgOC41OTI5MzNdIG1jZTogQ1BVMDogVGhlcm1h bCBtb25pdG9yaW5nIGVuYWJsZWQgKFRNMSkKWyAgICA4LjYwMDkzNl0gcHJvY2VzczogdXNpbmcg bXdhaXQgaW4gaWRsZSB0aHJlYWRzClsgICAgOC42MDQ5MTZdIExhc3QgbGV2ZWwgaVRMQiBlbnRy aWVzOiA0S0IgMTAyNCwgMk1CIDEwMjQsIDRNQiAxMDI0ClsgICAgOC42MDg5MTRdIExhc3QgbGV2 ZWwgZFRMQiBlbnRyaWVzOiA0S0IgMTAyNCwgMk1CIDEwMjQsIDRNQiAxMDI0LCAxR0IgNApbICAg IDguNjEyOTE1XSBTcGVjdHJlIFYyIDogTWl0aWdhdGlvbjogRnVsbCBnZW5lcmljIHJldHBvbGlu ZQpbICAgIDguNjE2OTE0XSBTcGVjdHJlIFYyIDogU3BlY3RyZSB2MiAvIFNwZWN0cmVSU0IgbWl0 aWdhdGlvbjogRmlsbGluZyBSU0Igb24gY29udGV4dCBzd2l0Y2gKWyAgICA4LjYyMDkxNF0gU3Bl Y3RyZSBWMiA6IEVuYWJsaW5nIFJlc3RyaWN0ZWQgU3BlY3VsYXRpb24gZm9yIGZpcm13YXJlIGNh bGxzClsgICAgOC42MjQ5MjJdIFNwZWN0cmUgVjIgOiBtaXRpZ2F0aW9uOiBFbmFibGluZyBjb25k aXRpb25hbCBJbmRpcmVjdCBCcmFuY2ggUHJlZGljdGlvbiBCYXJyaWVyClsgICAgOC42Mjg5MTRd IFNwZWN0cmUgVjIgOiBVc2VyIHNwYWNlOiBNaXRpZ2F0aW9uOiBTVElCUCB2aWEgc2VjY29tcCBh bmQgcHJjdGwKWyAgICA4LjYzMjkxNV0gU3BlY3VsYXRpdmUgU3RvcmUgQnlwYXNzOiBNaXRpZ2F0 aW9uOiBTcGVjdWxhdGl2ZSBTdG9yZSBCeXBhc3MgZGlzYWJsZWQgdmlhIHByY3RsIGFuZCBzZWNj b21wClsgICAgOC42MzcxMDddIEZyZWVpbmcgU01QIGFsdGVybmF0aXZlcyBtZW1vcnk6IDI0Swpb ICAgIDguNjQ1MDY3XSBzbXBib290OiBDUFUwOiBJbnRlbChSKSBYZW9uKFIpIENQVSBFNS0yNjk4 IHYzIEAgMi4zMEdIeiAoZmFtaWx5OiAweDYsIG1vZGVsOiAweDNmLCBzdGVwcGluZzogMHgyKQpb ICAgIDguNjQ5MDY1XSBQZXJmb3JtYW5jZSBFdmVudHM6IFBFQlMgZm10MissIEhhc3dlbGwgZXZl bnRzLCAxNi1kZWVwIExCUiwgZnVsbC13aWR0aCBjb3VudGVycywgSW50ZWwgUE1VIGRyaXZlci4K WyAgICA4LjY1MjkxOV0gLi4uIHZlcnNpb246ICAgICAgICAgICAgICAgIDMKWyAgICA4LjY1Njkx NF0gLi4uIGJpdCB3aWR0aDogICAgICAgICAgICAgIDQ4ClsgICAgOC42NjA5MTRdIC4uLiBnZW5l cmljIHJlZ2lzdGVyczogICAgICA0ClsgICAgOC42NjQ5MTRdIC4uLiB2YWx1ZSBtYXNrOiAgICAg ICAgICAgICAwMDAwZmZmZmZmZmZmZmZmClsgICAgOC42Njg5MTRdIC4uLiBtYXggcGVyaW9kOiAg ICAgICAgICAgICAwMDAwN2ZmZmZmZmZmZmZmClsgICAgOC42NzI5MTRdIC4uLiBmaXhlZC1wdXJw b3NlIGV2ZW50czogICAzClsgICAgOC42NzY5MTRdIC4uLiBldmVudCBtYXNrOiAgICAgICAgICAg ICAwMDAwMDAwNzAwMDAwMDBmClsgICAgOC42ODA5ODBdIHJjdTogSGllcmFyY2hpY2FsIFNSQ1Ug aW1wbGVtZW50YXRpb24uClsgICAgOC42ODk4OTldIE5NSSB3YXRjaGRvZzogRW5hYmxlZC4gUGVy bWFuZW50bHkgY29uc3VtZXMgb25lIGh3LVBNVSBjb3VudGVyLgpbICAgIDguNjkzNzczXSBzbXA6 IEJyaW5naW5nIHVwIHNlY29uZGFyeSBDUFVzIC4uLgpbICAgIDguNjk3MDMzXSB4ODY6IEJvb3Rp bmcgU01QIGNvbmZpZ3VyYXRpb246ClsgICAgOC43MDA5MThdIC4uLi4gbm9kZSAgIzEsIENQVXM6 ICAgICAgICAjMQpbICAgIDguNzg4OTE2XSAuLi4uIG5vZGUgICMwLCBDUFVzOiAgICAjMgpbICAg IDguNzkyOTE3XSAuLi4uIG5vZGUgICMxLCBDUFVzOiAgICAjMwpbICAgIDguNzk2OTE2XSAuLi4u IG5vZGUgICMwLCBDUFVzOiAgICAjNApbICAgIDguODAwOTE3XSAuLi4uIG5vZGUgICMxLCBDUFVz OiAgICAjNQpbICAgIDguODA0OTE2XSAuLi4uIG5vZGUgICMwLCBDUFVzOiAgICAjNgpbICAgIDgu ODA4OTE3XSAuLi4uIG5vZGUgICMxLCBDUFVzOiAgICAjNwpbICAgIDguODEyOTE1XSAuLi4uIG5v ZGUgICMwLCBDUFVzOiAgICAjOApbICAgIDguODE2OTE3XSAuLi4uIG5vZGUgICMxLCBDUFVzOiAg ICAjOQpbICAgIDguODIwOTE2XSAuLi4uIG5vZGUgICMwLCBDUFVzOiAgICMxMApbICAgIDguODI0 OTE3XSAuLi4uIG5vZGUgICMxLCBDUFVzOiAgICMxMQpbICAgIDguODI4OTE2XSAuLi4uIG5vZGUg ICMwLCBDUFVzOiAgICMxMgpbICAgIDguODMyOTE3XSAuLi4uIG5vZGUgICMxLCBDUFVzOiAgICMx MwpbICAgIDguODM2OTE2XSAuLi4uIG5vZGUgICMwLCBDUFVzOiAgICMxNApbICAgIDguODQwOTE2 XSAuLi4uIG5vZGUgICMxLCBDUFVzOiAgICMxNQpbICAgIDguODQ0OTE2XSAuLi4uIG5vZGUgICMw LCBDUFVzOiAgICMxNgpbICAgIDguODQ4OTE3XSAuLi4uIG5vZGUgICMxLCBDUFVzOiAgICMxNwpb ICAgIDguODUyOTE2XSAuLi4uIG5vZGUgICMwLCBDUFVzOiAgICMxOApbICAgIDguODU2OTE2XSAu Li4uIG5vZGUgICMxLCBDUFVzOiAgICMxOQpbICAgIDguODYwOTE2XSAuLi4uIG5vZGUgICMwLCBD UFVzOiAgICMyMApbICAgIDguODY0OTE3XSAuLi4uIG5vZGUgICMxLCBDUFVzOiAgICMyMQpbICAg IDguODY4OTE2XSAuLi4uIG5vZGUgICMwLCBDUFVzOiAgICMyMgpbICAgIDguODcyOTE2XSAuLi4u IG5vZGUgICMxLCBDUFVzOiAgICMyMwpbICAgIDguODc2OTE2XSAuLi4uIG5vZGUgICMwLCBDUFVz OiAgICMyNApbICAgIDguODgwOTE3XSAuLi4uIG5vZGUgICMxLCBDUFVzOiAgICMyNQpbICAgIDgu ODg0OTE1XSAuLi4uIG5vZGUgICMwLCBDUFVzOiAgICMyNgpbICAgIDguODg4OTE3XSAuLi4uIG5v ZGUgICMxLCBDUFVzOiAgICMyNwpbICAgIDguODkyOTE1XSAuLi4uIG5vZGUgICMwLCBDUFVzOiAg ICMyOApbICAgIDguODk2OTE3XSAuLi4uIG5vZGUgICMxLCBDUFVzOiAgICMyOQpbICAgIDguOTAw OTE2XSAuLi4uIG5vZGUgICMwLCBDUFVzOiAgICMzMApbICAgIDguOTA0OTE2XSAuLi4uIG5vZGUg ICMxLCBDUFVzOiAgICMzMQpbICAgIDguOTA4OTE1XSAuLi4uIG5vZGUgICMwLCBDUFVzOiAgICMz MgpbICAgIDguOTEyOTE3XSAuLi4uIG5vZGUgICMxLCBDUFVzOiAgICMzMwpbICAgIDguOTE2OTE2 XSAuLi4uIG5vZGUgICMwLCBDUFVzOiAgICMzNApbICAgIDguOTIwOTE2XSAuLi4uIG5vZGUgICMx LCBDUFVzOiAgICMzNQpbICAgIDguOTI0OTE2XSAuLi4uIG5vZGUgICMwLCBDUFVzOiAgICMzNgpb ICAgIDguOTI4OTE3XSAuLi4uIG5vZGUgICMxLCBDUFVzOiAgICMzNwpbICAgIDguOTMyOTE2XSAu Li4uIG5vZGUgICMwLCBDUFVzOiAgICMzOApbICAgIDguOTM2OTE2XSAuLi4uIG5vZGUgICMxLCBD UFVzOiAgICMzOQpbICAgIDguOTQwOTE2XSAuLi4uIG5vZGUgICMwLCBDUFVzOiAgICM0MApbICAg IDguOTQ0OTE3XSAuLi4uIG5vZGUgICMxLCBDUFVzOiAgICM0MQpbICAgIDguOTQ4OTE2XSAuLi4u IG5vZGUgICMwLCBDUFVzOiAgICM0MgpbICAgIDguOTUyOTE3XSAuLi4uIG5vZGUgICMxLCBDUFVz OiAgICM0MwpbICAgIDguOTU2OTE2XSAuLi4uIG5vZGUgICMwLCBDUFVzOiAgICM0NApbICAgIDgu OTYwOTE3XSAuLi4uIG5vZGUgICMxLCBDUFVzOiAgICM0NQpbICAgIDguOTY0OTE2XSAuLi4uIG5v ZGUgICMwLCBDUFVzOiAgICM0NgpbICAgIDguOTY4OTE2XSAuLi4uIG5vZGUgICMxLCBDUFVzOiAg ICM0NwpbICAgIDguOTcyOTE2XSAuLi4uIG5vZGUgICMwLCBDUFVzOiAgICM0OApbICAgIDguOTc2 OTE3XSAuLi4uIG5vZGUgICMxLCBDUFVzOiAgICM0OQpbICAgIDguOTgwOTE2XSAuLi4uIG5vZGUg ICMwLCBDUFVzOiAgICM1MApbICAgIDguOTg0OTE3XSAuLi4uIG5vZGUgICMxLCBDUFVzOiAgICM1 MQpbICAgIDguOTg4OTE2XSAuLi4uIG5vZGUgICMwLCBDUFVzOiAgICM1MgpbICAgIDguOTkyOTE3 XSAuLi4uIG5vZGUgICMxLCBDUFVzOiAgICM1MwpbICAgIDguOTk2OTE2XSAuLi4uIG5vZGUgICMw LCBDUFVzOiAgICM1NApbICAgIDkuMDAwOTE2XSAuLi4uIG5vZGUgICMxLCBDUFVzOiAgICM1NQpb ICAgIDkuMDA0OTE2XSAuLi4uIG5vZGUgICMwLCBDUFVzOiAgICM1NgpbICAgIDkuMDA4OTE3XSAu Li4uIG5vZGUgICMxLCBDUFVzOiAgICM1NwpbICAgIDkuMDEyOTE1XSAuLi4uIG5vZGUgICMwLCBD UFVzOiAgICM1OApbICAgIDkuMDE2OTE2XSAuLi4uIG5vZGUgICMxLCBDUFVzOiAgICM1OQpbICAg IDkuMDIwOTE2XSAuLi4uIG5vZGUgICMwLCBDUFVzOiAgICM2MApbICAgIDkuMDI0OTIwXSAuLi4u IG5vZGUgICMxLCBDUFVzOiAgICM2MQpbICAgIDkuMDI4OTE2XSAuLi4uIG5vZGUgICMwLCBDUFVz OiAgICM2MgpbICAgIDkuMDMyOTE2XSAuLi4uIG5vZGUgICMxLCBDUFVzOiAgICM2MwpbICAgIDku MDM0NDQwXSBzbXA6IEJyb3VnaHQgdXAgMiBub2RlcywgNjQgQ1BVcwpbICAgIDkuMDQwOTE1XSBz bXBib290OiBNYXggbG9naWNhbCBwYWNrYWdlczogMgpbICAgIDkuMDQ0OTE1XSBzbXBib290OiBU b3RhbCBvZiA2NCBwcm9jZXNzb3JzIGFjdGl2YXRlZCAoMjk0NDQwLjU3IEJvZ29NSVBTKQpbICAg IDkuMDY4OTY0XSBkZXZ0bXBmczogaW5pdGlhbGl6ZWQKWyAgICA5LjA3Mjc5Ml0geDg2L21tOiBN ZW1vcnkgYmxvY2sgc2l6ZTogMjA0OE1CClsgICAgOS4wNzkyODldIFBNOiBSZWdpc3RlcmluZyBB Q1BJIE5WUyByZWdpb24gW21lbSAweDdhZjBiMDAwLTB4N2I5M2FmZmZdICgxMDY4MjM2OCBieXRl cykKWyAgICA5LjA4OTM3N10gY2xvY2tzb3VyY2U6IGppZmZpZXM6IG1hc2s6IDB4ZmZmZmZmZmYg bWF4X2N5Y2xlczogMHhmZmZmZmZmZiwgbWF4X2lkbGVfbnM6IDc2NDUwNDE3ODUxMDAwMDAgbnMK WyAgICA5LjA5Njk3N10gZnV0ZXggaGFzaCB0YWJsZSBlbnRyaWVzOiAxNjM4NCAob3JkZXI6IDgs IDEwNDg1NzYgYnl0ZXMpClsgICAgOS4xMDUzNzldIHBpbmN0cmwgY29yZTogaW5pdGlhbGl6ZWQg cGluY3RybCBzdWJzeXN0ZW0KWyAgICA5LjExMzIwMF0gTkVUOiBSZWdpc3RlcmVkIHByb3RvY29s IGZhbWlseSAxNgpbICAgIDkuMTE3MDExXSBhdWRpdDogaW5pdGlhbGl6aW5nIG5ldGxpbmsgc3Vi c3lzIChkaXNhYmxlZCkKWyAgICA5LjEyNDk1MF0gYXVkaXQ6IHR5cGU9MjAwMCBhdWRpdCgxNTU0 MzkwOTY4LjcwODoxKTogc3RhdGU9aW5pdGlhbGl6ZWQgYXVkaXRfZW5hYmxlZD0wIHJlcz0xClsg ICAgOS4xMzI5MjBdIGNwdWlkbGU6IHVzaW5nIGdvdmVybm9yIGxhZGRlcgpbICAgIDkuMTM2OTI4 XSBjcHVpZGxlOiB1c2luZyBnb3Zlcm5vciBtZW51ClsgICAgOS4xNDQ5NTBdIEFDUEkgRkFEVCBk ZWNsYXJlcyB0aGUgc3lzdGVtIGRvZXNuJ3Qgc3VwcG9ydCBQQ0llIEFTUE0sIHNvIGRpc2FibGUg aXQKWyAgICA5LjE1MjkxNV0gQUNQSTogYnVzIHR5cGUgUENJIHJlZ2lzdGVyZWQKWyAgICA5LjE1 NjkxNV0gYWNwaXBocDogQUNQSSBIb3QgUGx1ZyBQQ0kgQ29udHJvbGxlciBEcml2ZXIgdmVyc2lv bjogMC41ClsgICAgOS4xNjUwNTBdIFBDSTogTU1DT05GSUcgZm9yIGRvbWFpbiAwMDAwIFtidXMg MDAtZmZdIGF0IFttZW0gMHg4MDAwMDAwMC0weDhmZmZmZmZmXSAoYmFzZSAweDgwMDAwMDAwKQpb ICAgIDkuMTcyOTM4XSBQQ0k6IE1NQ09ORklHIGF0IFttZW0gMHg4MDAwMDAwMC0weDhmZmZmZmZm XSByZXNlcnZlZCBpbiBFODIwClsgICAgOS4xODA5MjZdIFBDSTogVXNpbmcgY29uZmlndXJhdGlv biB0eXBlIDEgZm9yIGJhc2UgYWNjZXNzClsgICAgOS4xODg5MjRdIFBDSTogRGVsbCBTeXN0ZW0g ZGV0ZWN0ZWQsIGVuYWJsaW5nIHBjaT1iZnNvcnQuClsgICAgOS4xOTI5MzJdIGNvcmU6IFBNVSBl cnJhdHVtIEJKMTIyLCBCVjk4LCBIU0QyOSB3b3JrZWQgYXJvdW5kLCBIVCBpcyBvbgpbICAgIDku MjA1MDI0XSBIdWdlVExCIHJlZ2lzdGVyZWQgMS4wMCBHaUIgcGFnZSBzaXplLCBwcmUtYWxsb2Nh dGVkIDAgcGFnZXMKWyAgICA5LjIxMjkxOF0gSHVnZVRMQiByZWdpc3RlcmVkIDIuMDAgTWlCIHBh Z2Ugc2l6ZSwgcHJlLWFsbG9jYXRlZCAwIHBhZ2VzClsgICAgOS4yMjExNTRdIEFDUEk6IEFkZGVk IF9PU0koTW9kdWxlIERldmljZSkKWyAgICA5LjIyNDkxN10gQUNQSTogQWRkZWQgX09TSShQcm9j ZXNzb3IgRGV2aWNlKQpbICAgIDkuMjI4OTE4XSBBQ1BJOiBBZGRlZCBfT1NJKDMuMCBfU0NQIEV4 dGVuc2lvbnMpClsgICAgOS4yMzY5MTRdIEFDUEk6IEFkZGVkIF9PU0koUHJvY2Vzc29yIEFnZ3Jl Z2F0b3IgRGV2aWNlKQpbICAgIDkuMjQwOTE1XSBBQ1BJOiBBZGRlZCBfT1NJKExpbnV4LURlbGwt VmlkZW8pClsgICAgOS4yNDg5MTVdIEFDUEk6IEFkZGVkIF9PU0koTGludXgtTGVub3ZvLU5WLUhE TUktQXVkaW8pClsgICAgOS4yNTI5MTRdIEFDUEk6IEFkZGVkIF9PU0koTGludXgtSFBJLUh5YnJp ZC1HcmFwaGljcykKWyAgICA5LjM4ODQ1M10gQUNQSTogNCBBQ1BJIEFNTCB0YWJsZXMgc3VjY2Vz c2Z1bGx5IGFjcXVpcmVkIGFuZCBsb2FkZWQKWyAgICA5LjQwNzkyN10gQUNQSTogW0Zpcm13YXJl IEJ1Z106IEJJT1MgX09TSShMaW51eCkgcXVlcnkgaWdub3JlZApbICAgIDkuNDI1OTkyXSBBQ1BJ OiBJbnRlcnByZXRlciBlbmFibGVkClsgICAgOS40Mjg5MjVdIEFDUEk6IChzdXBwb3J0cyBTMCBT NSkKWyAgICA5LjQzMjgwNV0gQUNQSTogVXNpbmcgSU9BUElDIGZvciBpbnRlcnJ1cHQgcm91dGlu ZwpbICAgIDkuNDM2OTYwXSBIRVNUOiBUYWJsZSBwYXJzaW5nIGhhcyBiZWVuIGluaXRpYWxpemVk LgpbICAgIDkuNDQ0OTE3XSBQQ0k6IFVzaW5nIGhvc3QgYnJpZGdlIHdpbmRvd3MgZnJvbSBBQ1BJ OyBpZiBuZWNlc3NhcnksIHVzZSAicGNpPW5vY3JzIiBhbmQgcmVwb3J0IGEgYnVnClsgICAgOS40 NTM0ODZdIEFDUEk6IEVuYWJsZWQgMiBHUEVzIGluIGJsb2NrIDAwIHRvIDNGClsgICAgOS40NzI2 MjddIEFDUEk6IFBDSSBSb290IEJyaWRnZSBbVU5DMV0gKGRvbWFpbiAwMDAwIFtidXMgZmZdKQpb ICAgIDkuNDgwOTE5XSBhY3BpIFBOUDBBMDM6MDI6IF9PU0M6IE9TIHN1cHBvcnRzIFtFeHRlbmRl ZENvbmZpZyBBU1BNIENsb2NrUE0gU2VnbWVudHMgTVNJXQpbICAgIDkuNDg4OTc4XSBhY3BpIFBO UDBBMDM6MDI6IFBDSWUgQUVSIGhhbmRsZWQgYnkgZmlybXdhcmUKWyAgICA5LjQ5MzAyN10gYWNw aSBQTlAwQTAzOjAyOiBfT1NDOiBPUyBub3cgY29udHJvbHMgW1BDSWVIb3RwbHVnIFNIUENIb3Rw bHVnIFBNRSBQQ0llQ2FwYWJpbGl0eSBMVFJdClsgICAgOS41MDQ5MTVdIGFjcGkgUE5QMEEwMzow MjogRkFEVCBpbmRpY2F0ZXMgQVNQTSBpcyB1bnN1cHBvcnRlZCwgdXNpbmcgQklPUyBjb25maWd1 cmF0aW9uClsgICAgOS41MTI5NDddIFBDSSBob3N0IGJyaWRnZSB0byBidXMgMDAwMDpmZgpbICAg IDkuNTE2OTE2XSBwY2lfYnVzIDAwMDA6ZmY6IHJvb3QgYnVzIHJlc291cmNlIFtidXMgZmZdClsg ICAgOS41MjgyNDldIEFDUEk6IFBDSSBSb290IEJyaWRnZSBbVU5DMF0gKGRvbWFpbiAwMDAwIFti dXMgN2ZdKQpbICAgIDkuNTMyOTE3XSBhY3BpIFBOUDBBMDM6MDM6IF9PU0M6IE9TIHN1cHBvcnRz IFtFeHRlbmRlZENvbmZpZyBBU1BNIENsb2NrUE0gU2VnbWVudHMgTVNJXQpbICAgIDkuNTQ0OTg0 XSBhY3BpIFBOUDBBMDM6MDM6IFBDSWUgQUVSIGhhbmRsZWQgYnkgZmlybXdhcmUKWyAgICA5LjU0 OTA0MF0gYWNwaSBQTlAwQTAzOjAzOiBfT1NDOiBPUyBub3cgY29udHJvbHMgW1BDSWVIb3RwbHVn IFNIUENIb3RwbHVnIFBNRSBQQ0llQ2FwYWJpbGl0eSBMVFJdClsgICAgOS41NjA5MTVdIGFjcGkg UE5QMEEwMzowMzogRkFEVCBpbmRpY2F0ZXMgQVNQTSBpcyB1bnN1cHBvcnRlZCwgdXNpbmcgQklP UyBjb25maWd1cmF0aW9uClsgICAgOS41Njg5NTddIFBDSSBob3N0IGJyaWRnZSB0byBidXMgMDAw MDo3ZgpbICAgIDkuNTcyOTE2XSBwY2lfYnVzIDAwMDA6N2Y6IHJvb3QgYnVzIHJlc291cmNlIFti dXMgN2ZdClsgICAgOS41ODU4MDldIEFDUEk6IFBDSSBSb290IEJyaWRnZSBbUENJMF0gKGRvbWFp biAwMDAwIFtidXMgMDAtN2VdKQpbICAgIDkuNTkyOTE3XSBhY3BpIFBOUDBBMDg6MDA6IF9PU0M6 IE9TIHN1cHBvcnRzIFtFeHRlbmRlZENvbmZpZyBBU1BNIENsb2NrUE0gU2VnbWVudHMgTVNJXQpb ICAgIDkuNjAwOTcxXSBhY3BpIFBOUDBBMDg6MDA6IFBDSWUgQUVSIGhhbmRsZWQgYnkgZmlybXdh cmUKWyAgICA5LjYwODk3N10gYWNwaSBQTlAwQTA4OjAwOiBfT1NDOiBwbGF0Zm9ybSBkb2VzIG5v dCBzdXBwb3J0IFtTSFBDSG90cGx1ZyBMVFJdClsgICAgOS42MTcwMjRdIGFjcGkgUE5QMEEwODow MDogX09TQzogT1Mgbm93IGNvbnRyb2xzIFtQQ0llSG90cGx1ZyBQTUUgUENJZUNhcGFiaWxpdHld ClsgICAgOS42MjQ5MTVdIGFjcGkgUE5QMEEwODowMDogRkFEVCBpbmRpY2F0ZXMgQVNQTSBpcyB1 bnN1cHBvcnRlZCwgdXNpbmcgQklPUyBjb25maWd1cmF0aW9uClsgICAgOS42MzMwOTFdIFBDSSBo b3N0IGJyaWRnZSB0byBidXMgMDAwMDowMApbICAgIDkuNjM2OTE2XSBwY2lfYnVzIDAwMDA6MDA6 IHJvb3QgYnVzIHJlc291cmNlIFtpbyAgMHgwMDAwLTB4MDNiYiB3aW5kb3ddClsgICAgOS42NDQ5 MTVdIHBjaV9idXMgMDAwMDowMDogcm9vdCBidXMgcmVzb3VyY2UgW2lvICAweDAzYmMtMHgwM2Rm IHdpbmRvd10KWyAgICA5LjY1MjkxNl0gcGNpX2J1cyAwMDAwOjAwOiByb290IGJ1cyByZXNvdXJj ZSBbaW8gIDB4MDNlMC0weDBjZjcgd2luZG93XQpbICAgIDkuNjYwOTE1XSBwY2lfYnVzIDAwMDA6 MDA6IHJvb3QgYnVzIHJlc291cmNlIFtpbyAgMHgxMDAwLTB4N2ZmZiB3aW5kb3ddClsgICAgOS42 Njg5MTVdIHBjaV9idXMgMDAwMDowMDogcm9vdCBidXMgcmVzb3VyY2UgW21lbSAweDAwMGEwMDAw LTB4MDAwYmZmZmYgd2luZG93XQpbICAgIDkuNjc2OTE1XSBwY2lfYnVzIDAwMDA6MDA6IHJvb3Qg YnVzIHJlc291cmNlIFttZW0gMHg5MDAwMDAwMC0weGM3ZmZiZmZmIHdpbmRvd10KWyAgICA5LjY4 NDkxNV0gcGNpX2J1cyAwMDAwOjAwOiByb290IGJ1cyByZXNvdXJjZSBbbWVtIDB4MzgwMDAwMDAw MDAtMHgzYmZmZmZmZmZmZiB3aW5kb3ddClsgICAgOS42OTY5MTVdIHBjaV9idXMgMDAwMDowMDog cm9vdCBidXMgcmVzb3VyY2UgW2J1cyAwMC03ZV0KWyAgICA5LjcwNTI0M10gcGNpIDAwMDA6MDA6 MDEuMDogUENJIGJyaWRnZSB0byBbYnVzIDAzXQpbICAgIDkuNzEyOTUwXSBwY2kgMDAwMDowMDow Mi4wOiBQQ0kgYnJpZGdlIHRvIFtidXMgMDRdClsgICAgOS43MTcxNThdIHBjaSAwMDAwOjAxOjAw LjA6IFZGKG4pIEJBUjAgc3BhY2U6IFttZW0gMHg5MjAwODAwMC0weDkyMTA3ZmZmIDY0Yml0IHBy ZWZdIChjb250YWlucyBCQVIwIGZvciA2NCBWRnMpClsgICAgOS43Mjg5MjddIHBjaSAwMDAwOjAx OjAwLjA6IFZGKG4pIEJBUjMgc3BhY2U6IFttZW0gMHg5MjEwODAwMC0weDkyMjA3ZmZmIDY0Yml0 IHByZWZdIChjb250YWlucyBCQVIzIGZvciA2NCBWRnMpClsgICAgOS43NDEyNTJdIHBjaSAwMDAw OjAxOjAwLjE6IFZGKG4pIEJBUjAgc3BhY2U6IFttZW0gMHg5MWUwNDAwMC0weDkxZjAzZmZmIDY0 Yml0IHByZWZdIChjb250YWlucyBCQVIwIGZvciA2NCBWRnMpClsgICAgOS43NTI5MjddIHBjaSAw MDAwOjAxOjAwLjE6IFZGKG4pIEJBUjMgc3BhY2U6IFttZW0gMHg5MWYwNDAwMC0weDkyMDAzZmZm IDY0Yml0IHByZWZdIChjb250YWlucyBCQVIzIGZvciA2NCBWRnMpClsgICAgOS43NjUxMjFdIHBj aSAwMDAwOjAwOjAzLjA6IFBDSSBicmlkZ2UgdG8gW2J1cyAwMS0wMl0KWyAgICA5Ljc2ODk0M10g cGNpIDAwMDA6MDA6MDMuMjogUENJIGJyaWRnZSB0byBbYnVzIDA1XQpbICAgIDkuNzc2OTQ3XSBw Y2kgMDAwMDowMDoxYy4wOiBQQ0kgYnJpZGdlIHRvIFtidXMgMDZdClsgICAgOS43ODEyNDNdIHBj aSAwMDAwOjA3OjAwLjA6IDguMDAwIEdiL3MgYXZhaWxhYmxlIFBDSWUgYmFuZHdpZHRoLCBsaW1p dGVkIGJ5IDUgR1QvcyB4MiBsaW5rIGF0IDAwMDA6MDA6MWMuNCAoY2FwYWJsZSBvZiAxNi4wMDAg R2IvcyB3aXRoIDUgR1QvcyB4NCBsaW5rKQpbICAgIDkuNzk3MzI4XSBwY2kgMDAwMDowMDoxYy40 OiBQQ0kgYnJpZGdlIHRvIFtidXMgMDddClsgICAgOS44MTgxMTBdIHBjaSAwMDAwOjAwOjFjLjc6 IFBDSSBicmlkZ2UgdG8gW2J1cyAwOC0wY10KWyAgICA5LjgzMzA5M10gcGNpIDAwMDA6MDg6MDAu MDogUENJIGJyaWRnZSB0byBbYnVzIDA5LTBjXQpbICAgIDkuODQ3ODY5XSBwY2kgMDAwMDowOTow MC4wOiBQQ0kgYnJpZGdlIHRvIFtidXMgMGEtMGJdClsgICAgOS44NTQ0NTRdIHBjaV9idXMgMDAw MDowYjogZXh0ZW5kZWQgY29uZmlnIHNwYWNlIG5vdCBhY2Nlc3NpYmxlClsgICAgOS44NjY4ODJd IHBjaSAwMDAwOjBhOjAwLjA6IFBDSSBicmlkZ2UgdG8gW2J1cyAwYl0KWyAgICA5Ljg3NDMxM10g QUNQSTogUENJIEludGVycnVwdCBMaW5rIFtMTktBXSAoSVJRcyAzIDQgNSA2IDcgOSAxMCAxMSAx MiAxNCAqMTUpClsgICAgOS44ODA5NTJdIEFDUEk6IFBDSSBJbnRlcnJ1cHQgTGluayBbTE5LQl0g KElSUXMgMyA0IDUgNiA3IDkgMTAgMTEgMTIgKjE0IDE1KQpbICAgIDkuODg4OTQ5XSBBQ1BJOiBQ Q0kgSW50ZXJydXB0IExpbmsgW0xOS0NdIChJUlFzIDMgNCA1IDYgNyA5IDEwICoxMSAxMiAxNCAx NSkKWyAgICA5Ljg5Njk0OF0gQUNQSTogUENJIEludGVycnVwdCBMaW5rIFtMTktEXSAoSVJRcyAz IDQgNSAqNiA3IDkgMTAgMTEgMTIgMTQgMTUpClsgICAgOS45MDQ5NDhdIEFDUEk6IFBDSSBJbnRl cnJ1cHQgTGluayBbTE5LRV0gKElSUXMgMyA0IDUgNiA3IDkgMTAgMTEgMTIgMTQgMTUpICowLCBk aXNhYmxlZC4KWyAgICA5LjkxNjk1MF0gQUNQSTogUENJIEludGVycnVwdCBMaW5rIFtMTktGXSAo SVJRcyAzIDQgNSA2IDcgOSAxMCAxMSAxMiAxNCAxNSkgKjAsIGRpc2FibGVkLgpbICAgIDkuOTI0 OTQ5XSBBQ1BJOiBQQ0kgSW50ZXJydXB0IExpbmsgW0xOS0ddIChJUlFzIDMgNCA1IDYgNyA5IDEw IDExIDEyIDE0IDE1KSAqMCwgZGlzYWJsZWQuClsgICAgOS45MzY5NDhdIEFDUEk6IFBDSSBJbnRl cnJ1cHQgTGluayBbTE5LSF0gKElSUXMgMyA0IDUgNiA3IDkgMTAgMTEgMTIgMTQgMTUpICowLCBk aXNhYmxlZC4KWyAgICA5Ljk0NTEyNl0gQUNQSTogUENJIFJvb3QgQnJpZGdlIFtQQ0kxXSAoZG9t YWluIDAwMDAgW2J1cyA4MC1mZV0pClsgICAgOS45NTI5MTddIGFjcGkgUE5QMEEwODowMTogX09T QzogT1Mgc3VwcG9ydHMgW0V4dGVuZGVkQ29uZmlnIEFTUE0gQ2xvY2tQTSBTZWdtZW50cyBNU0ld ClsgICAgOS45NjA5NzddIGFjcGkgUE5QMEEwODowMTogUENJZSBBRVIgaGFuZGxlZCBieSBmaXJt d2FyZQpbICAgIDkuOTY5MDI3XSBhY3BpIFBOUDBBMDg6MDE6IF9PU0M6IE9TIG5vdyBjb250cm9s cyBbUENJZUhvdHBsdWcgU0hQQ0hvdHBsdWcgUE1FIFBDSWVDYXBhYmlsaXR5IExUUl0KWyAgICA5 Ljk3NjkxNV0gYWNwaSBQTlAwQTA4OjAxOiBGQURUIGluZGljYXRlcyBBU1BNIGlzIHVuc3VwcG9y dGVkLCB1c2luZyBCSU9TIGNvbmZpZ3VyYXRpb24KWyAgICA5Ljk4NTA0M10gUENJIGhvc3QgYnJp ZGdlIHRvIGJ1cyAwMDAwOjgwClsgICAgOS45OTI5MTZdIHBjaV9idXMgMDAwMDo4MDogcm9vdCBi dXMgcmVzb3VyY2UgW2lvICAweDgwMDAtMHhmZmZmIHdpbmRvd10KWyAgIDEwLjAwMDkxNV0gcGNp X2J1cyAwMDAwOjgwOiByb290IGJ1cyByZXNvdXJjZSBbbWVtIDB4YzgwMDAwMDAtMHhmYmZmYmZm ZiB3aW5kb3ddClsgICAxMC4wMDg5MTVdIHBjaV9idXMgMDAwMDo4MDogcm9vdCBidXMgcmVzb3Vy Y2UgW21lbSAweDNjMDAwMDAwMDAwLTB4M2ZmZmZmZmZmZmYgd2luZG93XQpbICAgMTAuMDE2OTE3 XSBwY2lfYnVzIDAwMDA6ODA6IHJvb3QgYnVzIHJlc291cmNlIFtidXMgODAtZmVdClsgICAxMC4w MzY5MjhdIHBjaSAwMDAwOjgwOjAxLjA6IFBDSSBicmlkZ2UgdG8gW2J1cyA4MS04Ml0KWyAgIDEw LjA0MDk1OV0gcGNpX2J1cyAwMDAwOjgyOiBleHRlbmRlZCBjb25maWcgc3BhY2Ugbm90IGFjY2Vz c2libGUKWyAgIDEwLjA0OTE4M10gcGNpIDAwMDA6ODE6MDAuMDogUENJIGJyaWRnZSB0byBbYnVz IDgyXQpbICAgMTAuMDUyOTczXSBwY2kgMDAwMDo4MDowMy4wOiBQQ0kgYnJpZGdlIHRvIFtidXMg ODNdClsgICAxMC4wNjExNDhdIHBjaSAwMDAwOjBiOjAwLjA6IHZnYWFyYjogc2V0dGluZyBhcyBi b290IFZHQSBkZXZpY2UKWyAgIDEwLjA2NDkxM10gcGNpIDAwMDA6MGI6MDAuMDogdmdhYXJiOiBW R0EgZGV2aWNlIGFkZGVkOiBkZWNvZGVzPWlvK21lbSxvd25zPWlvK21lbSxsb2Nrcz1ub25lClsg ICAxMC4wNzY5MTldIHBjaSAwMDAwOjBiOjAwLjA6IHZnYWFyYjogYnJpZGdlIGNvbnRyb2wgcG9z c2libGUKWyAgIDEwLjA4MDkxNF0gdmdhYXJiOiBsb2FkZWQKWyAgIDEwLjA4NDA5N10gcHBzX2Nv cmU6IExpbnV4UFBTIEFQSSB2ZXIuIDEgcmVnaXN0ZXJlZApbICAgMTAuMDkyOTE1XSBwcHNfY29y ZTogU29mdHdhcmUgdmVyLiA1LjMuNiAtIENvcHlyaWdodCAyMDA1LTIwMDcgUm9kb2xmbyBHaW9t ZXR0aSA8Z2lvbWV0dGlAbGludXguaXQ+ClsgICAxMC4xMDA5MTZdIFBUUCBjbG9jayBzdXBwb3J0 IHJlZ2lzdGVyZWQKWyAgIDEwLjEwNDkzOF0gRURBQyBNQzogVmVyOiAzLjAuMApbICAgMTAuMTA5 MTU0XSBQQ0k6IFVzaW5nIEFDUEkgZm9yIElSUSByb3V0aW5nClsgICAxMC4xMjM0NDhdIGhwZXQw OiBhdCBNTUlPIDB4ZmVkMDAwMDAsIElSUXMgMiwgOCwgMCwgMCwgMCwgMCwgMCwgMApbICAgMTAu MTI4OTE2XSBocGV0MDogOCBjb21wYXJhdG9ycywgNjQtYml0IDE0LjMxODE4MCBNSHogY291bnRl cgpbICAgMTAuMTM5MDM5XSBjbG9ja3NvdXJjZTogU3dpdGNoZWQgdG8gY2xvY2tzb3VyY2UgdHNj LWVhcmx5ClsgICAxMC4xNTM3MzJdIFZGUzogRGlzayBxdW90YXMgZHF1b3RfNi42LjAKWyAgIDEw LjE1ODI0NF0gVkZTOiBEcXVvdC1jYWNoZSBoYXNoIHRhYmxlIGVudHJpZXM6IDUxMiAob3JkZXIg MCwgNDA5NiBieXRlcykKWyAgIDEwLjE2NjE3MV0gQXBwQXJtb3I6IEFwcEFybW9yIEZpbGVzeXN0 ZW0gRW5hYmxlZApbICAgMTAuMTcxNTMwXSBwbnA6IFBuUCBBQ1BJIGluaXQKWyAgIDEwLjE3NTU1 N10gc3lzdGVtIDAwOjAxOiBbaW8gIDB4MDUwMC0weDA1M2ZdIGhhcyBiZWVuIHJlc2VydmVkClsg ICAxMC4xODIyNjldIHN5c3RlbSAwMDowMTogW2lvICAweDA0MDAtMHgwNDdmXSBoYXMgYmVlbiBy ZXNlcnZlZApbICAgMTAuMTg4OTc4XSBzeXN0ZW0gMDA6MDE6IFtpbyAgMHgwNTQwLTB4MDU3Zl0g aGFzIGJlZW4gcmVzZXJ2ZWQKWyAgIDEwLjE5NTY4OF0gc3lzdGVtIDAwOjAxOiBbaW8gIDB4MDYw MC0weDA2MWZdIGhhcyBiZWVuIHJlc2VydmVkClsgICAxMC4yMDIzOTZdIHN5c3RlbSAwMDowMTog W2lvICAweDBjYTAtMHgwY2E1XSBoYXMgYmVlbiByZXNlcnZlZApbICAgMTAuMjA5MTA0XSBzeXN0 ZW0gMDA6MDE6IFtpbyAgMHgwODgwLTB4MDg4M10gaGFzIGJlZW4gcmVzZXJ2ZWQKWyAgIDEwLjIx NTgxMl0gc3lzdGVtIDAwOjAxOiBbaW8gIDB4MDgwMC0weDA4MWZdIGhhcyBiZWVuIHJlc2VydmVk ClsgICAxMC4yMjI1MjFdIHN5c3RlbSAwMDowMTogW21lbSAweGZlZGE4MDAwLTB4ZmVkY2JmZmZd IGNvdWxkIG5vdCBiZSByZXNlcnZlZApbICAgMTAuMjMwMzk2XSBzeXN0ZW0gMDA6MDE6IFttZW0g MHhmZjAwMDAwMC0weGZmZmZmZmZmXSBjb3VsZCBub3QgYmUgcmVzZXJ2ZWQKWyAgIDEwLjIzODI3 MV0gc3lzdGVtIDAwOjAxOiBbbWVtIDB4ZmVlMDAwMDAtMHhmZWVmZmZmZl0gaGFzIGJlZW4gcmVz ZXJ2ZWQKWyAgIDEwLjI0NTc1N10gc3lzdGVtIDAwOjAxOiBbbWVtIDB4ZmVkMTIwMDAtMHhmZWQx MjAwZl0gaGFzIGJlZW4gcmVzZXJ2ZWQKWyAgIDEwLjI1MzI0Ml0gc3lzdGVtIDAwOjAxOiBbbWVt IDB4ZmVkMTIwMTAtMHhmZWQxMjAxZl0gaGFzIGJlZW4gcmVzZXJ2ZWQKWyAgIDEwLjI2MDcyOF0g c3lzdGVtIDAwOjAxOiBbbWVtIDB4ZmVkMWIwMDAtMHhmZWQxYmZmZl0gaGFzIGJlZW4gcmVzZXJ2 ZWQKWyAgIDEwLjI2ODU2Nl0gc3lzdGVtIDAwOjA0OiBbaW8gIDB4MGNhOF0gaGFzIGJlZW4gcmVz ZXJ2ZWQKWyAgIDEwLjI3NDU5OF0gc3lzdGVtIDAwOjA0OiBbaW8gIDB4MGNhY10gaGFzIGJlZW4g cmVzZXJ2ZWQKWyAgIDEwLjI4MDY5OV0gcG5wOiBQblAgQUNQSTogZm91bmQgNSBkZXZpY2VzClsg ICAxMC4yOTEwMzddIGNsb2Nrc291cmNlOiBhY3BpX3BtOiBtYXNrOiAweGZmZmZmZiBtYXhfY3lj bGVzOiAweGZmZmZmZiwgbWF4X2lkbGVfbnM6IDIwODU3MDEwMjQgbnMKWyAgIDEwLjMwMTA3OF0g cGNpIDAwMDA6MDM6MDAuMDogY2FuJ3QgY2xhaW0gQkFSIDYgW21lbSAweGZmZjAwMDAwLTB4ZmZm ZmZmZmYgcHJlZl06IG5vIGNvbXBhdGlibGUgYnJpZGdlIHdpbmRvdwpbICAgMTAuMzEyMjc5XSBw Y2kgMDAwMDowMTowMC4wOiBjYW4ndCBjbGFpbSBCQVIgNiBbbWVtIDB4ZmZmODAwMDAtMHhmZmZm ZmZmZiBwcmVmXTogbm8gY29tcGF0aWJsZSBicmlkZ2Ugd2luZG93ClsgICAxMC4zMjM0ODBdIHBj aSAwMDAwOjAxOjAwLjE6IGNhbid0IGNsYWltIEJBUiA2IFttZW0gMHhmZmY4MDAwMC0weGZmZmZm ZmZmIHByZWZdOiBubyBjb21wYXRpYmxlIGJyaWRnZSB3aW5kb3cKWyAgIDEwLjMzNDY4MV0gcGNp IDAwMDA6MDA6MTEuMDogY2FuJ3QgY2xhaW0gQkFSIDYgW21lbSAweGZmZmYwMDAwLTB4ZmZmZmZm ZmYgcHJlZl06IG5vIGNvbXBhdGlibGUgYnJpZGdlIHdpbmRvdwpbICAgMTAuMzQ1ODgyXSBwY2kg MDAwMDowNzowMC4wOiBjYW4ndCBjbGFpbSBCQVIgNiBbbWVtIDB4ZmZmODAwMDAtMHhmZmZmZmZm ZiBwcmVmXTogbm8gY29tcGF0aWJsZSBicmlkZ2Ugd2luZG93ClsgICAxMC4zNTcwODNdIHBjaSAw MDAwOjA3OjAwLjE6IGNhbid0IGNsYWltIEJBUiA2IFttZW0gMHhmZmY4MDAwMC0weGZmZmZmZmZm IHByZWZdOiBubyBjb21wYXRpYmxlIGJyaWRnZSB3aW5kb3cKWyAgIDEwLjM2OTA4Ml0gcGNpIDAw MDA6MDA6MDMuMDogQkFSIDE0OiBhc3NpZ25lZCBbbWVtIDB4OTI4MDAwMDAtMHg5MjhmZmZmZl0K WyAgIDEwLjM3Njg2M10gcGNpIDAwMDA6MDA6MTEuMDogQkFSIDY6IGFzc2lnbmVkIFttZW0gMHg5 MjcxMDAwMC0weDkyNzFmZmZmIHByZWZdClsgICAxMC4zODUwNTJdIHBjaSAwMDAwOjAzOjAwLjA6 IEJBUiA2OiBubyBzcGFjZSBmb3IgW21lbSBzaXplIDB4MDAxMDAwMDAgcHJlZl0KWyAgIDEwLjM5 MzAyNF0gcGNpIDAwMDA6MDM6MDAuMDogQkFSIDY6IGZhaWxlZCB0byBhc3NpZ24gW21lbSBzaXpl IDB4MDAxMDAwMDAgcHJlZl0KWyAgIDEwLjQwMTQwNl0gcGNpIDAwMDA6MDA6MDEuMDogUENJIGJy aWRnZSB0byBbYnVzIDAzXQpbICAgMTAuNDA3MDQ2XSBwY2kgMDAwMDowMDowMS4wOiAgIGJyaWRn ZSB3aW5kb3cgW2lvICAweDIwMDAtMHgyZmZmXQpbICAgMTAuNDEzOTUxXSBwY2kgMDAwMDowMDow MS4wOiAgIGJyaWRnZSB3aW5kb3cgW21lbSAweDkyNTAwMDAwLTB4OTI2ZmZmZmZdClsgICAxMC40 MjE2MzVdIHBjaSAwMDAwOjAwOjAyLjA6IFBDSSBicmlkZ2UgdG8gW2J1cyAwNF0KWyAgIDEwLjQy NzI3OV0gcGNpIDAwMDA6MDE6MDAuMDogQkFSIDY6IGFzc2lnbmVkIFttZW0gMHg5MjgwMDAwMC0w eDkyODdmZmZmIHByZWZdClsgICAxMC40MzU0NjldIHBjaSAwMDAwOjAxOjAwLjE6IEJBUiA2OiBh c3NpZ25lZCBbbWVtIDB4OTI4ODAwMDAtMHg5MjhmZmZmZiBwcmVmXQpbICAgMTAuNDQzNjU2XSBw Y2kgMDAwMDowMDowMy4wOiBQQ0kgYnJpZGdlIHRvIFtidXMgMDEtMDJdClsgICAxMC40NDk1ODld IHBjaSAwMDAwOjAwOjAzLjA6ICAgYnJpZGdlIHdpbmRvdyBbbWVtIDB4OTI4MDAwMDAtMHg5Mjhm ZmZmZl0KWyAgIDEwLjQ1NzI3MV0gcGNpIDAwMDA6MDA6MDMuMDogICBicmlkZ2Ugd2luZG93IFtt ZW0gMHg5MWEwMDAwMC0weDkyMmZmZmZmIDY0Yml0IHByZWZdClsgICAxMC40NjYwMzVdIHBjaSAw MDAwOjAwOjAzLjI6IFBDSSBicmlkZ2UgdG8gW2J1cyAwNV0KWyAgIDEwLjQ3MTY3OV0gcGNpIDAw MDA6MDA6MWMuMDogUENJIGJyaWRnZSB0byBbYnVzIDA2XQpbICAgMTAuNDc3MzI5XSBwY2kgMDAw MDowNzowMC4wOiBCQVIgNjogYXNzaWduZWQgW21lbSAweDkyNDgwMDAwLTB4OTI0ZmZmZmYgcHJl Zl0KWyAgIDEwLjQ4NTUxOF0gcGNpIDAwMDA6MDc6MDAuMTogQkFSIDY6IG5vIHNwYWNlIGZvciBb bWVtIHNpemUgMHgwMDA4MDAwMCBwcmVmXQpbICAgMTAuNDkzNDg5XSBwY2kgMDAwMDowNzowMC4x OiBCQVIgNjogZmFpbGVkIHRvIGFzc2lnbiBbbWVtIHNpemUgMHgwMDA4MDAwMCBwcmVmXQpbICAg MTAuNTAxODcwXSBwY2kgMDAwMDowMDoxYy40OiBQQ0kgYnJpZGdlIHRvIFtidXMgMDddClsgICAx MC41MDc1MTFdIHBjaSAwMDAwOjAwOjFjLjQ6ICAgYnJpZGdlIHdpbmRvdyBbbWVtIDB4OTIzMDAw MDAtMHg5MjRmZmZmZl0KWyAgIDEwLjUxNTIwOV0gcGNpIDAwMDA6MGE6MDAuMDogUENJIGJyaWRn ZSB0byBbYnVzIDBiXQpbICAgMTAuNTIwOTk4XSBwY2kgMDAwMDowYTowMC4wOiAgIGJyaWRnZSB3 aW5kb3cgW21lbSAweDkxMDAwMDAwLTB4OTE4ZmZmZmZdClsgICAxMC41Mjg3NzNdIHBjaSAwMDAw OjBhOjAwLjA6ICAgYnJpZGdlIHdpbmRvdyBbbWVtIDB4OTAwMDAwMDAtMHg5MGZmZmZmZiA2NGJp dCBwcmVmXQpbICAgMTAuNTM3NzQ0XSBwY2kgMDAwMDowOTowMC4wOiBQQ0kgYnJpZGdlIHRvIFti dXMgMGEtMGJdClsgICAxMC41NDM4MjBdIHBjaSAwMDAwOjA5OjAwLjA6ICAgYnJpZGdlIHdpbmRv dyBbbWVtIDB4OTEwMDAwMDAtMHg5MThmZmZmZl0KWyAgIDEwLjU1MTU5NV0gcGNpIDAwMDA6MDk6 MDAuMDogICBicmlkZ2Ugd2luZG93IFttZW0gMHg5MDAwMDAwMC0weDkwZmZmZmZmIDY0Yml0IHBy ZWZdClsgICAxMC41NjA1NjZdIHBjaSAwMDAwOjA4OjAwLjA6IFBDSSBicmlkZ2UgdG8gW2J1cyAw OS0wY10KWyAgIDEwLjU2NjYyOV0gcGNpIDAwMDA6MDg6MDAuMDogICBicmlkZ2Ugd2luZG93IFtt ZW0gMHg5MTAwMDAwMC0weDkxOWZmZmZmXQpbICAgMTAuNTc0MzkyXSBwY2kgMDAwMDowODowMC4w OiAgIGJyaWRnZSB3aW5kb3cgW21lbSAweDkwMDAwMDAwLTB4OTBmZmZmZmYgNjRiaXQgcHJlZl0K WyAgIDEwLjU4MzM4M10gcGNpIDAwMDA6MDA6MWMuNzogUENJIGJyaWRnZSB0byBbYnVzIDA4LTBj XQpbICAgMTAuNTg5MzE3XSBwY2kgMDAwMDowMDoxYy43OiAgIGJyaWRnZSB3aW5kb3cgW21lbSAw eDkxMDAwMDAwLTB4OTE5ZmZmZmZdClsgICAxMC41OTY5OTldIHBjaSAwMDAwOjAwOjFjLjc6ICAg YnJpZGdlIHdpbmRvdyBbbWVtIDB4OTAwMDAwMDAtMHg5MGZmZmZmZiA2NGJpdCBwcmVmXQpbICAg MTAuNjA1ODU1XSBwY2kgMDAwMDo4MTowMC4wOiBQQ0kgYnJpZGdlIHRvIFtidXMgODJdClsgICAx MC42MTE1MDBdIHBjaSAwMDAwOjgxOjAwLjA6ICAgYnJpZGdlIHdpbmRvdyBbbWVtIDB4YzgwMDAw MDAtMHhjODBmZmZmZl0KWyAgIDEwLjYxOTE4OV0gcGNpIDAwMDA6ODA6MDEuMDogUENJIGJyaWRn ZSB0byBbYnVzIDgxLTgyXQpbICAgMTAuNjI1MTIyXSBwY2kgMDAwMDo4MDowMS4wOiAgIGJyaWRn ZSB3aW5kb3cgW21lbSAweGM4MDAwMDAwLTB4YzgwZmZmZmZdClsgICAxMC42MzI4MDZdIHBjaSAw MDAwOjgwOjAzLjA6IFBDSSBicmlkZ2UgdG8gW2J1cyA4M10KWyAgIDEwLjYzODUzNl0gTkVUOiBS ZWdpc3RlcmVkIHByb3RvY29sIGZhbWlseSAyClsgICAxMC42NDM3OTNdIHRjcF9saXN0ZW5fcG9y dGFkZHJfaGFzaCBoYXNoIHRhYmxlIGVudHJpZXM6IDY1NTM2IChvcmRlcjogOCwgMTA0ODU3NiBi eXRlcykKWyAgIDEwLjY1MzIwMl0gVENQIGVzdGFibGlzaGVkIGhhc2ggdGFibGUgZW50cmllczog NTI0Mjg4IChvcmRlcjogMTAsIDQxOTQzMDQgYnl0ZXMpClsgICAxMC42NjIyNjBdIFRDUCBiaW5k IGhhc2ggdGFibGUgZW50cmllczogNjU1MzYgKG9yZGVyOiA4LCAxMDQ4NTc2IGJ5dGVzKQpbICAg MTAuNjY5OTc4XSBUQ1A6IEhhc2ggdGFibGVzIGNvbmZpZ3VyZWQgKGVzdGFibGlzaGVkIDUyNDI4 OCBiaW5kIDY1NTM2KQpbICAgMTAuNjc3NjY4XSBVRFAgaGFzaCB0YWJsZSBlbnRyaWVzOiA2NTUz NiAob3JkZXI6IDksIDIwOTcxNTIgYnl0ZXMpClsgICAxMC42ODUwODhdIFVEUC1MaXRlIGhhc2gg dGFibGUgZW50cmllczogNjU1MzYgKG9yZGVyOiA5LCAyMDk3MTUyIGJ5dGVzKQpbICAgMTAuNjkz MjQyXSBORVQ6IFJlZ2lzdGVyZWQgcHJvdG9jb2wgZmFtaWx5IDEKWyAgIDEwLjY5ODI0MF0gREVC VUc6IFBhc3NlZCBxdWlya191c2JfZWFybHlfaGFuZG9mZiAxMzAwClsgICAxMC43MDQyNzFdIERF QlVHOiBQYXNzZWQgcXVpcmtfdXNiX2Vhcmx5X2hhbmRvZmYgMTMwOApbICAgMTAuNzEwMjA2XSBE RUJVRzogUGFzc2VkIHF1aXJrX3VzYl9kaXNhYmxlX2VoY2kgOTM5ClsgICAxMC43MTU5NDldIERF QlVHOiBQYXNzZWQgcXVpcmtfdXNiX2Rpc2FibGVfZWhjaSA5NDUKWyAgIDEwLjcyMTY4NV0gREVC VUc6IFBhc3NlZCBxdWlya191c2JfZGlzYWJsZV9laGNpIDk1MApbICAgMTAuNzI3NDIzXSBERUJV RzogUGFzc2VkIHF1aXJrX3VzYl9kaXNhYmxlX2VoY2kgOTU4ClsgICAxMC43MzMxNjBdIERFQlVH OiBQYXNzZWQgcXVpcmtfdXNiX2Rpc2FibGVfZWhjaSA5NjQKWyAgIDEwLjczODg5N10gREVCVUc6 IFBhc3NlZCBxdWlya191c2JfZGlzYWJsZV9laGNpIDk2OApbICAgMTAuNzQ0NjMzXSBERUJVRzog UGFzc2VkIGVoY2lfYmlvc19oYW5kb2ZmIDg0OQpbICAgMTAuNzQ5ODg0XSBERUJVRzogUGFzc2Vk IGVoY2lfYmlvc19oYW5kb2ZmIDg4NAo= --000000000000ab51c30585b7cf23 Content-Type: text/x-csrc; charset="US-ASCII"; name="pci-quirks.c" Content-Disposition: attachment; filename="pci-quirks.c" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_ju2x8mwq1 Ly8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAKLyoKICogVGhpcyBmaWxlIGNvbnRh aW5zIGNvZGUgdG8gcmVzZXQgYW5kIGluaXRpYWxpemUgVVNCIGhvc3QgY29udHJvbGxlcnMuCiAq IFNvbWUgb2YgaXQgaW5jbHVkZXMgd29yay1hcm91bmRzIGZvciBQQ0kgaGFyZHdhcmUgYW5kIEJJ T1MgcXVpcmtzLgogKiBJdCBtYXkgbmVlZCB0byBydW4gZWFybHkgZHVyaW5nIGJvb3RpbmcgLS0g YmVmb3JlIFVTQiB3b3VsZCBub3JtYWxseQogKiBpbml0aWFsaXplIC0tIHRvIGVuc3VyZSB0aGF0 IExpbnV4IGRvZXNuJ3QgdXNlIGFueSBsZWdhY3kgbW9kZXMuCiAqCiAqICBDb3B5cmlnaHQgKGMp IDE5OTkgTWFydGluIE1hcmVzIDxtakB1Y3cuY3o+CiAqICAoYW5kIG90aGVycykKICovCgojaW5j bHVkZSA8bGludXgvdHlwZXMuaD4KI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgojaW5jbHVkZSA8 bGludXgvcGNpLmg+CiNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgojaW5jbHVkZSA8bGludXgvZXhw b3J0Lmg+CiNpbmNsdWRlIDxsaW51eC9hY3BpLmg+CiNpbmNsdWRlIDxsaW51eC9kbWkuaD4KI2lu Y2x1ZGUgInBjaS1xdWlya3MuaCIKI2luY2x1ZGUgInhoY2ktZXh0LWNhcHMuaCIKCgojZGVmaW5l IFVIQ0lfVVNCTEVHU1VQCQkweGMwCQkvKiBsZWdhY3kgc3VwcG9ydCAqLwojZGVmaW5lIFVIQ0lf VVNCQ01ECQkwCQkvKiBjb21tYW5kIHJlZ2lzdGVyICovCiNkZWZpbmUgVUhDSV9VU0JJTlRSCQk0 CQkvKiBpbnRlcnJ1cHQgcmVnaXN0ZXIgKi8KI2RlZmluZSBVSENJX1VTQkxFR1NVUF9SV0MJMHg4 ZjAwCQkvKiB0aGUgUi9XQyBiaXRzICovCiNkZWZpbmUgVUhDSV9VU0JMRUdTVVBfUk8JMHg1MDQw CQkvKiBSL08gYW5kIHJlc2VydmVkIGJpdHMgKi8KI2RlZmluZSBVSENJX1VTQkNNRF9SVU4JCTB4 MDAwMQkJLyogUlVOL1NUT1AgYml0ICovCiNkZWZpbmUgVUhDSV9VU0JDTURfSENSRVNFVAkweDAw MDIJCS8qIEhvc3QgQ29udHJvbGxlciByZXNldCAqLwojZGVmaW5lIFVIQ0lfVVNCQ01EX0VHU00J MHgwMDA4CQkvKiBHbG9iYWwgU3VzcGVuZCBNb2RlICovCiNkZWZpbmUgVUhDSV9VU0JDTURfQ09O RklHVVJFCTB4MDA0MAkJLyogQ29uZmlnIEZsYWcgKi8KI2RlZmluZSBVSENJX1VTQklOVFJfUkVT VU1FCTB4MDAwMgkJLyogUmVzdW1lIGludGVycnVwdCBlbmFibGUgKi8KCiNkZWZpbmUgT0hDSV9D T05UUk9MCQkweDA0CiNkZWZpbmUgT0hDSV9DTURTVEFUVVMJCTB4MDgKI2RlZmluZSBPSENJX0lO VFJTVEFUVVMJCTB4MGMKI2RlZmluZSBPSENJX0lOVFJFTkFCTEUJCTB4MTAKI2RlZmluZSBPSENJ X0lOVFJESVNBQkxFCTB4MTQKI2RlZmluZSBPSENJX0ZNSU5URVJWQUwJCTB4MzQKI2RlZmluZSBP SENJX0hDRlMJCSgzIDw8IDYpCS8qIGhjIGZ1bmN0aW9uYWwgc3RhdGUgKi8KI2RlZmluZSBPSENJ X0hDUgkJKDEgPDwgMCkJLyogaG9zdCBjb250cm9sbGVyIHJlc2V0ICovCiNkZWZpbmUgT0hDSV9P Q1IJCSgxIDw8IDMpCS8qIG93bmVyc2hpcCBjaGFuZ2UgcmVxdWVzdCAqLwojZGVmaW5lIE9IQ0lf Q1RSTF9SV0MJCSgxIDw8IDkpCS8qIHJlbW90ZSB3YWtldXAgY29ubmVjdGVkICovCiNkZWZpbmUg T0hDSV9DVFJMX0lSCQkoMSA8PCA4KQkvKiBpbnRlcnJ1cHQgcm91dGluZyAqLwojZGVmaW5lIE9I Q0lfSU5UUl9PQwkJKDEgPDwgMzApCS8qIG93bmVyc2hpcCBjaGFuZ2UgKi8KCiNkZWZpbmUgRUhD SV9IQ0NfUEFSQU1TCQkweDA4CQkvKiBleHRlbmRlZCBjYXBhYmlsaXRpZXMgKi8KI2RlZmluZSBF SENJX1VTQkNNRAkJMAkJLyogY29tbWFuZCByZWdpc3RlciAqLwojZGVmaW5lIEVIQ0lfVVNCQ01E X1JVTgkJKDEgPDwgMCkJLyogUlVOL1NUT1AgYml0ICovCiNkZWZpbmUgRUhDSV9VU0JTVFMJCTQJ CS8qIHN0YXR1cyByZWdpc3RlciAqLwojZGVmaW5lIEVIQ0lfVVNCU1RTX0hBTFRFRAkoMSA8PCAx MikJLyogSENIYWx0ZWQgYml0ICovCiNkZWZpbmUgRUhDSV9VU0JJTlRSCQk4CQkvKiBpbnRlcnJ1 cHQgcmVnaXN0ZXIgKi8KI2RlZmluZSBFSENJX0NPTkZJR0ZMQUcJCTB4NDAJCS8qIGNvbmZpZ3Vy ZWQgZmxhZyByZWdpc3RlciAqLwojZGVmaW5lIEVIQ0lfVVNCTEVHU1VQCQkwCQkvKiBsZWdhY3kg c3VwcG9ydCByZWdpc3RlciAqLwojZGVmaW5lIEVIQ0lfVVNCTEVHU1VQX0JJT1MJKDEgPDwgMTYp CS8qIEJJT1Mgc2VtYXBob3JlICovCiNkZWZpbmUgRUhDSV9VU0JMRUdTVVBfT1MJKDEgPDwgMjQp CS8qIE9TIHNlbWFwaG9yZSAqLwojZGVmaW5lIEVIQ0lfVVNCTEVHQ1RMU1RTCTQJCS8qIGxlZ2Fj eSBjb250cm9sL3N0YXR1cyAqLwojZGVmaW5lIEVIQ0lfVVNCTEVHQ1RMU1RTX1NPT0UJKDEgPDwg MTMpCS8qIFNNSSBvbiBvd25lcnNoaXAgY2hhbmdlICovCgovKiBBTUQgcXVpcmsgdXNlICovCiNk ZWZpbmUJQUJfUkVHX0JBUl9MT1cJCTB4ZTAKI2RlZmluZQlBQl9SRUdfQkFSX0hJR0gJCTB4ZTEK I2RlZmluZQlBQl9SRUdfQkFSX1NCNzAwCTB4ZjAKI2RlZmluZQlBQl9JTkRYKGFkZHIpCQkoKGFk ZHIpICsgMHgwMCkKI2RlZmluZQlBQl9EQVRBKGFkZHIpCQkoKGFkZHIpICsgMHgwNCkKI2RlZmlu ZQlBWF9JTkRYQwkJMHgzMAojZGVmaW5lCUFYX0RBVEFDCQkweDM0CgojZGVmaW5lIFBUX0FERFJf SU5EWAkJMHhFOAojZGVmaW5lIFBUX1JFQURfSU5EWAkJMHhFNAojZGVmaW5lIFBUX1NJR18xX0FE RFIJCTB4QTUyMAojZGVmaW5lIFBUX1NJR18yX0FERFIJCTB4QTUyMQojZGVmaW5lIFBUX1NJR18z X0FERFIJCTB4QTUyMgojZGVmaW5lIFBUX1NJR180X0FERFIJCTB4QTUyMwojZGVmaW5lIFBUX1NJ R18xX0RBVEEJCTB4NzgKI2RlZmluZSBQVF9TSUdfMl9EQVRBCQkweDU2CiNkZWZpbmUgUFRfU0lH XzNfREFUQQkJMHgzNAojZGVmaW5lIFBUX1NJR180X0RBVEEJCTB4MTIKI2RlZmluZSBQVDRfUDFf UkVHCQkweEI1MjEKI2RlZmluZSBQVDRfUDJfUkVHCQkweEI1MjIKI2RlZmluZSBQVDJfUDFfUkVH CQkweEQ1MjAKI2RlZmluZSBQVDJfUDJfUkVHCQkweEQ1MjEKI2RlZmluZSBQVDFfUDFfUkVHCQkw eEQ1MjIKI2RlZmluZSBQVDFfUDJfUkVHCQkweEQ1MjMKCiNkZWZpbmUJTkJfUENJRV9JTkRYX0FE RFIJMHhlMAojZGVmaW5lCU5CX1BDSUVfSU5EWF9EQVRBCTB4ZTQKI2RlZmluZQlQQ0lFX1BfQ05U TAkJMHgxMDA0MAojZGVmaW5lCUJJRl9OQgkJCTB4MTAwMDIKI2RlZmluZQlOQl9QSUYwX1BXUkRP V05fMAkweDAxMTAwMDEyCiNkZWZpbmUJTkJfUElGMF9QV1JET1dOXzEJMHgwMTEwMDAxMwoKI2Rl ZmluZSBVU0JfSU5URUxfWFVTQjJQUiAgICAgIDB4RDAKI2RlZmluZSBVU0JfSU5URUxfVVNCMlBS TSAgICAgIDB4RDQKI2RlZmluZSBVU0JfSU5URUxfVVNCM19QU1NFTiAgIDB4RDgKI2RlZmluZSBV U0JfSU5URUxfVVNCM1BSTSAgICAgIDB4REMKCi8qIEFTTUVESUEgcXVpcmsgdXNlICovCiNkZWZp bmUgQVNNVF9EQVRBX1dSSVRFMF9SRUcJMHhGOAojZGVmaW5lIEFTTVRfREFUQV9XUklURTFfUkVH CTB4RkMKI2RlZmluZSBBU01UX0NPTlRST0xfUkVHCTB4RTAKI2RlZmluZSBBU01UX0NPTlRST0xf V1JJVEVfQklUCTB4MDIKI2RlZmluZSBBU01UX1dSSVRFUkVHX0NNRAkweDEwNDIzCiNkZWZpbmUg QVNNVF9GTE9XQ1RMX0FERFIJMHhGQTMwCiNkZWZpbmUgQVNNVF9GTE9XQ1RMX0RBVEEJMHhCQQoj ZGVmaW5lIEFTTVRfUFNFVURPX0RBVEEJMAoKLyoKICogYW1kX2NoaXBzZXRfZ2VuIHZhbHVlcyBy ZXByZXNlbnQgQU1EIGRpZmZlcmVudCBjaGlwc2V0IGdlbmVyYXRpb25zCiAqLwplbnVtIGFtZF9j aGlwc2V0X2dlbiB7CglOT1RfQU1EX0NISVBTRVQgPSAwLAoJQU1EX0NISVBTRVRfU0I2MDAsCglB TURfQ0hJUFNFVF9TQjcwMCwKCUFNRF9DSElQU0VUX1NCODAwLAoJQU1EX0NISVBTRVRfSFVEU09O MiwKCUFNRF9DSElQU0VUX0JPTFRPTiwKCUFNRF9DSElQU0VUX1lBTkdUWkUsCglBTURfQ0hJUFNF VF9UQUlTSEFOLAoJQU1EX0NISVBTRVRfVU5LTk9XTiwKfTsKCnN0cnVjdCBhbWRfY2hpcHNldF90 eXBlIHsKCWVudW0gYW1kX2NoaXBzZXRfZ2VuIGdlbjsKCXU4IHJldjsKfTsKCnN0YXRpYyBzdHJ1 Y3QgYW1kX2NoaXBzZXRfaW5mbyB7CglzdHJ1Y3QgcGNpX2RldgkqbmJfZGV2OwoJc3RydWN0IHBj aV9kZXYJKnNtYnVzX2RldjsKCWludCBuYl90eXBlOwoJc3RydWN0IGFtZF9jaGlwc2V0X3R5cGUg c2JfdHlwZTsKCWludCBpc29jX3JlcXM7CglpbnQgcHJvYmVfY291bnQ7CglpbnQgcHJvYmVfcmVz dWx0Owp9IGFtZF9jaGlwc2V0OwoKc3RhdGljIERFRklORV9TUElOTE9DSyhhbWRfbG9jayk7Cgov KgogKiBhbWRfY2hpcHNldF9zYl90eXBlX2luaXQgLSBpbml0aWFsaXplIGFtZCBjaGlwc2V0IHNv dXRoYnJpZGdlIHR5cGUKICoKICogQU1EIEZDSC9TQiBnZW5lcmF0aW9uIGFuZCByZXZpc2lvbiBp cyBpZGVudGlmaWVkIGJ5IFNNQnVzIGNvbnRyb2xsZXIKICogdmVuZG9yLCBkZXZpY2UgYW5kIHJl dmlzaW9uIElEcy4KICoKICogUmV0dXJuczogMSBpZiBpdCBpcyBhbiBBTUQgY2hpcHNldCwgMCBv dGhlcndpc2UuCiAqLwpzdGF0aWMgaW50IGFtZF9jaGlwc2V0X3NiX3R5cGVfaW5pdChzdHJ1Y3Qg YW1kX2NoaXBzZXRfaW5mbyAqcGluZm8pCnsKCXU4IHJldiA9IDA7CglwaW5mby0+c2JfdHlwZS5n ZW4gPSBBTURfQ0hJUFNFVF9VTktOT1dOOwoKCXBpbmZvLT5zbWJ1c19kZXYgPSBwY2lfZ2V0X2Rl dmljZShQQ0lfVkVORE9SX0lEX0FUSSwKCQkJUENJX0RFVklDRV9JRF9BVElfU0JYMDBfU01CVVMs IE5VTEwpOwoJaWYgKHBpbmZvLT5zbWJ1c19kZXYpIHsKCQlyZXYgPSBwaW5mby0+c21idXNfZGV2 LT5yZXZpc2lvbjsKCQlpZiAocmV2ID49IDB4MTAgJiYgcmV2IDw9IDB4MWYpCgkJCXBpbmZvLT5z Yl90eXBlLmdlbiA9IEFNRF9DSElQU0VUX1NCNjAwOwoJCWVsc2UgaWYgKHJldiA+PSAweDMwICYm IHJldiA8PSAweDNmKQoJCQlwaW5mby0+c2JfdHlwZS5nZW4gPSBBTURfQ0hJUFNFVF9TQjcwMDsK CQllbHNlIGlmIChyZXYgPj0gMHg0MCAmJiByZXYgPD0gMHg0ZikKCQkJcGluZm8tPnNiX3R5cGUu Z2VuID0gQU1EX0NISVBTRVRfU0I4MDA7Cgl9IGVsc2UgewoJCXBpbmZvLT5zbWJ1c19kZXYgPSBw Y2lfZ2V0X2RldmljZShQQ0lfVkVORE9SX0lEX0FNRCwKCQkJCVBDSV9ERVZJQ0VfSURfQU1EX0hV RFNPTjJfU01CVVMsIE5VTEwpOwoKCQlpZiAocGluZm8tPnNtYnVzX2RldikgewoJCQlyZXYgPSBw aW5mby0+c21idXNfZGV2LT5yZXZpc2lvbjsKCQkJaWYgKHJldiA+PSAweDExICYmIHJldiA8PSAw eDE0KQoJCQkJcGluZm8tPnNiX3R5cGUuZ2VuID0gQU1EX0NISVBTRVRfSFVEU09OMjsKCQkJZWxz ZSBpZiAocmV2ID49IDB4MTUgJiYgcmV2IDw9IDB4MTgpCgkJCQlwaW5mby0+c2JfdHlwZS5nZW4g PSBBTURfQ0hJUFNFVF9CT0xUT047CgkJCWVsc2UgaWYgKHJldiA+PSAweDM5ICYmIHJldiA8PSAw eDNhKQoJCQkJcGluZm8tPnNiX3R5cGUuZ2VuID0gQU1EX0NISVBTRVRfWUFOR1RaRTsKCQl9IGVs c2UgewoJCQlwaW5mby0+c21idXNfZGV2ID0gcGNpX2dldF9kZXZpY2UoUENJX1ZFTkRPUl9JRF9B TUQsCgkJCQkJCQkgIDB4MTQ1YywgTlVMTCk7CgkJCWlmIChwaW5mby0+c21idXNfZGV2KSB7CgkJ CQlyZXYgPSBwaW5mby0+c21idXNfZGV2LT5yZXZpc2lvbjsKCQkJCXBpbmZvLT5zYl90eXBlLmdl biA9IEFNRF9DSElQU0VUX1RBSVNIQU47CgkJCX0gZWxzZSB7CgkJCQlwaW5mby0+c2JfdHlwZS5n ZW4gPSBOT1RfQU1EX0NISVBTRVQ7CgkJCQlyZXR1cm4gMDsKCQkJfQoJCX0KCX0KCXBpbmZvLT5z Yl90eXBlLnJldiA9IHJldjsKCXJldHVybiAxOwp9Cgp2b2lkIHNiODAwX3ByZWZldGNoKHN0cnVj dCBkZXZpY2UgKmRldiwgaW50IG9uKQp7Cgl1MTYgbWlzYzsKCXN0cnVjdCBwY2lfZGV2ICpwZGV2 ID0gdG9fcGNpX2RldihkZXYpOwoKCXBjaV9yZWFkX2NvbmZpZ193b3JkKHBkZXYsIDB4NTAsICZt aXNjKTsKCWlmIChvbiA9PSAwKQoJCXBjaV93cml0ZV9jb25maWdfd29yZChwZGV2LCAweDUwLCBt aXNjICYgMHhmY2ZmKTsKCWVsc2UKCQlwY2lfd3JpdGVfY29uZmlnX3dvcmQocGRldiwgMHg1MCwg bWlzYyB8IDB4MDMwMCk7Cn0KRVhQT1JUX1NZTUJPTF9HUEwoc2I4MDBfcHJlZmV0Y2gpOwoKaW50 IHVzYl9hbWRfZmluZF9jaGlwc2V0X2luZm8odm9pZCkKewoJdW5zaWduZWQgbG9uZyBmbGFnczsK CXN0cnVjdCBhbWRfY2hpcHNldF9pbmZvIGluZm87CglpbnQgcmV0OwoKCXNwaW5fbG9ja19pcnFz YXZlKCZhbWRfbG9jaywgZmxhZ3MpOwoKCS8qIHByb2JlIG9ubHkgb25jZSAqLwoJaWYgKGFtZF9j aGlwc2V0LnByb2JlX2NvdW50ID4gMCkgewoJCWFtZF9jaGlwc2V0LnByb2JlX2NvdW50Kys7CgkJ c3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmYW1kX2xvY2ssIGZsYWdzKTsKCQlyZXR1cm4gYW1kX2No aXBzZXQucHJvYmVfcmVzdWx0OwoJfQoJbWVtc2V0KCZpbmZvLCAwLCBzaXplb2YoaW5mbykpOwoJ c3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmYW1kX2xvY2ssIGZsYWdzKTsKCglpZiAoIWFtZF9jaGlw c2V0X3NiX3R5cGVfaW5pdCgmaW5mbykpIHsKCQlyZXQgPSAwOwoJCWdvdG8gY29tbWl0OwoJfQoK CS8qIEJlbG93IGNoaXBzZXQgZ2VuZXJhdGlvbnMgbmVlZG4ndCBlbmFibGUgQU1EIFBMTCBxdWly ayAqLwoJaWYgKGluZm8uc2JfdHlwZS5nZW4gPT0gQU1EX0NISVBTRVRfVU5LTk9XTiB8fAoJCQlp bmZvLnNiX3R5cGUuZ2VuID09IEFNRF9DSElQU0VUX1NCNjAwIHx8CgkJCWluZm8uc2JfdHlwZS5n ZW4gPT0gQU1EX0NISVBTRVRfWUFOR1RaRSB8fAoJCQkoaW5mby5zYl90eXBlLmdlbiA9PSBBTURf Q0hJUFNFVF9TQjcwMCAmJgoJCQlpbmZvLnNiX3R5cGUucmV2ID4gMHgzYikpIHsKCQlpZiAoaW5m by5zbWJ1c19kZXYpIHsKCQkJcGNpX2Rldl9wdXQoaW5mby5zbWJ1c19kZXYpOwoJCQlpbmZvLnNt YnVzX2RldiA9IE5VTEw7CgkJfQoJCXJldCA9IDA7CgkJZ290byBjb21taXQ7Cgl9CgoJaW5mby5u Yl9kZXYgPSBwY2lfZ2V0X2RldmljZShQQ0lfVkVORE9SX0lEX0FNRCwgMHg5NjAxLCBOVUxMKTsK CWlmIChpbmZvLm5iX2RldikgewoJCWluZm8ubmJfdHlwZSA9IDE7Cgl9IGVsc2UgewoJCWluZm8u bmJfZGV2ID0gcGNpX2dldF9kZXZpY2UoUENJX1ZFTkRPUl9JRF9BTUQsIDB4MTUxMCwgTlVMTCk7 CgkJaWYgKGluZm8ubmJfZGV2KSB7CgkJCWluZm8ubmJfdHlwZSA9IDI7CgkJfSBlbHNlIHsKCQkJ aW5mby5uYl9kZXYgPSBwY2lfZ2V0X2RldmljZShQQ0lfVkVORE9SX0lEX0FNRCwKCQkJCQkJICAg ICAweDk2MDAsIE5VTEwpOwoJCQlpZiAoaW5mby5uYl9kZXYpCgkJCQlpbmZvLm5iX3R5cGUgPSAz OwoJCX0KCX0KCglyZXQgPSBpbmZvLnByb2JlX3Jlc3VsdCA9IDE7CglwcmludGsoS0VSTl9ERUJV RyAiUVVJUks6IEVuYWJsZSBBTUQgUExMIGZpeFxuIik7Cgpjb21taXQ6CgoJc3Bpbl9sb2NrX2ly cXNhdmUoJmFtZF9sb2NrLCBmbGFncyk7CglpZiAoYW1kX2NoaXBzZXQucHJvYmVfY291bnQgPiAw KSB7CgkJLyogcmFjZSAtIHNvbWVvbmUgZWxzZSB3YXMgZmFzdGVyIC0gZHJvcCBkZXZpY2VzICov CgoJCS8qIE1hcmsgdGhhdCB3ZSB3aGVyZSBoZXJlICovCgkJYW1kX2NoaXBzZXQucHJvYmVfY291 bnQrKzsKCQlyZXQgPSBhbWRfY2hpcHNldC5wcm9iZV9yZXN1bHQ7CgoJCXNwaW5fdW5sb2NrX2ly cXJlc3RvcmUoJmFtZF9sb2NrLCBmbGFncyk7CgoJCXBjaV9kZXZfcHV0KGluZm8ubmJfZGV2KTsK CQlwY2lfZGV2X3B1dChpbmZvLnNtYnVzX2Rldik7CgoJfSBlbHNlIHsKCQkvKiBubyByYWNlIC0g Y29tbWl0IHRoZSByZXN1bHQgKi8KCQlpbmZvLnByb2JlX2NvdW50Kys7CgkJYW1kX2NoaXBzZXQg PSBpbmZvOwoJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmFtZF9sb2NrLCBmbGFncyk7Cgl9CgoJ cmV0dXJuIHJldDsKfQpFWFBPUlRfU1lNQk9MX0dQTCh1c2JfYW1kX2ZpbmRfY2hpcHNldF9pbmZv KTsKCmludCB1c2JfaGNkX2FtZF9yZW1vdGVfd2FrZXVwX3F1aXJrKHN0cnVjdCBwY2lfZGV2ICpw ZGV2KQp7CgkvKiBNYWtlIHN1cmUgYW1kIGNoaXBzZXQgdHlwZSBoYXMgYWxyZWFkeSBiZWVuIGlu aXRpYWxpemVkICovCgl1c2JfYW1kX2ZpbmRfY2hpcHNldF9pbmZvKCk7CglpZiAoYW1kX2NoaXBz ZXQuc2JfdHlwZS5nZW4gPT0gQU1EX0NISVBTRVRfWUFOR1RaRSB8fAoJICAgIGFtZF9jaGlwc2V0 LnNiX3R5cGUuZ2VuID09IEFNRF9DSElQU0VUX1RBSVNIQU4pIHsKCQlkZXZfZGJnKCZwZGV2LT5k ZXYsICJRVUlSSzogRW5hYmxlIEFNRCByZW1vdGUgd2FrZXVwIGZpeFxuIik7CgkJcmV0dXJuIDE7 Cgl9CglyZXR1cm4gMDsKfQpFWFBPUlRfU1lNQk9MX0dQTCh1c2JfaGNkX2FtZF9yZW1vdGVfd2Fr ZXVwX3F1aXJrKTsKCmJvb2wgdXNiX2FtZF9oYW5nX3N5bXB0b21fcXVpcmsodm9pZCkKewoJdTgg cmV2OwoKCXVzYl9hbWRfZmluZF9jaGlwc2V0X2luZm8oKTsKCXJldiA9IGFtZF9jaGlwc2V0LnNi X3R5cGUucmV2OwoJLyogU0I2MDAgYW5kIG9sZCB2ZXJzaW9uIG9mIFNCNzAwIGhhdmUgaGFuZyBz eW1wdG9tIGJ1ZyAqLwoJcmV0dXJuIGFtZF9jaGlwc2V0LnNiX3R5cGUuZ2VuID09IEFNRF9DSElQ U0VUX1NCNjAwIHx8CgkJCShhbWRfY2hpcHNldC5zYl90eXBlLmdlbiA9PSBBTURfQ0hJUFNFVF9T QjcwMCAmJgoJCQkgcmV2ID49IDB4M2EgJiYgcmV2IDw9IDB4M2IpOwp9CkVYUE9SVF9TWU1CT0xf R1BMKHVzYl9hbWRfaGFuZ19zeW1wdG9tX3F1aXJrKTsKCmJvb2wgdXNiX2FtZF9wcmVmZXRjaF9x dWlyayh2b2lkKQp7Cgl1c2JfYW1kX2ZpbmRfY2hpcHNldF9pbmZvKCk7CgkvKiBTQjgwMCBuZWVk cyBwcmUtZmV0Y2ggZml4ICovCglyZXR1cm4gYW1kX2NoaXBzZXQuc2JfdHlwZS5nZW4gPT0gQU1E X0NISVBTRVRfU0I4MDA7Cn0KRVhQT1JUX1NZTUJPTF9HUEwodXNiX2FtZF9wcmVmZXRjaF9xdWly ayk7CgovKgogKiBUaGUgaGFyZHdhcmUgbm9ybWFsbHkgZW5hYmxlcyB0aGUgQS1saW5rIHBvd2Vy IG1hbmFnZW1lbnQgZmVhdHVyZSwgd2hpY2gKICogbGV0cyB0aGUgc3lzdGVtIGxvd2VyIHRoZSBw b3dlciBjb25zdW1wdGlvbiBpbiBpZGxlIHN0YXRlcy4KICoKICogVGhpcyBVU0IgcXVpcmsgcHJl dmVudHMgdGhlIGxpbmsgZ29pbmcgaW50byB0aGF0IGxvd2VyIHBvd2VyIHN0YXRlCiAqIGR1cmlu ZyBpc29jaHJvbm91cyB0cmFuc2ZlcnMuCiAqCiAqIFdpdGhvdXQgdGhpcyBxdWlyaywgaXNvY2hy b25vdXMgc3RyZWFtIG9uIE9IQ0kvRUhDSS94SENJIGNvbnRyb2xsZXJzIG9mCiAqIHNvbWUgQU1E IHBsYXRmb3JtcyBtYXkgc3R1dHRlciBvciBoYXZlIGJyZWFrcyBvY2Nhc2lvbmFsbHkuCiAqLwpz dGF0aWMgdm9pZCB1c2JfYW1kX3F1aXJrX3BsbChpbnQgZGlzYWJsZSkKewoJdTMyIGFkZHIsIGFk ZHJfbG93LCBhZGRyX2hpZ2gsIHZhbDsKCXUzMiBiaXQgPSBkaXNhYmxlID8gMCA6IDE7Cgl1bnNp Z25lZCBsb25nIGZsYWdzOwoKCXNwaW5fbG9ja19pcnFzYXZlKCZhbWRfbG9jaywgZmxhZ3MpOwoK CWlmIChkaXNhYmxlKSB7CgkJYW1kX2NoaXBzZXQuaXNvY19yZXFzKys7CgkJaWYgKGFtZF9jaGlw c2V0Lmlzb2NfcmVxcyA+IDEpIHsKCQkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmYW1kX2xvY2ss IGZsYWdzKTsKCQkJcmV0dXJuOwoJCX0KCX0gZWxzZSB7CgkJYW1kX2NoaXBzZXQuaXNvY19yZXFz LS07CgkJaWYgKGFtZF9jaGlwc2V0Lmlzb2NfcmVxcyA+IDApIHsKCQkJc3Bpbl91bmxvY2tfaXJx cmVzdG9yZSgmYW1kX2xvY2ssIGZsYWdzKTsKCQkJcmV0dXJuOwoJCX0KCX0KCglpZiAoYW1kX2No aXBzZXQuc2JfdHlwZS5nZW4gPT0gQU1EX0NISVBTRVRfU0I4MDAgfHwKCQkJYW1kX2NoaXBzZXQu c2JfdHlwZS5nZW4gPT0gQU1EX0NISVBTRVRfSFVEU09OMiB8fAoJCQlhbWRfY2hpcHNldC5zYl90 eXBlLmdlbiA9PSBBTURfQ0hJUFNFVF9CT0xUT04pIHsKCQlvdXRiX3AoQUJfUkVHX0JBUl9MT1cs IDB4Y2Q2KTsKCQlhZGRyX2xvdyA9IGluYl9wKDB4Y2Q3KTsKCQlvdXRiX3AoQUJfUkVHX0JBUl9I SUdILCAweGNkNik7CgkJYWRkcl9oaWdoID0gaW5iX3AoMHhjZDcpOwoJCWFkZHIgPSBhZGRyX2hp Z2ggPDwgOCB8IGFkZHJfbG93OwoKCQlvdXRsX3AoMHgzMCwgQUJfSU5EWChhZGRyKSk7CgkJb3V0 bF9wKDB4NDAsIEFCX0RBVEEoYWRkcikpOwoJCW91dGxfcCgweDM0LCBBQl9JTkRYKGFkZHIpKTsK CQl2YWwgPSBpbmxfcChBQl9EQVRBKGFkZHIpKTsKCX0gZWxzZSBpZiAoYW1kX2NoaXBzZXQuc2Jf dHlwZS5nZW4gPT0gQU1EX0NISVBTRVRfU0I3MDAgJiYKCQkJYW1kX2NoaXBzZXQuc2JfdHlwZS5y ZXYgPD0gMHgzYikgewoJCXBjaV9yZWFkX2NvbmZpZ19kd29yZChhbWRfY2hpcHNldC5zbWJ1c19k ZXYsCgkJCQkJQUJfUkVHX0JBUl9TQjcwMCwgJmFkZHIpOwoJCW91dGwoQVhfSU5EWEMsIEFCX0lO RFgoYWRkcikpOwoJCW91dGwoMHg0MCwgQUJfREFUQShhZGRyKSk7CgkJb3V0bChBWF9EQVRBQywg QUJfSU5EWChhZGRyKSk7CgkJdmFsID0gaW5sKEFCX0RBVEEoYWRkcikpOwoJfSBlbHNlIHsKCQlz cGluX3VubG9ja19pcnFyZXN0b3JlKCZhbWRfbG9jaywgZmxhZ3MpOwoJCXJldHVybjsKCX0KCglp ZiAoZGlzYWJsZSkgewoJCXZhbCAmPSB+MHgwODsKCQl2YWwgfD0gKDEgPDwgNCkgfCAoMSA8PCA5 KTsKCX0gZWxzZSB7CgkJdmFsIHw9IDB4MDg7CgkJdmFsICY9IH4oKDEgPDwgNCkgfCAoMSA8PCA5 KSk7Cgl9CglvdXRsX3AodmFsLCBBQl9EQVRBKGFkZHIpKTsKCglpZiAoIWFtZF9jaGlwc2V0Lm5i X2RldikgewoJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmFtZF9sb2NrLCBmbGFncyk7CgkJcmV0 dXJuOwoJfQoKCWlmIChhbWRfY2hpcHNldC5uYl90eXBlID09IDEgfHwgYW1kX2NoaXBzZXQubmJf dHlwZSA9PSAzKSB7CgkJYWRkciA9IFBDSUVfUF9DTlRMOwoJCXBjaV93cml0ZV9jb25maWdfZHdv cmQoYW1kX2NoaXBzZXQubmJfZGV2LAoJCQkJCU5CX1BDSUVfSU5EWF9BRERSLCBhZGRyKTsKCQlw Y2lfcmVhZF9jb25maWdfZHdvcmQoYW1kX2NoaXBzZXQubmJfZGV2LAoJCQkJCU5CX1BDSUVfSU5E WF9EQVRBLCAmdmFsKTsKCgkJdmFsICY9IH4oMSB8ICgxIDw8IDMpIHwgKDEgPDwgNCkgfCAoMSA8 PCA5KSB8ICgxIDw8IDEyKSk7CgkJdmFsIHw9IGJpdCB8IChiaXQgPDwgMykgfCAoYml0IDw8IDEy KTsKCQl2YWwgfD0gKCghYml0KSA8PCA0KSB8ICgoIWJpdCkgPDwgOSk7CgkJcGNpX3dyaXRlX2Nv bmZpZ19kd29yZChhbWRfY2hpcHNldC5uYl9kZXYsCgkJCQkJTkJfUENJRV9JTkRYX0RBVEEsIHZh bCk7CgoJCWFkZHIgPSBCSUZfTkI7CgkJcGNpX3dyaXRlX2NvbmZpZ19kd29yZChhbWRfY2hpcHNl dC5uYl9kZXYsCgkJCQkJTkJfUENJRV9JTkRYX0FERFIsIGFkZHIpOwoJCXBjaV9yZWFkX2NvbmZp Z19kd29yZChhbWRfY2hpcHNldC5uYl9kZXYsCgkJCQkJTkJfUENJRV9JTkRYX0RBVEEsICZ2YWwp OwoJCXZhbCAmPSB+KDEgPDwgOCk7CgkJdmFsIHw9IGJpdCA8PCA4OwoKCQlwY2lfd3JpdGVfY29u ZmlnX2R3b3JkKGFtZF9jaGlwc2V0Lm5iX2RldiwKCQkJCQlOQl9QQ0lFX0lORFhfREFUQSwgdmFs KTsKCX0gZWxzZSBpZiAoYW1kX2NoaXBzZXQubmJfdHlwZSA9PSAyKSB7CgkJYWRkciA9IE5CX1BJ RjBfUFdSRE9XTl8wOwoJCXBjaV93cml0ZV9jb25maWdfZHdvcmQoYW1kX2NoaXBzZXQubmJfZGV2 LAoJCQkJCU5CX1BDSUVfSU5EWF9BRERSLCBhZGRyKTsKCQlwY2lfcmVhZF9jb25maWdfZHdvcmQo YW1kX2NoaXBzZXQubmJfZGV2LAoJCQkJCU5CX1BDSUVfSU5EWF9EQVRBLCAmdmFsKTsKCQlpZiAo ZGlzYWJsZSkKCQkJdmFsICY9IH4oMHgzZiA8PCA3KTsKCQllbHNlCgkJCXZhbCB8PSAweDNmIDw8 IDc7CgoJCXBjaV93cml0ZV9jb25maWdfZHdvcmQoYW1kX2NoaXBzZXQubmJfZGV2LAoJCQkJCU5C X1BDSUVfSU5EWF9EQVRBLCB2YWwpOwoKCQlhZGRyID0gTkJfUElGMF9QV1JET1dOXzE7CgkJcGNp X3dyaXRlX2NvbmZpZ19kd29yZChhbWRfY2hpcHNldC5uYl9kZXYsCgkJCQkJTkJfUENJRV9JTkRY X0FERFIsIGFkZHIpOwoJCXBjaV9yZWFkX2NvbmZpZ19kd29yZChhbWRfY2hpcHNldC5uYl9kZXYs CgkJCQkJTkJfUENJRV9JTkRYX0RBVEEsICZ2YWwpOwoJCWlmIChkaXNhYmxlKQoJCQl2YWwgJj0g figweDNmIDw8IDcpOwoJCWVsc2UKCQkJdmFsIHw9IDB4M2YgPDwgNzsKCgkJcGNpX3dyaXRlX2Nv bmZpZ19kd29yZChhbWRfY2hpcHNldC5uYl9kZXYsCgkJCQkJTkJfUENJRV9JTkRYX0RBVEEsIHZh bCk7Cgl9CgoJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmYW1kX2xvY2ssIGZsYWdzKTsKCXJldHVy bjsKfQoKdm9pZCB1c2JfYW1kX3F1aXJrX3BsbF9kaXNhYmxlKHZvaWQpCnsKCXVzYl9hbWRfcXVp cmtfcGxsKDEpOwp9CkVYUE9SVF9TWU1CT0xfR1BMKHVzYl9hbWRfcXVpcmtfcGxsX2Rpc2FibGUp OwoKc3RhdGljIGludCB1c2JfYXNtZWRpYV93YWl0X3dyaXRlKHN0cnVjdCBwY2lfZGV2ICpwZGV2 KQp7Cgl1bnNpZ25lZCBsb25nIHJldHJ5X2NvdW50OwoJdW5zaWduZWQgY2hhciB2YWx1ZTsKCglm b3IgKHJldHJ5X2NvdW50ID0gMTAwMDsgcmV0cnlfY291bnQgPiAwOyAtLXJldHJ5X2NvdW50KSB7 CgoJCXBjaV9yZWFkX2NvbmZpZ19ieXRlKHBkZXYsIEFTTVRfQ09OVFJPTF9SRUcsICZ2YWx1ZSk7 CgoJCWlmICh2YWx1ZSA9PSAweGZmKSB7CgkJCWRldl9lcnIoJnBkZXYtPmRldiwgIiVzOiBjaGVj a19yZWFkeSBFUlJPUiIsIF9fZnVuY19fKTsKCQkJcmV0dXJuIC1FSU87CgkJfQoKCQlpZiAoKHZh bHVlICYgQVNNVF9DT05UUk9MX1dSSVRFX0JJVCkgPT0gMCkKCQkJcmV0dXJuIDA7CgoJCXVkZWxh eSg1MCk7Cgl9CgoJZGV2X3dhcm4oJnBkZXYtPmRldiwgIiVzOiBjaGVja193cml0ZV9yZWFkeSB0 aW1lb3V0IiwgX19mdW5jX18pOwoJcmV0dXJuIC1FVElNRURPVVQ7Cn0KCnZvaWQgdXNiX2FzbWVk aWFfbW9kaWZ5Zmxvd2NvbnRyb2woc3RydWN0IHBjaV9kZXYgKnBkZXYpCnsKCWlmICh1c2JfYXNt ZWRpYV93YWl0X3dyaXRlKHBkZXYpICE9IDApCgkJcmV0dXJuOwoKCS8qIHNlbmQgY29tbWFuZCBh bmQgYWRkcmVzcyB0byBkZXZpY2UgKi8KCXBjaV93cml0ZV9jb25maWdfZHdvcmQocGRldiwgQVNN VF9EQVRBX1dSSVRFMF9SRUcsIEFTTVRfV1JJVEVSRUdfQ01EKTsKCXBjaV93cml0ZV9jb25maWdf ZHdvcmQocGRldiwgQVNNVF9EQVRBX1dSSVRFMV9SRUcsIEFTTVRfRkxPV0NUTF9BRERSKTsKCXBj aV93cml0ZV9jb25maWdfYnl0ZShwZGV2LCBBU01UX0NPTlRST0xfUkVHLCBBU01UX0NPTlRST0xf V1JJVEVfQklUKTsKCglpZiAodXNiX2FzbWVkaWFfd2FpdF93cml0ZShwZGV2KSAhPSAwKQoJCXJl dHVybjsKCgkvKiBzZW5kIGRhdGEgdG8gZGV2aWNlICovCglwY2lfd3JpdGVfY29uZmlnX2R3b3Jk KHBkZXYsIEFTTVRfREFUQV9XUklURTBfUkVHLCBBU01UX0ZMT1dDVExfREFUQSk7CglwY2lfd3Jp dGVfY29uZmlnX2R3b3JkKHBkZXYsIEFTTVRfREFUQV9XUklURTFfUkVHLCBBU01UX1BTRVVET19E QVRBKTsKCXBjaV93cml0ZV9jb25maWdfYnl0ZShwZGV2LCBBU01UX0NPTlRST0xfUkVHLCBBU01U X0NPTlRST0xfV1JJVEVfQklUKTsKfQpFWFBPUlRfU1lNQk9MX0dQTCh1c2JfYXNtZWRpYV9tb2Rp ZnlmbG93Y29udHJvbCk7Cgp2b2lkIHVzYl9hbWRfcXVpcmtfcGxsX2VuYWJsZSh2b2lkKQp7Cgl1 c2JfYW1kX3F1aXJrX3BsbCgwKTsKfQpFWFBPUlRfU1lNQk9MX0dQTCh1c2JfYW1kX3F1aXJrX3Bs bF9lbmFibGUpOwoKdm9pZCB1c2JfYW1kX2Rldl9wdXQodm9pZCkKewoJc3RydWN0IHBjaV9kZXYg Km5iLCAqc21idXM7Cgl1bnNpZ25lZCBsb25nIGZsYWdzOwoKCXNwaW5fbG9ja19pcnFzYXZlKCZh bWRfbG9jaywgZmxhZ3MpOwoKCWFtZF9jaGlwc2V0LnByb2JlX2NvdW50LS07CglpZiAoYW1kX2No aXBzZXQucHJvYmVfY291bnQgPiAwKSB7CgkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmYW1kX2xv Y2ssIGZsYWdzKTsKCQlyZXR1cm47Cgl9CgoJLyogc2F2ZSB0aGVtIHRvIHBjaV9kZXZfcHV0IG91 dHNpZGUgb2Ygc3BpbmxvY2sgKi8KCW5iICAgID0gYW1kX2NoaXBzZXQubmJfZGV2OwoJc21idXMg PSBhbWRfY2hpcHNldC5zbWJ1c19kZXY7CgoJYW1kX2NoaXBzZXQubmJfZGV2ID0gTlVMTDsKCWFt ZF9jaGlwc2V0LnNtYnVzX2RldiA9IE5VTEw7CglhbWRfY2hpcHNldC5uYl90eXBlID0gMDsKCW1l bXNldCgmYW1kX2NoaXBzZXQuc2JfdHlwZSwgMCwgc2l6ZW9mKGFtZF9jaGlwc2V0LnNiX3R5cGUp KTsKCWFtZF9jaGlwc2V0Lmlzb2NfcmVxcyA9IDA7CglhbWRfY2hpcHNldC5wcm9iZV9yZXN1bHQg PSAwOwoKCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmFtZF9sb2NrLCBmbGFncyk7CgoJcGNpX2Rl dl9wdXQobmIpOwoJcGNpX2Rldl9wdXQoc21idXMpOwp9CkVYUE9SVF9TWU1CT0xfR1BMKHVzYl9h bWRfZGV2X3B1dCk7CgovKgogKiBDaGVjayBpZiBwb3J0IGlzIGRpc2FibGVkIGluIEJJT1Mgb24g QU1EIFByb21vbnRvcnkgaG9zdC4KICogQklPUyBEaXNhYmxlZCBwb3J0cyBtYXkgd2FrZSBvbiBj b25uZWN0L2Rpc2Nvbm5lY3QgYW5kIG5lZWQKICogZHJpdmVyIHdvcmthcm91bmQgdG8ga2VlcCB0 aGVtIGRpc2FibGVkLgogKiBSZXR1cm5zIHRydWUgaWYgcG9ydCBpcyBtYXJrZWQgZGlzYWJsZWQu CiAqLwpib29sIHVzYl9hbWRfcHRfY2hlY2tfcG9ydChzdHJ1Y3QgZGV2aWNlICpkZXZpY2UsIGlu dCBwb3J0KQp7Cgl1bnNpZ25lZCBjaGFyIHZhbHVlLCBwb3J0X3NoaWZ0OwoJc3RydWN0IHBjaV9k ZXYgKnBkZXY7Cgl1MTYgcmVnOwoKCXBkZXYgPSB0b19wY2lfZGV2KGRldmljZSk7CglwY2lfd3Jp dGVfY29uZmlnX3dvcmQocGRldiwgUFRfQUREUl9JTkRYLCBQVF9TSUdfMV9BRERSKTsKCglwY2lf cmVhZF9jb25maWdfYnl0ZShwZGV2LCBQVF9SRUFEX0lORFgsICZ2YWx1ZSk7CglpZiAodmFsdWUg IT0gUFRfU0lHXzFfREFUQSkKCQlyZXR1cm4gZmFsc2U7CgoJcGNpX3dyaXRlX2NvbmZpZ193b3Jk KHBkZXYsIFBUX0FERFJfSU5EWCwgUFRfU0lHXzJfQUREUik7CgoJcGNpX3JlYWRfY29uZmlnX2J5 dGUocGRldiwgUFRfUkVBRF9JTkRYLCAmdmFsdWUpOwoJaWYgKHZhbHVlICE9IFBUX1NJR18yX0RB VEEpCgkJcmV0dXJuIGZhbHNlOwoKCXBjaV93cml0ZV9jb25maWdfd29yZChwZGV2LCBQVF9BRERS X0lORFgsIFBUX1NJR18zX0FERFIpOwoKCXBjaV9yZWFkX2NvbmZpZ19ieXRlKHBkZXYsIFBUX1JF QURfSU5EWCwgJnZhbHVlKTsKCWlmICh2YWx1ZSAhPSBQVF9TSUdfM19EQVRBKQoJCXJldHVybiBm YWxzZTsKCglwY2lfd3JpdGVfY29uZmlnX3dvcmQocGRldiwgUFRfQUREUl9JTkRYLCBQVF9TSUdf NF9BRERSKTsKCglwY2lfcmVhZF9jb25maWdfYnl0ZShwZGV2LCBQVF9SRUFEX0lORFgsICZ2YWx1 ZSk7CglpZiAodmFsdWUgIT0gUFRfU0lHXzRfREFUQSkKCQlyZXR1cm4gZmFsc2U7CgoJLyogQ2hl Y2sgZGlzYWJsZWQgcG9ydCBzZXR0aW5nLCBpZiBiaXQgaXMgc2V0IHBvcnQgaXMgZW5hYmxlZCAq LwoJc3dpdGNoIChwZGV2LT5kZXZpY2UpIHsKCWNhc2UgMHg0M2I5OgoJY2FzZSAweDQzYmE6Cgkv KgoJICogZGV2aWNlIGlzIEFNRF9QUk9NT05UT1JZQV80KDB4NDNiOSkgb3IgUFJPTU9OVE9SWUFf MygweDQzYmEpCgkgKiBQVDRfUDFfUkVHIGJpdHNbNy4uMV0gcmVwcmVzZW50cyBVU0IyLjAgcG9y dHMgNiB0byAwCgkgKiBQVDRfUDJfUkVHIGJpdHNbNi4uMF0gcmVwcmVzZW50cyBwb3J0cyAxMyB0 byA3CgkgKi8KCQlpZiAocG9ydCA+IDYpIHsKCQkJcmVnID0gUFQ0X1AyX1JFRzsKCQkJcG9ydF9z aGlmdCA9IHBvcnQgLSA3OwoJCX0gZWxzZSB7CgkJCXJlZyA9IFBUNF9QMV9SRUc7CgkJCXBvcnRf c2hpZnQgPSBwb3J0ICsgMTsKCQl9CgkJYnJlYWs7CgljYXNlIDB4NDNiYjoKCS8qCgkgKiBkZXZp Y2UgaXMgQU1EX1BST01PTlRPUllBXzIoMHg0M2JiKQoJICogUFQyX1AxX1JFRyBiaXRzWzcuLjVd IHJlcHJlc2VudHMgVVNCMi4wIHBvcnRzIDIgdG8gMAoJICogUFQyX1AyX1JFRyBiaXRzWzUuLjBd IHJlcHJlc2VudHMgcG9ydHMgOSB0byAzCgkgKi8KCQlpZiAocG9ydCA+IDIpIHsKCQkJcmVnID0g UFQyX1AyX1JFRzsKCQkJcG9ydF9zaGlmdCA9IHBvcnQgLSAzOwoJCX0gZWxzZSB7CgkJCXJlZyA9 IFBUMl9QMV9SRUc7CgkJCXBvcnRfc2hpZnQgPSBwb3J0ICsgNTsKCQl9CgkJYnJlYWs7CgljYXNl IDB4NDNiYzoKCS8qCgkgKiBkZXZpY2UgaXMgQU1EX1BST01PTlRPUllBXzEoMHg0M2JjKQoJICog UFQxX1AxX1JFR1s3Li40XSByZXByZXNlbnRzIFVTQjIuMCBwb3J0cyAzIHRvIDAKCSAqIFBUMV9Q Ml9SRUdbNS4uMF0gcmVwcmVzZW50cyBwb3J0cyA5IHRvIDQKCSAqLwoJCWlmIChwb3J0ID4gMykg ewoJCQlyZWcgPSBQVDFfUDJfUkVHOwoJCQlwb3J0X3NoaWZ0ID0gcG9ydCAtIDQ7CgkJfSBlbHNl IHsKCQkJcmVnID0gUFQxX1AxX1JFRzsKCQkJcG9ydF9zaGlmdCA9IHBvcnQgKyA0OwoJCX0KCQli cmVhazsKCWRlZmF1bHQ6CgkJcmV0dXJuIGZhbHNlOwoJfQoJcGNpX3dyaXRlX2NvbmZpZ193b3Jk KHBkZXYsIFBUX0FERFJfSU5EWCwgcmVnKTsKCXBjaV9yZWFkX2NvbmZpZ19ieXRlKHBkZXYsIFBU X1JFQURfSU5EWCwgJnZhbHVlKTsKCglyZXR1cm4gISh2YWx1ZSAmIEJJVChwb3J0X3NoaWZ0KSk7 Cn0KRVhQT1JUX1NZTUJPTF9HUEwodXNiX2FtZF9wdF9jaGVja19wb3J0KTsKCi8qCiAqIE1ha2Ug c3VyZSB0aGUgY29udHJvbGxlciBpcyBjb21wbGV0ZWx5IGluYWN0aXZlLCB1bmFibGUgdG8KICog Z2VuZXJhdGUgaW50ZXJydXB0cyBvciBkbyBETUEuCiAqLwp2b2lkIHVoY2lfcmVzZXRfaGMoc3Ry dWN0IHBjaV9kZXYgKnBkZXYsIHVuc2lnbmVkIGxvbmcgYmFzZSkKewoJLyogVHVybiBvZmYgUElS USBlbmFibGUgYW5kIFNNSSBlbmFibGUuICAoVGhpcyBhbHNvIHR1cm5zIG9mZiB0aGUKCSAqIEJJ T1MncyBVU0IgTGVnYWN5IFN1cHBvcnQuKSAgVHVybiBvZmYgYWxsIHRoZSBSL1dDIGJpdHMgdG9v LgoJICovCglwY2lfd3JpdGVfY29uZmlnX3dvcmQocGRldiwgVUhDSV9VU0JMRUdTVVAsIFVIQ0lf VVNCTEVHU1VQX1JXQyk7CgoJLyogUmVzZXQgdGhlIEhDIC0gdGhpcyB3aWxsIGZvcmNlIHVzIHRv IGdldCBhCgkgKiBuZXcgbm90aWZpY2F0aW9uIG9mIGFueSBhbHJlYWR5IGNvbm5lY3RlZAoJICog cG9ydHMgZHVlIHRvIHRoZSB2aXJ0dWFsIGRpc2Nvbm5lY3QgdGhhdCBpdAoJICogaW1wbGllcy4K CSAqLwoJb3V0dyhVSENJX1VTQkNNRF9IQ1JFU0VULCBiYXNlICsgVUhDSV9VU0JDTUQpOwoJbWIo KTsKCXVkZWxheSg1KTsKCWlmIChpbncoYmFzZSArIFVIQ0lfVVNCQ01EKSAmIFVIQ0lfVVNCQ01E X0hDUkVTRVQpCgkJZGV2X3dhcm4oJnBkZXYtPmRldiwgIkhDUkVTRVQgbm90IGNvbXBsZXRlZCB5 ZXQhXG4iKTsKCgkvKiBKdXN0IHRvIGJlIHNhZmUsIGRpc2FibGUgaW50ZXJydXB0IHJlcXVlc3Rz IGFuZAoJICogbWFrZSBzdXJlIHRoZSBjb250cm9sbGVyIGlzIHN0b3BwZWQuCgkgKi8KCW91dHco MCwgYmFzZSArIFVIQ0lfVVNCSU5UUik7CglvdXR3KDAsIGJhc2UgKyBVSENJX1VTQkNNRCk7Cn0K RVhQT1JUX1NZTUJPTF9HUEwodWhjaV9yZXNldF9oYyk7CgovKgogKiBJbml0aWFsaXplIGEgY29u dHJvbGxlciB0aGF0IHdhcyBuZXdseSBkaXNjb3ZlcmVkIG9yIGhhcyBqdXN0IGJlZW4KICogcmVz dW1lZC4gIEluIGVpdGhlciBjYXNlIHdlIGNhbid0IGJlIHN1cmUgb2YgaXRzIHByZXZpb3VzIHN0 YXRlLgogKgogKiBSZXR1cm5zOiAxIGlmIHRoZSBjb250cm9sbGVyIHdhcyByZXNldCwgMCBvdGhl cndpc2UuCiAqLwppbnQgdWhjaV9jaGVja19hbmRfcmVzZXRfaGMoc3RydWN0IHBjaV9kZXYgKnBk ZXYsIHVuc2lnbmVkIGxvbmcgYmFzZSkKewoJdTE2IGxlZ3N1cDsKCXVuc2lnbmVkIGludCBjbWQs IGludHI7CgoJLyoKCSAqIFdoZW4gcmVzdGFydGluZyBhIHN1c3BlbmRlZCBjb250cm9sbGVyLCB3 ZSBleHBlY3QgYWxsIHRoZQoJICogc2V0dGluZ3MgdG8gYmUgdGhlIHNhbWUgYXMgd2UgbGVmdCB0 aGVtOgoJICoKCSAqCVBJUlEgYW5kIFNNSSBkaXNhYmxlZCwgbm8gUi9XIGJpdHMgc2V0IGluIFVT QkxFR1NVUDsKCSAqCUNvbnRyb2xsZXIgaXMgc3RvcHBlZCBhbmQgY29uZmlndXJlZCB3aXRoIEVH U00gc2V0OwoJICoJTm8gaW50ZXJydXB0cyBlbmFibGVkIGV4Y2VwdCBwb3NzaWJseSBSZXN1bWUg RGV0ZWN0LgoJICoKCSAqIElmIGFueSBvZiB0aGVzZSBjb25kaXRpb25zIGFyZSB2aW9sYXRlZCB3 ZSBkbyBhIGNvbXBsZXRlIHJlc2V0LgoJICovCglwY2lfcmVhZF9jb25maWdfd29yZChwZGV2LCBV SENJX1VTQkxFR1NVUCwgJmxlZ3N1cCk7CglpZiAobGVnc3VwICYgfihVSENJX1VTQkxFR1NVUF9S TyB8IFVIQ0lfVVNCTEVHU1VQX1JXQykpIHsKCQlkZXZfZGJnKCZwZGV2LT5kZXYsICIlczogbGVn c3VwID0gMHglMDR4XG4iLAoJCQkJX19mdW5jX18sIGxlZ3N1cCk7CgkJZ290byByZXNldF9uZWVk ZWQ7Cgl9CgoJY21kID0gaW53KGJhc2UgKyBVSENJX1VTQkNNRCk7CglpZiAoKGNtZCAmIFVIQ0lf VVNCQ01EX1JVTikgfHwgIShjbWQgJiBVSENJX1VTQkNNRF9DT05GSUdVUkUpIHx8CgkJCSEoY21k ICYgVUhDSV9VU0JDTURfRUdTTSkpIHsKCQlkZXZfZGJnKCZwZGV2LT5kZXYsICIlczogY21kID0g MHglMDR4XG4iLAoJCQkJX19mdW5jX18sIGNtZCk7CgkJZ290byByZXNldF9uZWVkZWQ7Cgl9CgoJ aW50ciA9IGludyhiYXNlICsgVUhDSV9VU0JJTlRSKTsKCWlmIChpbnRyICYgKH5VSENJX1VTQklO VFJfUkVTVU1FKSkgewoJCWRldl9kYmcoJnBkZXYtPmRldiwgIiVzOiBpbnRyID0gMHglMDR4XG4i LAoJCQkJX19mdW5jX18sIGludHIpOwoJCWdvdG8gcmVzZXRfbmVlZGVkOwoJfQoJcmV0dXJuIDA7 CgpyZXNldF9uZWVkZWQ6CglkZXZfZGJnKCZwZGV2LT5kZXYsICJQZXJmb3JtaW5nIGZ1bGwgcmVz ZXRcbiIpOwoJdWhjaV9yZXNldF9oYyhwZGV2LCBiYXNlKTsKCXJldHVybiAxOwp9CkVYUE9SVF9T WU1CT0xfR1BMKHVoY2lfY2hlY2tfYW5kX3Jlc2V0X2hjKTsKCnN0YXRpYyBpbmxpbmUgaW50IGlv X3R5cGVfZW5hYmxlZChzdHJ1Y3QgcGNpX2RldiAqcGRldiwgdW5zaWduZWQgaW50IG1hc2spCnsK CXUxNiBjbWQ7CglyZXR1cm4gIXBjaV9yZWFkX2NvbmZpZ193b3JkKHBkZXYsIFBDSV9DT01NQU5E LCAmY21kKSAmJiAoY21kICYgbWFzayk7Cn0KCiNkZWZpbmUgcGlvX2VuYWJsZWQoZGV2KSBpb190 eXBlX2VuYWJsZWQoZGV2LCBQQ0lfQ09NTUFORF9JTykKI2RlZmluZSBtbWlvX2VuYWJsZWQoZGV2 KSBpb190eXBlX2VuYWJsZWQoZGV2LCBQQ0lfQ09NTUFORF9NRU1PUlkpCgpzdGF0aWMgdm9pZCBx dWlya191c2JfaGFuZG9mZl91aGNpKHN0cnVjdCBwY2lfZGV2ICpwZGV2KQp7Cgl1bnNpZ25lZCBs b25nIGJhc2UgPSAwOwoJaW50IGk7CgoJaWYgKCFwaW9fZW5hYmxlZChwZGV2KSkKCQlyZXR1cm47 CgoJZm9yIChpID0gMDsgaSA8IFBDSV9ST01fUkVTT1VSQ0U7IGkrKykKCQlpZiAoKHBjaV9yZXNv dXJjZV9mbGFncyhwZGV2LCBpKSAmIElPUkVTT1VSQ0VfSU8pKSB7CgkJCWJhc2UgPSBwY2lfcmVz b3VyY2Vfc3RhcnQocGRldiwgaSk7CgkJCWJyZWFrOwoJCX0KCglpZiAoYmFzZSkKCQl1aGNpX2No ZWNrX2FuZF9yZXNldF9oYyhwZGV2LCBiYXNlKTsKfQoKc3RhdGljIGludCBtbWlvX3Jlc291cmNl X2VuYWJsZWQoc3RydWN0IHBjaV9kZXYgKnBkZXYsIGludCBpZHgpCnsKCXJldHVybiBwY2lfcmVz b3VyY2Vfc3RhcnQocGRldiwgaWR4KSAmJiBtbWlvX2VuYWJsZWQocGRldik7Cn0KCnN0YXRpYyB2 b2lkIHF1aXJrX3VzYl9oYW5kb2ZmX29oY2koc3RydWN0IHBjaV9kZXYgKnBkZXYpCnsKCXZvaWQg X19pb21lbSAqYmFzZTsKCXUzMiBjb250cm9sOwoJdTMyIGZtaW50ZXJ2YWwgPSAwOwoJYm9vbCBu b19mbWludGVydmFsID0gZmFsc2U7CglpbnQgY250OwoKCWlmICghbW1pb19yZXNvdXJjZV9lbmFi bGVkKHBkZXYsIDApKQoJCXJldHVybjsKCgliYXNlID0gcGNpX2lvcmVtYXBfYmFyKHBkZXYsIDAp OwoJaWYgKGJhc2UgPT0gTlVMTCkKCQlyZXR1cm47CgoJLyoKCSAqIFVMaSBNNTIzNyBPSENJIGNv bnRyb2xsZXIgbG9ja3MgdGhlIHdob2xlIHN5c3RlbSB3aGVuIGFjY2Vzc2luZwoJICogdGhlIE9I Q0lfRk1JTlRFUlZBTCBvZmZzZXQuCgkgKi8KCWlmIChwZGV2LT52ZW5kb3IgPT0gUENJX1ZFTkRP Ul9JRF9BTCAmJiBwZGV2LT5kZXZpY2UgPT0gMHg1MjM3KQoJCW5vX2ZtaW50ZXJ2YWwgPSB0cnVl OwoKCWNvbnRyb2wgPSByZWFkbChiYXNlICsgT0hDSV9DT05UUk9MKTsKCi8qIE9uIFBBLVJJU0Ms IFBEQyBjYW4gbGVhdmUgSVIgc2V0IGluY29ycmVjdGx5OyBpZ25vcmUgaXQgdGhlcmUuICovCiNp ZmRlZiBfX2hwcGFfXwojZGVmaW5lCU9IQ0lfQ1RSTF9NQVNLCQkoT0hDSV9DVFJMX1JXQyB8IE9I Q0lfQ1RSTF9JUikKI2Vsc2UKI2RlZmluZQlPSENJX0NUUkxfTUFTSwkJT0hDSV9DVFJMX1JXQwoK CWlmIChjb250cm9sICYgT0hDSV9DVFJMX0lSKSB7CgkJaW50IHdhaXRfdGltZSA9IDUwMDsgLyog YXJiaXRyYXJ5OyA1IHNlY29uZHMgKi8KCQl3cml0ZWwoT0hDSV9JTlRSX09DLCBiYXNlICsgT0hD SV9JTlRSRU5BQkxFKTsKCQl3cml0ZWwoT0hDSV9PQ1IsIGJhc2UgKyBPSENJX0NNRFNUQVRVUyk7 CgkJd2hpbGUgKHdhaXRfdGltZSA+IDAgJiYKCQkJCXJlYWRsKGJhc2UgKyBPSENJX0NPTlRST0wp ICYgT0hDSV9DVFJMX0lSKSB7CgkJCXdhaXRfdGltZSAtPSAxMDsKCQkJbXNsZWVwKDEwKTsKCQl9 CgkJaWYgKHdhaXRfdGltZSA8PSAwKQoJCQlkZXZfd2FybigmcGRldi0+ZGV2LAoJCQkJICJPSENJ OiBCSU9TIGhhbmRvZmYgZmFpbGVkIChCSU9TIGJ1Zz8pICUwOHhcbiIsCgkJCQkgcmVhZGwoYmFz ZSArIE9IQ0lfQ09OVFJPTCkpOwoJfQojZW5kaWYKCgkvKiBkaXNhYmxlIGludGVycnVwdHMgKi8K CXdyaXRlbCgodTMyKSB+MCwgYmFzZSArIE9IQ0lfSU5UUkRJU0FCTEUpOwoKCS8qIEdvIGludG8g dGhlIFVTQl9SRVNFVCBzdGF0ZSwgcHJlc2VydmluZyBSV0MgKGFuZCBwb3NzaWJseSBJUikgKi8K CXdyaXRlbChjb250cm9sICYgT0hDSV9DVFJMX01BU0ssIGJhc2UgKyBPSENJX0NPTlRST0wpOwoJ cmVhZGwoYmFzZSArIE9IQ0lfQ09OVFJPTCk7CgoJLyogc29mdHdhcmUgcmVzZXQgb2YgdGhlIGNv bnRyb2xsZXIsIHByZXNlcnZpbmcgSGNGbUludGVydmFsICovCglpZiAoIW5vX2ZtaW50ZXJ2YWwp CgkJZm1pbnRlcnZhbCA9IHJlYWRsKGJhc2UgKyBPSENJX0ZNSU5URVJWQUwpOwoKCXdyaXRlbChP SENJX0hDUiwgYmFzZSArIE9IQ0lfQ01EU1RBVFVTKTsKCgkvKiByZXNldCByZXF1aXJlcyBtYXgg MTAgdXMgZGVsYXkgKi8KCWZvciAoY250ID0gMzA7IGNudCA+IDA7IC0tY250KSB7CS8qIC4uLiBh bGxvdyBleHRyYSB0aW1lICovCgkJaWYgKChyZWFkbChiYXNlICsgT0hDSV9DTURTVEFUVVMpICYg T0hDSV9IQ1IpID09IDApCgkJCWJyZWFrOwoJCXVkZWxheSgxKTsKCX0KCglpZiAoIW5vX2ZtaW50 ZXJ2YWwpCgkJd3JpdGVsKGZtaW50ZXJ2YWwsIGJhc2UgKyBPSENJX0ZNSU5URVJWQUwpOwoKCS8q IE5vdyB0aGUgY29udHJvbGxlciBpcyBzYWZlbHkgaW4gU1VTUEVORCBhbmQgbm90aGluZyBjYW4g d2FrZSBpdCB1cCAqLwoJaW91bm1hcChiYXNlKTsKfQoKc3RhdGljIGNvbnN0IHN0cnVjdCBkbWlf c3lzdGVtX2lkIGVoY2lfZG1pX25vaGFuZG9mZl90YWJsZVtdID0gewoJewoJCS8qICBQZWdhdHJv biBMdWNpZCAoRXhvUEMpICovCgkJLm1hdGNoZXMgPSB7CgkJCURNSV9NQVRDSChETUlfQk9BUkRf TkFNRSwgIkVYT1BHMDY0MTEiKSwKCQkJRE1JX01BVENIKERNSV9CSU9TX1ZFUlNJT04sICJMdWNp ZC1DRS0xMzMiKSwKCQl9LAoJfSwKCXsKCQkvKiAgUGVnYXRyb24gTHVjaWQgKE9yZGlzc2ltbyBB SVJJUykgKi8KCQkubWF0Y2hlcyA9IHsKCQkJRE1JX01BVENIKERNSV9CT0FSRF9OQU1FLCAiTTEx SkIiKSwKCQkJRE1JX01BVENIKERNSV9CSU9TX1ZFUlNJT04sICJMdWNpZC0iKSwKCQl9LAoJfSwK CXsKCQkvKiAgUGVnYXRyb24gTHVjaWQgKE9yZGlzc2ltbykgKi8KCQkubWF0Y2hlcyA9IHsKCQkJ RE1JX01BVENIKERNSV9CT0FSRF9OQU1FLCAiT3JkaXNzaW1vIiksCgkJCURNSV9NQVRDSChETUlf QklPU19WRVJTSU9OLCAiTHVjaWQtIiksCgkJfSwKCX0sCgl7CgkJLyogSEFTRUUgRTIwMCAqLwoJ CS5tYXRjaGVzID0gewoJCQlETUlfTUFUQ0goRE1JX0JPQVJEX1ZFTkRPUiwgIkhBU0VFIiksCgkJ CURNSV9NQVRDSChETUlfQk9BUkRfTkFNRSwgIkUyMTAiKSwKCQkJRE1JX01BVENIKERNSV9CSU9T X1ZFUlNJT04sICI2LjAwIiksCgkJfSwKCX0sCgl7IH0KfTsKCnN0YXRpYyB2b2lkIGVoY2lfYmlv c19oYW5kb2ZmKHN0cnVjdCBwY2lfZGV2ICpwZGV2LAoJCQkJCXZvaWQgX19pb21lbSAqb3BfcmVn X2Jhc2UsCgkJCQkJdTMyIGNhcCwgdTggb2Zmc2V0KQp7CglpbnQgdHJ5X2hhbmRvZmYgPSAxLCB0 cmllZF9oYW5kb2ZmID0gMDsKCglwcl9lcnIoIkRFQlVHOiBQYXNzZWQgJXMgJWQgXG4iLF9fRlVO Q1RJT05fXyxfX0xJTkVfXyk7CgoJLyoKCSAqIFRoZSBQZWdhdHJvbiBMdWNpZCB0YWJsZXQgc3Bv cmFkaWNhbGx5IHdhaXRzIGZvciA5OCBzZWNvbmRzIHRyeWluZwoJICogdGhlIGhhbmRvZmYgb24g aXRzIHVudXNlZCBjb250cm9sbGVyLiAgU2tpcCBpdC4KCSAqCgkgKiBUaGUgSEFTRUUgRTIwMCBo YW5ncyB3aGVuIHRoZSBzZW1hcGhvcmUgaXMgc2V0IChidWd6aWxsYSAjNzcwMjEpLgoJICovCglp ZiAocGRldi0+dmVuZG9yID09IDB4ODA4NiAmJiAocGRldi0+ZGV2aWNlID09IDB4MjgzYSB8fAoJ CQlwZGV2LT5kZXZpY2UgPT0gMHgyN2NjKSkgewoJCWlmIChkbWlfY2hlY2tfc3lzdGVtKGVoY2lf ZG1pX25vaGFuZG9mZl90YWJsZSkpCgkJCXRyeV9oYW5kb2ZmID0gMDsKCX0KCglpZiAodHJ5X2hh bmRvZmYgJiYgKGNhcCAmIEVIQ0lfVVNCTEVHU1VQX0JJT1MpKSB7CgkJZGV2X2RiZygmcGRldi0+ ZGV2LCAiRUhDSTogQklPUyBoYW5kb2ZmXG4iKTsKCiNpZiAwCi8qIGFsZWtzZXlfZ29yZWxvdkBw aG9lbml4LmNvbSByZXBvcnRzIHRoYXQgc29tZSBzeXN0ZW1zIG5lZWQgU01JIGZvcmNlZCBvbiwK ICogYnV0IHRoYXQgc2VlbXMgZHViaW91cyBpbiBnZW5lcmFsICh0aGUgQklPUyBsZWZ0IGl0IG9m ZiBpbnRlbnRpb25hbGx5KQogKiBhbmQgaXMga25vd24gdG8gcHJldmVudCBzb21lIHN5c3RlbXMg ZnJvbSBib290aW5nLiAgc28gd2Ugd29uJ3QgZG8gdGhpcwogKiB1bmxlc3MgbWF5YmUgd2UgY2Fu IGRldGVybWluZSB3aGVuIHdlJ3JlIG9uIGEgc3lzdGVtIHRoYXQgbmVlZHMgU01JIGZvcmNlZC4K ICovCgkJLyogQklPUyB3b3JrYXJvdW5kICg/KTogYmUgc3VyZSB0aGUgcHJlLUxpbnV4IGNvZGUK CQkgKiByZWNlaXZlcyB0aGUgU01JCgkJICovCgkJcGNpX3JlYWRfY29uZmlnX2R3b3JkKHBkZXYs IG9mZnNldCArIEVIQ0lfVVNCTEVHQ1RMU1RTLCAmdmFsKTsKCQlwY2lfd3JpdGVfY29uZmlnX2R3 b3JkKHBkZXYsIG9mZnNldCArIEVIQ0lfVVNCTEVHQ1RMU1RTLAoJCQkJICAgICAgIHZhbCB8IEVI Q0lfVVNCTEVHQ1RMU1RTX1NPT0UpOwojZW5kaWYKCgkJLyogc29tZSBzeXN0ZW1zIGdldCB1cHNl dCBpZiB0aGlzIHNlbWFwaG9yZSBpcwoJCSAqIHNldCBmb3IgYW55IG90aGVyIHJlYXNvbiB0aGFu IGZvcmNpbmcgYSBCSU9TCgkJICogaGFuZG9mZi4uCgkJICovCgkJcHJfZXJyKCJERUJVRzogUGFz c2VkICVzICVkIFxuIixfX0ZVTkNUSU9OX18sX19MSU5FX18pOwoJCXBjaV93cml0ZV9jb25maWdf Ynl0ZShwZGV2LCBvZmZzZXQgKyAzLCAxKTsKCQlwcl9lcnIoIkRFQlVHOiBQYXNzZWQgJXMgJWQg XG4iLF9fRlVOQ1RJT05fXyxfX0xJTkVfXyk7Cgl9CgoJcHJfZXJyKCJERUJVRzogUGFzc2VkICVz ICVkIFxuIixfX0ZVTkNUSU9OX18sX19MSU5FX18pOwoKCS8qIGlmIGJvb3QgZmlybXdhcmUgbm93 IG93bnMgRUhDSSwgc3BpbiB0aWxsIGl0IGhhbmRzIGl0IG92ZXIuICovCglpZiAodHJ5X2hhbmRv ZmYpIHsKCQlpbnQgbXNlYyA9IDEwMDA7CgkJd2hpbGUgKChjYXAgJiBFSENJX1VTQkxFR1NVUF9C SU9TKSAmJiAobXNlYyA+IDApKSB7CgkJCXRyaWVkX2hhbmRvZmYgPSAxOwoJCQltc2xlZXAoMTAp OwoJCQltc2VjIC09IDEwOwoJCQlwY2lfcmVhZF9jb25maWdfZHdvcmQocGRldiwgb2Zmc2V0LCAm Y2FwKTsKCQl9Cgl9CgoJcHJfZXJyKCJERUJVRzogUGFzc2VkICVzICVkIFxuIixfX0ZVTkNUSU9O X18sX19MSU5FX18pOwoKCWlmIChjYXAgJiBFSENJX1VTQkxFR1NVUF9CSU9TKSB7CgkJLyogd2Vs bCwgcG9zc2libHkgYnVnZ3kgQklPUy4uLiB0cnkgdG8gc2h1dCBpdCBkb3duLAoJCSAqIGFuZCBo b3BlIG5vdGhpbmcgZ29lcyB0b28gd3JvbmcKCQkgKi8KCQlpZiAodHJ5X2hhbmRvZmYpCgkJCWRl dl93YXJuKCZwZGV2LT5kZXYsCgkJCQkgIkVIQ0k6IEJJT1MgaGFuZG9mZiBmYWlsZWQgKEJJT1Mg YnVnPykgJTA4eFxuIiwKCQkJCSBjYXApOwoJCXBjaV93cml0ZV9jb25maWdfYnl0ZShwZGV2LCBv ZmZzZXQgKyAyLCAwKTsKCX0KCgkvKiBqdXN0IGluIGNhc2UsIGFsd2F5cyBkaXNhYmxlIEVIQ0kg U01JcyAqLwoJcGNpX3dyaXRlX2NvbmZpZ19kd29yZChwZGV2LCBvZmZzZXQgKyBFSENJX1VTQkxF R0NUTFNUUywgMCk7CgoJcHJfZXJyKCJERUJVRzogUGFzc2VkICVzICVkIFxuIixfX0ZVTkNUSU9O X18sX19MSU5FX18pOwoKCS8qIElmIHRoZSBCSU9TIGV2ZXIgb3duZWQgdGhlIGNvbnRyb2xsZXIg dGhlbiB3ZSBjYW4ndCBleHBlY3QKCSAqIGFueSBwb3dlciBzZXNzaW9ucyB0byByZW1haW4gaW50 YWN0LgoJICovCglpZiAodHJpZWRfaGFuZG9mZikKCQl3cml0ZWwoMCwgb3BfcmVnX2Jhc2UgKyBF SENJX0NPTkZJR0ZMQUcpOwoKCXByX2VycigiREVCVUc6IFBhc3NlZCAlcyAlZCBcbiIsX19GVU5D VElPTl9fLF9fTElORV9fKTsKfQoKc3RhdGljIHZvaWQgcXVpcmtfdXNiX2Rpc2FibGVfZWhjaShz dHJ1Y3QgcGNpX2RldiAqcGRldikKewoJdm9pZCBfX2lvbWVtICpiYXNlLCAqb3BfcmVnX2Jhc2U7 Cgl1MzIJaGNjX3BhcmFtcywgY2FwLCB2YWw7Cgl1OAlvZmZzZXQsIGNhcF9sZW5ndGg7CglpbnQJ d2FpdF90aW1lLCBjb3VudCA9IDI1Ni80OwoKCWlmICghbW1pb19yZXNvdXJjZV9lbmFibGVkKHBk ZXYsIDApKQoJCXJldHVybjsKCglwcl9lcnIoIkRFQlVHOiBQYXNzZWQgJXMgJWQgXG4iLF9fRlVO Q1RJT05fXyxfX0xJTkVfXyk7CgoJYmFzZSA9IHBjaV9pb3JlbWFwX2JhcihwZGV2LCAwKTsKCWlm IChiYXNlID09IE5VTEwpCgkJcmV0dXJuOwoKICBwcl9lcnIoIkRFQlVHOiBQYXNzZWQgJXMgJWQg XG4iLF9fRlVOQ1RJT05fXyxfX0xJTkVfXyk7CgoJY2FwX2xlbmd0aCA9IHJlYWRiKGJhc2UpOwoJ b3BfcmVnX2Jhc2UgPSBiYXNlICsgY2FwX2xlbmd0aDsKCglwcl9lcnIoIkRFQlVHOiBQYXNzZWQg JXMgJWQgXG4iLF9fRlVOQ1RJT05fXyxfX0xJTkVfXyk7CgoJLyogRUhDSSAwLjk2IGFuZCBsYXRl ciBtYXkgaGF2ZSAiZXh0ZW5kZWQgY2FwYWJpbGl0aWVzIgoJICogc3BlYyBzZWN0aW9uIDUuMSBl eHBsYWlucyB0aGUgYmlvcyBoYW5kb2ZmLCBlLmcuIGZvcgoJICogYm9vdGluZyBmcm9tIFVTQiBk aXNrIG9yIHVzaW5nIGEgdXNiIGtleWJvYXJkCgkgKi8KCWhjY19wYXJhbXMgPSByZWFkbChiYXNl ICsgRUhDSV9IQ0NfUEFSQU1TKTsKCglwcl9lcnIoIkRFQlVHOiBQYXNzZWQgJXMgJWQgXG4iLF9f RlVOQ1RJT05fXyxfX0xJTkVfXyk7CgoJb2Zmc2V0ID0gKGhjY19wYXJhbXMgPj4gOCkgJiAweGZm OwoJd2hpbGUgKG9mZnNldCAmJiAtLWNvdW50KSB7CgkJcGNpX3JlYWRfY29uZmlnX2R3b3JkKHBk ZXYsIG9mZnNldCwgJmNhcCk7CgoJCXByX2VycigiREVCVUc6IFBhc3NlZCAlcyAlZCBcbiIsX19G VU5DVElPTl9fLF9fTElORV9fKTsKCgkJc3dpdGNoIChjYXAgJiAweGZmKSB7CgkJY2FzZSAxOgoJ CQlwcl9lcnIoIkRFQlVHOiBQYXNzZWQgJXMgJWQgXG4iLF9fRlVOQ1RJT05fXyxfX0xJTkVfXyk7 CgkJCWVoY2lfYmlvc19oYW5kb2ZmKHBkZXYsIG9wX3JlZ19iYXNlLCBjYXAsIG9mZnNldCk7CgkJ CWJyZWFrOwoJCWNhc2UgMDogLyogSWxsZWdhbCByZXNlcnZlZCBjYXAsIHNldCBjYXA9MCBzbyB3 ZSBleGl0ICovCgkJCWNhcCA9IDA7IC8qIGZhbGwgdGhyb3VnaCAqLwoJCWRlZmF1bHQ6CgkJCWRl dl93YXJuKCZwZGV2LT5kZXYsCgkJCQkgIkVIQ0k6IHVucmVjb2duaXplZCBjYXBhYmlsaXR5ICUw MnhcbiIsCgkJCQkgY2FwICYgMHhmZik7CgkJfQoJCW9mZnNldCA9IChjYXAgPj4gOCkgJiAweGZm OwoJfQoKCXByX2VycigiREVCVUc6IFBhc3NlZCAlcyAlZCBcbiIsX19GVU5DVElPTl9fLF9fTElO RV9fKTsKCglpZiAoIWNvdW50KQoJCWRldl9wcmludGsoS0VSTl9ERUJVRywgJnBkZXYtPmRldiwg IkVIQ0k6IGNhcGFiaWxpdHkgbG9vcD9cbiIpOwoKCS8qCgkgKiBoYWx0IEVIQ0kgJiBkaXNhYmxl IGl0cyBpbnRlcnJ1cHRzIGluIGFueSBjYXNlCgkgKi8KCXZhbCA9IHJlYWRsKG9wX3JlZ19iYXNl ICsgRUhDSV9VU0JTVFMpOwoJaWYgKCh2YWwgJiBFSENJX1VTQlNUU19IQUxURUQpID09IDApIHsK CQl2YWwgPSByZWFkbChvcF9yZWdfYmFzZSArIEVIQ0lfVVNCQ01EKTsKCQl2YWwgJj0gfkVIQ0lf VVNCQ01EX1JVTjsKCQl3cml0ZWwodmFsLCBvcF9yZWdfYmFzZSArIEVIQ0lfVVNCQ01EKTsKCgkJ d2FpdF90aW1lID0gMjAwMDsKCQlkbyB7CgkJCXdyaXRlbCgweDNmLCBvcF9yZWdfYmFzZSArIEVI Q0lfVVNCU1RTKTsKCQkJdWRlbGF5KDEwMCk7CgkJCXdhaXRfdGltZSAtPSAxMDA7CgkJCXZhbCA9 IHJlYWRsKG9wX3JlZ19iYXNlICsgRUhDSV9VU0JTVFMpOwoJCQlpZiAoKHZhbCA9PSB+KHUzMikw KSB8fCAodmFsICYgRUhDSV9VU0JTVFNfSEFMVEVEKSkgewoJCQkJYnJlYWs7CgkJCX0KCQl9IHdo aWxlICh3YWl0X3RpbWUgPiAwKTsKCX0KCXdyaXRlbCgwLCBvcF9yZWdfYmFzZSArIEVIQ0lfVVNC SU5UUik7Cgl3cml0ZWwoMHgzZiwgb3BfcmVnX2Jhc2UgKyBFSENJX1VTQlNUUyk7CgoJcHJfZXJy KCJERUJVRzogUGFzc2VkICVzICVkIFxuIixfX0ZVTkNUSU9OX18sX19MSU5FX18pOwoJaW91bm1h cChiYXNlKTsKfQoKLyoKICogaGFuZHNoYWtlIC0gc3BpbiByZWFkaW5nIGEgcmVnaXN0ZXIgdW50 aWwgaGFuZHNoYWtlIGNvbXBsZXRlcwogKiBAcHRyOiBhZGRyZXNzIG9mIGhjIHJlZ2lzdGVyIHRv IGJlIHJlYWQKICogQG1hc2s6IGJpdHMgdG8gbG9vayBhdCBpbiByZXN1bHQgb2YgcmVhZAogKiBA ZG9uZTogdmFsdWUgb2YgdGhvc2UgYml0cyB3aGVuIGhhbmRzaGFrZSBzdWNjZWVkcwogKiBAd2Fp dF91c2VjOiB0aW1lb3V0IGluIG1pY3Jvc2Vjb25kcwogKiBAZGVsYXlfdXNlYzogZGVsYXkgaW4g bWljcm9zZWNvbmRzIHRvIHdhaXQgYmV0d2VlbiBwb2xsaW5nCiAqCiAqIFBvbGxzIGEgcmVnaXN0 ZXIgZXZlcnkgZGVsYXlfdXNlYyBtaWNyb3NlY29uZHMuCiAqIFJldHVybnMgMCB3aGVuIHRoZSBt YXNrIGJpdHMgaGF2ZSB0aGUgdmFsdWUgZG9uZS4KICogUmV0dXJucyAtRVRJTUVET1VUIGlmIHRo aXMgY29uZGl0aW9uIGlzIG5vdCB0cnVlIGFmdGVyCiAqIHdhaXRfdXNlYyBtaWNyb3NlY29uZHMg aGF2ZSBwYXNzZWQuCiAqLwpzdGF0aWMgaW50IGhhbmRzaGFrZSh2b2lkIF9faW9tZW0gKnB0ciwg dTMyIG1hc2ssIHUzMiBkb25lLAoJCWludCB3YWl0X3VzZWMsIGludCBkZWxheV91c2VjKQp7Cgl1 MzIJcmVzdWx0OwoKCWRvIHsKCQlyZXN1bHQgPSByZWFkbChwdHIpOwoJCXJlc3VsdCAmPSBtYXNr OwoJCWlmIChyZXN1bHQgPT0gZG9uZSkKCQkJcmV0dXJuIDA7CgkJdWRlbGF5KGRlbGF5X3VzZWMp OwoJCXdhaXRfdXNlYyAtPSBkZWxheV91c2VjOwoJfSB3aGlsZSAod2FpdF91c2VjID4gMCk7Cgly ZXR1cm4gLUVUSU1FRE9VVDsKfQoKLyoKICogSW50ZWwncyBQYW50aGVyIFBvaW50IGNoaXBzZXQg aGFzIHR3byBob3N0IGNvbnRyb2xsZXJzIChFSENJIGFuZCB4SENJKSB0aGF0CiAqIHNoYXJlIHNv bWUgbnVtYmVyIG9mIHBvcnRzLiAgVGhlc2UgcG9ydHMgY2FuIGJlIHN3aXRjaGVkIGJldHdlZW4g ZWl0aGVyCiAqIGNvbnRyb2xsZXIuICBOb3QgYWxsIG9mIHRoZSBwb3J0cyB1bmRlciB0aGUgRUhD SSBob3N0IGNvbnRyb2xsZXIgbWF5IGJlCiAqIHN3aXRjaGFibGUuCiAqCiAqIFRoZSBwb3J0cyBz aG91bGQgYmUgc3dpdGNoZWQgb3ZlciB0byB4SENJIGJlZm9yZSBQQ0kgcHJvYmVzIGZvciBhbnkg ZGV2aWNlCiAqIHN0YXJ0LiAgVGhpcyBhdm9pZHMgYWN0aXZlIGRldmljZXMgdW5kZXIgRUhDSSBi ZWluZyBkaXNjb25uZWN0ZWQgZHVyaW5nIHRoZQogKiBwb3J0IHN3aXRjaG92ZXIsIHdoaWNoIGNv dWxkIGNhdXNlIGxvc3Mgb2YgZGF0YSBvbiBVU0Igc3RvcmFnZSBkZXZpY2VzLCBvcgogKiBmYWls ZWQgYm9vdCB3aGVuIHRoZSByb290IGZpbGUgc3lzdGVtIGlzIG9uIGEgVVNCIG1hc3Mgc3RvcmFn ZSBkZXZpY2UgYW5kIGlzCiAqIGVudW1lcmF0ZWQgdW5kZXIgRUhDSSBmaXJzdC4KICoKICogV2Ug d3JpdGUgaW50byB0aGUgeEhDJ3MgUENJIGNvbmZpZ3VyYXRpb24gc3BhY2UgaW4gc29tZSBJbnRl bC1zcGVjaWZpYwogKiByZWdpc3RlcnMgdG8gc3dpdGNoIHRoZSBwb3J0cyBvdmVyLiAgVGhlIFVT QiAzLjAgdGVybWluYXRpb25zIGFuZCB0aGUgVVNCCiAqIDIuMCBkYXRhIHdpcmVzIGFyZSBzd2l0 Y2hlZCBzZXBhcmF0ZWx5LiAgV2Ugd2FudCB0byBlbmFibGUgdGhlIFN1cGVyU3BlZWQKICogdGVy bWluYXRpb25zIGJlZm9yZSBzd2l0Y2hpbmcgdGhlIFVTQiAyLjAgd2lyZXMgb3Zlciwgc28gdGhh dCBVU0IgMy4wCiAqIGRldmljZXMgY29ubmVjdCBhdCBTdXBlclNwZWVkLCByYXRoZXIgdGhhbiBh dCBVU0IgMi4wIHNwZWVkcy4KICovCnZvaWQgdXNiX2VuYWJsZV9pbnRlbF94aGNpX3BvcnRzKHN0 cnVjdCBwY2lfZGV2ICp4aGNpX3BkZXYpCnsKCXUzMgkJcG9ydHNfYXZhaWxhYmxlOwoJYm9vbAkJ ZWhjaV9mb3VuZCA9IGZhbHNlOwoJc3RydWN0IHBjaV9kZXYJKmNvbXBhbmlvbiA9IE5VTEw7CgoJ LyogU29ueSBWQUlPIHQtc2VyaWVzIHdpdGggc3Vic3lzdGVtIGRldmljZSBJRCA5MGE4IGlzIG5v dCBjYXBhYmxlIG9mCgkgKiBzd2l0Y2hpbmcgcG9ydHMgZnJvbSBFSENJIHRvIHhIQ0kKCSAqLwoJ aWYgKHhoY2lfcGRldi0+c3Vic3lzdGVtX3ZlbmRvciA9PSBQQ0lfVkVORE9SX0lEX1NPTlkgJiYK CSAgICB4aGNpX3BkZXYtPnN1YnN5c3RlbV9kZXZpY2UgPT0gMHg5MGE4KQoJCXJldHVybjsKCgkv KiBtYWtlIHN1cmUgYW4gaW50ZWwgRUhDSSBjb250cm9sbGVyIGV4aXN0cyAqLwoJZm9yX2VhY2hf cGNpX2Rldihjb21wYW5pb24pIHsKCQlpZiAoY29tcGFuaW9uLT5jbGFzcyA9PSBQQ0lfQ0xBU1Nf U0VSSUFMX1VTQl9FSENJICYmCgkJICAgIGNvbXBhbmlvbi0+dmVuZG9yID09IFBDSV9WRU5ET1Jf SURfSU5URUwpIHsKCQkJZWhjaV9mb3VuZCA9IHRydWU7CgkJCWJyZWFrOwoJCX0KCX0KCglpZiAo IWVoY2lfZm91bmQpCgkJcmV0dXJuOwoKCS8qIERvbid0IHN3aXRjaG92ZXIgdGhlIHBvcnRzIGlm IHRoZSB1c2VyIGhhc24ndCBjb21waWxlZCB0aGUgeEhDSQoJICogZHJpdmVyLiAgT3RoZXJ3aXNl IHRoZXkgd2lsbCBzZWUgImRlYWQiIFVTQiBwb3J0cyB0aGF0IGRvbid0IHBvd2VyCgkgKiB0aGUg ZGV2aWNlcy4KCSAqLwoJaWYgKCFJU19FTkFCTEVEKENPTkZJR19VU0JfWEhDSV9IQ0QpKSB7CgkJ ZGV2X3dhcm4oJnhoY2lfcGRldi0+ZGV2LAoJCQkgIkNPTkZJR19VU0JfWEhDSV9IQ0QgaXMgdHVy bmVkIG9mZiwgZGVmYXVsdGluZyB0byBFSENJLlxuIik7CgkJZGV2X3dhcm4oJnhoY2lfcGRldi0+ ZGV2LAoJCQkJIlVTQiAzLjAgZGV2aWNlcyB3aWxsIHdvcmsgYXQgVVNCIDIuMCBzcGVlZHMuXG4i KTsKCQl1c2JfZGlzYWJsZV94aGNpX3BvcnRzKHhoY2lfcGRldik7CgkJcmV0dXJuOwoJfQoKCS8q IFJlYWQgVVNCM1BSTSwgdGhlIFVTQiAzLjAgUG9ydCBSb3V0aW5nIE1hc2sgUmVnaXN0ZXIKCSAq IEluZGljYXRlIHRoZSBwb3J0cyB0aGF0IGNhbiBiZSBjaGFuZ2VkIGZyb20gT1MuCgkgKi8KCXBj aV9yZWFkX2NvbmZpZ19kd29yZCh4aGNpX3BkZXYsIFVTQl9JTlRFTF9VU0IzUFJNLAoJCQkmcG9y dHNfYXZhaWxhYmxlKTsKCglkZXZfZGJnKCZ4aGNpX3BkZXYtPmRldiwgIkNvbmZpZ3VyYWJsZSBw b3J0cyB0byBlbmFibGUgU3VwZXJTcGVlZDogMHgleFxuIiwKCQkJcG9ydHNfYXZhaWxhYmxlKTsK CgkvKiBXcml0ZSBVU0IzX1BTU0VOLCB0aGUgVVNCIDMuMCBQb3J0IFN1cGVyU3BlZWQgRW5hYmxl CgkgKiBSZWdpc3RlciwgdG8gdHVybiBvbiBTdXBlclNwZWVkIHRlcm1pbmF0aW9ucyBmb3IgdGhl CgkgKiBzd2l0Y2hhYmxlIHBvcnRzLgoJICovCglwY2lfd3JpdGVfY29uZmlnX2R3b3JkKHhoY2lf cGRldiwgVVNCX0lOVEVMX1VTQjNfUFNTRU4sCgkJCXBvcnRzX2F2YWlsYWJsZSk7CgoJcGNpX3Jl YWRfY29uZmlnX2R3b3JkKHhoY2lfcGRldiwgVVNCX0lOVEVMX1VTQjNfUFNTRU4sCgkJCSZwb3J0 c19hdmFpbGFibGUpOwoJZGV2X2RiZygmeGhjaV9wZGV2LT5kZXYsCgkJIlVTQiAzLjAgcG9ydHMg dGhhdCBhcmUgbm93IGVuYWJsZWQgdW5kZXIgeEhDSTogMHgleFxuIiwKCQlwb3J0c19hdmFpbGFi bGUpOwoKCS8qIFJlYWQgWFVTQjJQUk0sIHhIQ0kgVVNCIDIuMCBQb3J0IFJvdXRpbmcgTWFzayBS ZWdpc3RlcgoJICogSW5kaWNhdGUgdGhlIFVTQiAyLjAgcG9ydHMgdG8gYmUgY29udHJvbGxlZCBi eSB0aGUgeEhDSSBob3N0LgoJICovCgoJcGNpX3JlYWRfY29uZmlnX2R3b3JkKHhoY2lfcGRldiwg VVNCX0lOVEVMX1VTQjJQUk0sCgkJCSZwb3J0c19hdmFpbGFibGUpOwoKCWRldl9kYmcoJnhoY2lf cGRldi0+ZGV2LCAiQ29uZmlndXJhYmxlIFVTQiAyLjAgcG9ydHMgdG8gaGFuZCBvdmVyIHRvIHhD SEk6IDB4JXhcbiIsCgkJCXBvcnRzX2F2YWlsYWJsZSk7CgoJLyogV3JpdGUgWFVTQjJQUiwgdGhl IHhIQyBVU0IgMi4wIFBvcnQgUm91dGluZyBSZWdpc3RlciwgdG8KCSAqIHN3aXRjaCB0aGUgVVNC IDIuMCBwb3dlciBhbmQgZGF0YSBsaW5lcyBvdmVyIHRvIHRoZSB4SENJCgkgKiBob3N0LgoJICov CglwY2lfd3JpdGVfY29uZmlnX2R3b3JkKHhoY2lfcGRldiwgVVNCX0lOVEVMX1hVU0IyUFIsCgkJ CXBvcnRzX2F2YWlsYWJsZSk7CgoJcGNpX3JlYWRfY29uZmlnX2R3b3JkKHhoY2lfcGRldiwgVVNC X0lOVEVMX1hVU0IyUFIsCgkJCSZwb3J0c19hdmFpbGFibGUpOwoJZGV2X2RiZygmeGhjaV9wZGV2 LT5kZXYsCgkJIlVTQiAyLjAgcG9ydHMgdGhhdCBhcmUgbm93IHN3aXRjaGVkIG92ZXIgdG8geEhD STogMHgleFxuIiwKCQlwb3J0c19hdmFpbGFibGUpOwp9CkVYUE9SVF9TWU1CT0xfR1BMKHVzYl9l bmFibGVfaW50ZWxfeGhjaV9wb3J0cyk7Cgp2b2lkIHVzYl9kaXNhYmxlX3hoY2lfcG9ydHMoc3Ry dWN0IHBjaV9kZXYgKnhoY2lfcGRldikKewoJcGNpX3dyaXRlX2NvbmZpZ19kd29yZCh4aGNpX3Bk ZXYsIFVTQl9JTlRFTF9VU0IzX1BTU0VOLCAweDApOwoJcGNpX3dyaXRlX2NvbmZpZ19kd29yZCh4 aGNpX3BkZXYsIFVTQl9JTlRFTF9YVVNCMlBSLCAweDApOwp9CkVYUE9SVF9TWU1CT0xfR1BMKHVz Yl9kaXNhYmxlX3hoY2lfcG9ydHMpOwoKLyoqCiAqIFBDSSBRdWlya3MgZm9yIHhIQ0kuCiAqCiAq IFRha2VzIGNhcmUgb2YgdGhlIGhhbmRvZmYgYmV0d2VlbiB0aGUgUHJlLU9TIChpLmUuIEJJT1Mp IGFuZCB0aGUgT1MuCiAqIEl0IHNpZ25hbHMgdG8gdGhlIEJJT1MgdGhhdCB0aGUgT1Mgd2FudHMg Y29udHJvbCBvZiB0aGUgaG9zdCBjb250cm9sbGVyLAogKiBhbmQgdGhlbiB3YWl0cyAxIHNlY29u ZCBmb3IgdGhlIEJJT1MgdG8gaGFuZCBvdmVyIGNvbnRyb2wuCiAqIElmIHdlIHRpbWVvdXQsIGFz c3VtZSB0aGUgQklPUyBpcyBicm9rZW4gYW5kIHRha2UgY29udHJvbCBhbnl3YXkuCiAqLwpzdGF0 aWMgdm9pZCBxdWlya191c2JfaGFuZG9mZl94aGNpKHN0cnVjdCBwY2lfZGV2ICpwZGV2KQp7Cgl2 b2lkIF9faW9tZW0gKmJhc2U7CglpbnQgZXh0X2NhcF9vZmZzZXQ7Cgl2b2lkIF9faW9tZW0gKm9w X3JlZ19iYXNlOwoJdTMyIHZhbDsKCWludCB0aW1lb3V0OwoJaW50IGxlbiA9IHBjaV9yZXNvdXJj ZV9sZW4ocGRldiwgMCk7CgoJcHJfZXJyKCJERUJVRzogUGFzc2VkICVzICVkIFxuIixfX0ZVTkNU SU9OX18sX19MSU5FX18pOwoKCWlmICghbW1pb19yZXNvdXJjZV9lbmFibGVkKHBkZXYsIDApKQoJ CXJldHVybjsKCglwcl9lcnIoIkRFQlVHOiBQYXNzZWQgJXMgJWQgXG4iLF9fRlVOQ1RJT05fXyxf X0xJTkVfXyk7CgoJYmFzZSA9IGlvcmVtYXBfbm9jYWNoZShwY2lfcmVzb3VyY2Vfc3RhcnQocGRl diwgMCksIGxlbik7CglpZiAoYmFzZSA9PSBOVUxMKQoJCXJldHVybjsKCgkvKgoJICogRmluZCB0 aGUgTGVnYWN5IFN1cHBvcnQgQ2FwYWJpbGl0eSByZWdpc3RlciAtCgkgKiB0aGlzIGlzIG9wdGlv bmFsIGZvciB4SENJIGhvc3QgY29udHJvbGxlcnMuCgkgKi8KCWV4dF9jYXBfb2Zmc2V0ID0geGhj aV9maW5kX25leHRfZXh0X2NhcChiYXNlLCAwLCBYSENJX0VYVF9DQVBTX0xFR0FDWSk7CgoJcHJf ZXJyKCJERUJVRzogUGFzc2VkICVzICVkIFxuIixfX0ZVTkNUSU9OX18sX19MSU5FX18pOwoKCWlm ICghZXh0X2NhcF9vZmZzZXQpCgkJZ290byBoY19pbml0OwoKCXByX2VycigiREVCVUc6IFBhc3Nl ZCAlcyAlZCBcbiIsX19GVU5DVElPTl9fLF9fTElORV9fKTsKCglpZiAoKGV4dF9jYXBfb2Zmc2V0 ICsgc2l6ZW9mKHZhbCkpID4gbGVuKSB7CgkJLyogV2UncmUgcmVhZGluZyBnYXJiYWdlIGZyb20g dGhlIGNvbnRyb2xsZXIgKi8KCQlkZXZfd2FybigmcGRldi0+ZGV2LCAieEhDSSBjb250cm9sbGVy IGZhaWxpbmcgdG8gcmVzcG9uZCIpOwoJCWdvdG8gaW91bm1hcDsKCX0KCXZhbCA9IHJlYWRsKGJh c2UgKyBleHRfY2FwX29mZnNldCk7CgoJcHJfZXJyKCJERUJVRzogUGFzc2VkICVzICVkIFxuIixf X0ZVTkNUSU9OX18sX19MSU5FX18pOwoKCS8qIEF1dG8gaGFuZG9mZiBuZXZlciB3b3JrZWQgZm9y IHRoZXNlIGRldmljZXMuIEZvcmNlIGl0IGFuZCBjb250aW51ZSAqLwoJaWYgKChwZGV2LT52ZW5k b3IgPT0gUENJX1ZFTkRPUl9JRF9USSAmJiBwZGV2LT5kZXZpY2UgPT0gMHg4MjQxKSB8fAoJCQko cGRldi0+dmVuZG9yID09IFBDSV9WRU5ET1JfSURfUkVORVNBUwoJCQkgJiYgcGRldi0+ZGV2aWNl ID09IDB4MDAxNCkpIHsKCQl2YWwgPSAodmFsIHwgWEhDSV9IQ19PU19PV05FRCkgJiB+WEhDSV9I Q19CSU9TX09XTkVEOwoJCXdyaXRlbCh2YWwsIGJhc2UgKyBleHRfY2FwX29mZnNldCk7Cgl9CgoJ cHJfZXJyKCJERUJVRzogUGFzc2VkICVzICVkIFxuIixfX0ZVTkNUSU9OX18sX19MSU5FX18pOwoK CS8qIElmIHRoZSBCSU9TIG93bnMgdGhlIEhDLCBzaWduYWwgdGhhdCB0aGUgT1Mgd2FudHMgaXQs IGFuZCB3YWl0ICovCglpZiAodmFsICYgWEhDSV9IQ19CSU9TX09XTkVEKSB7CgkJd3JpdGVsKHZh bCB8IFhIQ0lfSENfT1NfT1dORUQsIGJhc2UgKyBleHRfY2FwX29mZnNldCk7CgoJCS8qIFdhaXQg Zm9yIDEgc2Vjb25kIHdpdGggMTAgbWljcm9zZWNvbmQgcG9sbGluZyBpbnRlcnZhbCAqLwoJCXRp bWVvdXQgPSBoYW5kc2hha2UoYmFzZSArIGV4dF9jYXBfb2Zmc2V0LCBYSENJX0hDX0JJT1NfT1dO RUQsCgkJCQkwLCAxMDAwMDAwLCAxMCk7CgoJCS8qIEFzc3VtZSBhIGJ1Z2d5IEJJT1MgYW5kIHRh a2UgSEMgb3duZXJzaGlwIGFueXdheSAqLwoJCWlmICh0aW1lb3V0KSB7CgkJCWRldl93YXJuKCZw ZGV2LT5kZXYsCgkJCQkgInhIQ0kgQklPUyBoYW5kb2ZmIGZhaWxlZCAoQklPUyBidWcgPykgJTA4 eFxuIiwKCQkJCSB2YWwpOwoJCQl3cml0ZWwodmFsICYgflhIQ0lfSENfQklPU19PV05FRCwgYmFz ZSArIGV4dF9jYXBfb2Zmc2V0KTsKCQl9Cgl9CgoJcHJfZXJyKCJERUJVRzogUGFzc2VkICVzICVk IFxuIixfX0ZVTkNUSU9OX18sX19MSU5FX18pOwoKCXZhbCA9IHJlYWRsKGJhc2UgKyBleHRfY2Fw X29mZnNldCArIFhIQ0lfTEVHQUNZX0NPTlRST0xfT0ZGU0VUKTsKCS8qIE1hc2sgb2ZmICh0dXJu IG9mZikgYW55IGVuYWJsZWQgU01JcyAqLwoJdmFsICY9IFhIQ0lfTEVHQUNZX0RJU0FCTEVfU01J OwoJLyogTWFzayBhbGwgU01JIGV2ZW50cyBiaXRzLCBSVzFDICovCgl2YWwgfD0gWEhDSV9MRUdB Q1lfU01JX0VWRU5UUzsKCS8qIERpc2FibGUgYW55IEJJT1MgU01JcyBhbmQgY2xlYXIgYWxsIFNN SSBldmVudHMqLwoJd3JpdGVsKHZhbCwgYmFzZSArIGV4dF9jYXBfb2Zmc2V0ICsgWEhDSV9MRUdB Q1lfQ09OVFJPTF9PRkZTRVQpOwoKCXByX2VycigiREVCVUc6IFBhc3NlZCAlcyAlZCBcbiIsX19G VU5DVElPTl9fLF9fTElORV9fKTsKCmhjX2luaXQ6CglpZiAocGRldi0+dmVuZG9yID09IFBDSV9W RU5ET1JfSURfSU5URUwpCgkJdXNiX2VuYWJsZV9pbnRlbF94aGNpX3BvcnRzKHBkZXYpOwoKCW9w X3JlZ19iYXNlID0gYmFzZSArIFhIQ0lfSENfTEVOR1RIKHJlYWRsKGJhc2UpKTsKCglwcl9lcnIo IkRFQlVHOiBQYXNzZWQgJXMgJWQgXG4iLF9fRlVOQ1RJT05fXyxfX0xJTkVfXyk7CgoJLyogV2Fp dCBmb3IgdGhlIGhvc3QgY29udHJvbGxlciB0byBiZSByZWFkeSBiZWZvcmUgd3JpdGluZyBhbnkK CSAqIG9wZXJhdGlvbmFsIG9yIHJ1bnRpbWUgcmVnaXN0ZXJzLiAgV2FpdCA1IHNlY29uZHMgYW5k IG5vIG1vcmUuCgkgKi8KCXRpbWVvdXQgPSBoYW5kc2hha2Uob3BfcmVnX2Jhc2UgKyBYSENJX1NU U19PRkZTRVQsIFhIQ0lfU1RTX0NOUiwgMCwKCQkJNTAwMDAwMCwgMTApOwoJLyogQXNzdW1lIGEg YnVnZ3kgSEMgYW5kIHN0YXJ0IEhDIGluaXRpYWxpemF0aW9uIGFueXdheSAqLwoJaWYgKHRpbWVv dXQpIHsKCQl2YWwgPSByZWFkbChvcF9yZWdfYmFzZSArIFhIQ0lfU1RTX09GRlNFVCk7CgkJZGV2 X3dhcm4oJnBkZXYtPmRldiwKCQkJICJ4SENJIEhXIG5vdCByZWFkeSBhZnRlciA1IHNlYyAoSEMg YnVnPykgc3RhdHVzID0gMHgleFxuIiwKCQkJIHZhbCk7Cgl9CgoJcHJfZXJyKCJERUJVRzogUGFz c2VkICVzICVkIFxuIixfX0ZVTkNUSU9OX18sX19MSU5FX18pOwoKCS8qIFNlbmQgdGhlIGhhbHQg YW5kIGRpc2FibGUgaW50ZXJydXB0cyBjb21tYW5kICovCgl2YWwgPSByZWFkbChvcF9yZWdfYmFz ZSArIFhIQ0lfQ01EX09GRlNFVCk7Cgl2YWwgJj0gfihYSENJX0NNRF9SVU4gfCBYSENJX0lSUVMp OwoJd3JpdGVsKHZhbCwgb3BfcmVnX2Jhc2UgKyBYSENJX0NNRF9PRkZTRVQpOwoKCXByX2Vycigi REVCVUc6IFBhc3NlZCAlcyAlZCBcbiIsX19GVU5DVElPTl9fLF9fTElORV9fKTsKCgkvKiBXYWl0 IGZvciB0aGUgSEMgdG8gaGFsdCAtIHBvbGwgZXZlcnkgMTI1IHVzZWMgKG9uZSBtaWNyb2ZyYW1l KS4gKi8KCXRpbWVvdXQgPSBoYW5kc2hha2Uob3BfcmVnX2Jhc2UgKyBYSENJX1NUU19PRkZTRVQs IFhIQ0lfU1RTX0hBTFQsIDEsCgkJCVhIQ0lfTUFYX0hBTFRfVVNFQywgMTI1KTsKCWlmICh0aW1l b3V0KSB7CgkJdmFsID0gcmVhZGwob3BfcmVnX2Jhc2UgKyBYSENJX1NUU19PRkZTRVQpOwoJCWRl dl93YXJuKCZwZGV2LT5kZXYsCgkJCSAieEhDSSBIVyBkaWQgbm90IGhhbHQgd2l0aGluICVkIHVz ZWMgc3RhdHVzID0gMHgleFxuIiwKCQkJIFhIQ0lfTUFYX0hBTFRfVVNFQywgdmFsKTsKCX0KCglw cl9lcnIoIkRFQlVHOiBQYXNzZWQgJXMgJWQgXG4iLF9fRlVOQ1RJT05fXyxfX0xJTkVfXyk7Cgpp b3VubWFwOgoJaW91bm1hcChiYXNlKTsKfQoKc3RhdGljIHZvaWQgcXVpcmtfdXNiX2Vhcmx5X2hh bmRvZmYoc3RydWN0IHBjaV9kZXYgKnBkZXYpCnsKCS8qIFNraXAgTmV0bG9naWMgbWlwcyBTb0Mn cyBpbnRlcm5hbCBQQ0kgVVNCIGNvbnRyb2xsZXIuCgkgKiBUaGlzIGRldmljZSBkb2VzIG5vdCBu ZWVkL3N1cHBvcnQgRUhDSS9PSENJIGhhbmRvZmYKCSAqLwoJaWYgKHBkZXYtPnZlbmRvciA9PSAw eDE4NGUpCS8qIHZlbmRvciBOZXRsb2dpYyAqLwoJCXJldHVybjsKCWlmIChwZGV2LT5jbGFzcyAh PSBQQ0lfQ0xBU1NfU0VSSUFMX1VTQl9VSENJICYmCgkJCXBkZXYtPmNsYXNzICE9IFBDSV9DTEFT U19TRVJJQUxfVVNCX09IQ0kgJiYKCQkJcGRldi0+Y2xhc3MgIT0gUENJX0NMQVNTX1NFUklBTF9V U0JfRUhDSSAmJgoJCQlwZGV2LT5jbGFzcyAhPSBQQ0lfQ0xBU1NfU0VSSUFMX1VTQl9YSENJKQoJ CXJldHVybjsKCglwcl9lcnIoIkRFQlVHOiBQYXNzZWQgJXMgJWQgXG4iLF9fRlVOQ1RJT05fXyxf X0xJTkVfXyk7CgoJaWYgKHBjaV9lbmFibGVfZGV2aWNlKHBkZXYpIDwgMCkgewoJCWRldl93YXJu KCZwZGV2LT5kZXYsCgkJCSAiQ2FuJ3QgZW5hYmxlIFBDSSBkZXZpY2UsIEJJT1MgaGFuZG9mZiBm YWlsZWQuXG4iKTsKCQlyZXR1cm47Cgl9CgoJcHJfZXJyKCJERUJVRzogUGFzc2VkICVzICVkIFxu IixfX0ZVTkNUSU9OX18sX19MSU5FX18pOwoKCWlmIChwZGV2LT5jbGFzcyA9PSBQQ0lfQ0xBU1Nf U0VSSUFMX1VTQl9VSENJKQoJCXF1aXJrX3VzYl9oYW5kb2ZmX3VoY2kocGRldik7CgllbHNlIGlm IChwZGV2LT5jbGFzcyA9PSBQQ0lfQ0xBU1NfU0VSSUFMX1VTQl9PSENJKQoJCXF1aXJrX3VzYl9o YW5kb2ZmX29oY2kocGRldik7CgllbHNlIGlmIChwZGV2LT5jbGFzcyA9PSBQQ0lfQ0xBU1NfU0VS SUFMX1VTQl9FSENJKQoJCXF1aXJrX3VzYl9kaXNhYmxlX2VoY2kocGRldik7CgllbHNlIGlmIChw ZGV2LT5jbGFzcyA9PSBQQ0lfQ0xBU1NfU0VSSUFMX1VTQl9YSENJKQoJCXF1aXJrX3VzYl9oYW5k b2ZmX3hoY2kocGRldik7CglwY2lfZGlzYWJsZV9kZXZpY2UocGRldik7Cn0KREVDTEFSRV9QQ0lf RklYVVBfQ0xBU1NfRklOQUwoUENJX0FOWV9JRCwgUENJX0FOWV9JRCwKCQkJUENJX0NMQVNTX1NF UklBTF9VU0IsIDgsIHF1aXJrX3VzYl9lYXJseV9oYW5kb2ZmKTsK --000000000000ab51c30585b7cf23--