From nobody Mon Aug 25 14:47:25 2025 X-Original-To: virtualization@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4c9YYK0PDhz65swx for ; Mon, 25 Aug 2025 14:47:33 +0000 (UTC) (envelope-from Stephan.Althaus@Duedinghausen.eu) Received: from mo4-p05-ob.smtp.rzone.de (mo4-p05-ob.smtp.rzone.de [85.215.255.131]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "*.smtp.rzone.de", Issuer "Telekom Security ServerID OV Class 2 CA" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4c9YYG29Xgz3SFF for ; Mon, 25 Aug 2025 14:47:30 +0000 (UTC) (envelope-from Stephan.Althaus@Duedinghausen.eu) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=hoewweken.de header.s=strato-dkim-0002 header.b=raWphjZM; dkim=pass header.d=hoewweken.de header.s=strato-dkim-0003 header.b=Hfgwp95h; dkim=pass header.d=duedinghausen.eu header.s=default header.b=Ub2+ryus; dmarc=pass (policy=reject) header.from=duedinghausen.eu; spf=none (mx1.freebsd.org: domain of Stephan.Althaus@Duedinghausen.eu has no SPF policy when checking 85.215.255.131) smtp.mailfrom=Stephan.Althaus@Duedinghausen.eu; arc=pass ("strato.com:s=strato-dkim-0002:i=1") ARC-Seal: i=1; a=rsa-sha256; t=1756133247; cv=none; d=strato.com; s=strato-dkim-0002; b=F9Kemj4USP94mDGUgQrW2pwW3HfrPuLXRv+Ykq7g2iqWcAcd04lxCw0mHYl/2lqa5M 8I9ysYJpZ+7m4kiVveoVmtorApKsXZknz18f3X9JW84mGrMOw8WIuI214Poo9M02D6mK UUeYitG8NQl2T8T83UPTMbvwRGhgIF4QY0qPTeLs45hkBAtw9HVwGmxMbtmGi7F78oJJ IIqsNrXnS1sHW3o0qfQ57KsOgG1gCf0Y12qX1cTAIxpLGf1BRvFdrirwD2VIBP8nAkrx MCnCHaVLKyCvb4Dzpjbusiq2YoX1wjBwwRFSCEPaYad9mEdlZdB1+yz/cnFnzlImMd+D JO5Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; t=1756133247; s=strato-dkim-0002; d=strato.com; h=In-Reply-To:From:References:To:Subject:Date:Message-ID:Cc:Date:From: Subject:Sender; bh=/olwC/B2bvBCfD89o9ZF11GRCGd8qvzU0iaKo/cOgMM=; b=HPkEN0joIdMWRWrSgSBWHMkYO4+PZxFHloySBGw4cb0stHucdFJ+bPTupUs4fAO57C NXaTtWUmlVIhoXxmRyTOjcWi3wuTrlcX0tPJvzjhVOm3Zo9pKoq11UmEIs6vG9om98Qm 63/k7hL+mdymjy2XQixf8g2me3HvYwQQgbLqV5ubyICZ7zvFd+s1X/qvmiTjJdqFFBMA nOrt0XZ1ygErjyglR6VRqZ5JHi/AilEoW1J2uW9PrBydkLKHfWIVbrq3SlnD37fQ6YKx N0vLIMxsZMpvMbCrDKstltsSL1fWAgEWMK1tdqw0oAf1suA0JTzPeC0UTpCTWHBTdIZh JKCg== ARC-Authentication-Results: i=1; strato.com; arc=none; dkim=pass header.d="duedinghausen.eu" header.s="default" header.a="rsa-sha256" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1756133247; s=strato-dkim-0002; d=hoewweken.de; h=In-Reply-To:From:References:To:Subject:Date:Message-ID:Cc:Date:From: Subject:Sender; bh=/olwC/B2bvBCfD89o9ZF11GRCGd8qvzU0iaKo/cOgMM=; b=raWphjZMZVfFVT+YNlDt+j5Z52IgmZ456SegC92IiDE+6jXmxOkjhVmBFgFsWtAdmb K8hZFWdAjCAwFsX3xBFLzPaFLl2k5l++lGah02jKFaWKopaXIeRxos+dbCx9wQnSy63O gd4OQ5lJA4Hr59EWpnW4wTmYXydmkBjiPW5uboU3L3AhKDHcFE86UYCp9fbMQiomnGQ9 oayG2/PgBRCh13Swpts/6zFV/Bh/A/GJsM+9mS7ZS2MWBe0x4T8lCRS3zm+tgL2WtF4L HR6e/2sC6UwL6mzte/k2DY64O/az+EZ1SUcfjDiGJiidlE738je4Mr/msp1j5xcytJaC SB2w== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; t=1756133247; s=strato-dkim-0003; d=hoewweken.de; h=In-Reply-To:From:References:To:Subject:Date:Message-ID:Cc:Date:From: Subject:Sender; bh=/olwC/B2bvBCfD89o9ZF11GRCGd8qvzU0iaKo/cOgMM=; b=Hfgwp95htr7/cx1wVJOLqmUJuAYz2X8WgOZKnkEycZvnrpYFUBsp3VAO97ZIdZGK/n JmIRDdGSZjFAkIj8QdDQ== X-RZG-AUTH: ":O2kGeEG7b/pS1EW2TmikjLDsYYueHLp2aWg0q38nsxvThUrH35SBpgREu1OVr06TMgNQOGA=" X-RZG-CLASS-ID: mo05 Received: from www.duedinghausen.eu by smtp.strato.de (RZmta 52.1.2 DYNA|AUTH) with ESMTPSA id q9bf2e17PElR9nH (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256 bits)) (Client did not present a certificate) for ; Mon, 25 Aug 2025 16:47:27 +0200 (CEST) Received: from [192.168.2.63] (p5dde9411.dip0.t-ipconnect.de [93.222.148.17]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384) (No client certificate requested) (Authenticated sender: steven) by www.duedinghausen.eu (Postfix) with ESMTPSA id 1F03014D4B2 for ; Mon, 25 Aug 2025 16:47:27 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=duedinghausen.eu; s=default; t=1756133247; bh=359+EJ4BN3+Kg53sM2HmU2MS/nWdfNzNNKAgnBynkMQ=; h=Date:Subject:To:References:From:In-Reply-To; b=Ub2+ryus5cun9SPYk1aaTKp8bwSlDp2htI198VVrGiyElJgeIr2lwn/l3QQUh13x9 z7twp5CtObiM1YPH8EG1G04lHueeXXxoU1NaEhr/WOgaQMKCllKPZzkFqMmgUBlvra owlI8F730N5SjkXA+JedWDsUGwnqOX1hTJomoBkE5IjrYLHK45SqLsAZpAlg5jFy/S dX5zbigRWGgtIKyviOT2mUrXllUoL7iDTXxvuyz6BTb4M7BI1GiVE95wOk7YeKuECA p9rzVkEoE4/CkMjLqf1girGn+JEqmw7Ezbc2emlCo1uHJ2j7e7Sc27JU3gMPQx852y 87cehiLH7IY8F2edBAHZrrLNeyNian+HBtK4ol8MluXmVnzEi/9Hr/heWJ75lX/eoS 4KZtU+nCzzDH3he+MQ82VC2hf3OCD4mvL5/ZwlT7I8kuizLJP09vhXdpMcYqloatLM HuZoHSOyc/b0BUvBwLsi4gkhmzni3fLgcd90fJevvYslFKP/s6EAKKXSKUKXuMcFOp ICpUi9MfFfNDdK9aSTXFbwhxXefTYOWT8uVymnCPqF2kDj8+g9CEja03iK+jF6IbwQ vRBrlvy2+eeemXM/XbzcVeumfNxHgP7B5tdhx5o0rHxue9Ldaf+EdfCshMeZ1TUKDz eVjaa7pUP85VlIkTeVJmMf9A= Content-Type: multipart/alternative; boundary="------------ax8u0R53d0afJpSQ07Fg0dqv" Message-ID: <98007d7f-427e-461a-adf1-7cb55f777662@Duedinghausen.eu> Date: Mon, 25 Aug 2025 16:47:25 +0200 List-Id: Discussion List-Archive: https://lists.freebsd.org/archives/freebsd-virtualization List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: freebsd-virtualization@freebsd.org Sender: owner-freebsd-virtualization@FreeBSD.org MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: GPU Passthrough on FreeBSD 14.3 (AMD Radeon RX 6900 XT and Windows 10 Pro) To: virtualization@freebsd.org References: <6CV-OY6BcErrWRit9jSpi6fWsYBG3E_Z3u6eTLPcz6foPAZV1gQpZYaZTR7JA_1ot5RQVqrWQaLxJFySXjspIhSbBJGxmckcDQyzxhALNus=@xyinn.org> Content-Language: en-US From: Stephan Althaus In-Reply-To: <6CV-OY6BcErrWRit9jSpi6fWsYBG3E_Z3u6eTLPcz6foPAZV1gQpZYaZTR7JA_1ot5RQVqrWQaLxJFySXjspIhSbBJGxmckcDQyzxhALNus=@xyinn.org> Content-Transfer-Encoding: 8bit X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.80 / 15.00]; ARC_ALLOW(-1.00)[strato.com:s=strato-dkim-0002:i=1]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_SHORT(-1.00)[-0.999]; DMARC_POLICY_ALLOW(-0.50)[duedinghausen.eu,reject]; R_DKIM_ALLOW(-0.20)[hoewweken.de:s=strato-dkim-0002,hoewweken.de:s=strato-dkim-0003,duedinghausen.eu:s=default]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; RCVD_VIA_SMTP_AUTH(0.00)[]; R_SPF_NA(0.00)[no SPF record]; MIME_TRACE(0.00)[0:+,1:+,2:~]; ASN(0.00)[asn:6724, ipnet:85.215.255.0/24, country:DE]; RCPT_COUNT_ONE(0.00)[1]; RCVD_TLS_ALL(0.00)[]; MID_RHS_MATCH_FROM(0.00)[]; MLMMJ_DEST(0.00)[virtualization@freebsd.org]; FROM_EQ_ENVFROM(0.00)[]; FROM_HAS_DN(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[85.215.255.131:from]; RCVD_COUNT_TWO(0.00)[2]; TO_MATCH_ENVRCPT_ALL(0.00)[]; TO_DN_NONE(0.00)[]; PREVIOUSLY_DELIVERED(0.00)[virtualization@freebsd.org]; DKIM_TRACE(0.00)[hoewweken.de:+,duedinghausen.eu:+] X-Rspamd-Queue-Id: 4c9YYG29Xgz3SFF This is a multi-part message in MIME format. --------------ax8u0R53d0afJpSQ07Fg0dqv Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit On 8/24/25 23:58, Jonathan Vasquez wrote: > Hey all, > > I've been experimenting with trying to get my server's dedicated AMD > Radeon RX 6900 XT working on a bhyve Windows 10 Pro client for gaming > purposes. I've been reading a bunch of blog posts, sites, files, and > videos (thanks Corvin) to try and piece things together. I've been > able to get the VM to recognize the card, but still stuck on the Code > 43 issue (with or without using the vBIOS I've extracted from my > dedicated card and also ensuring any options needed to be on in the > UEFI settings are enabled). This machine is running on an AMD Ryzen 9 > 7950X 16-Core Processor, so it's a full AMD setup, no Intel stuff. It > technically should be relatively "easy" to get AMD working from what > I've read (excluding the known AMD Hardware reset issue). I've > documented everything I've done so far, and will be documenting more > and simplifying the instructions as I make progress. Please let me > know if you see any thing weird or anything I could try based on what > I've rewritten. I'll try to give it a go and provide feedback. Thank you! > > https://xyinn.org/blog/freebsd/freebsd_bhyve_gpu_passthrough_amd > > Jonathan Vasquez > PGP: 34DA 858C 1447 509E C77A D49F FB85 90B7 C4CA 5279 > Sent with ProtonMail Secure Email > Hi! i have a AMD RX6400 GPU setup running on 14.2 with win10 guest, host is a intel system. i think you have to passthrough the 3/0/1 device as well! The bios.rom is extracted from this card in place ? Regards, Stephan --------------ax8u0R53d0afJpSQ07Fg0dqv Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 8bit
On 8/24/25 23:58, Jonathan Vasquez wrote:
Hey all,

I've been experimenting with trying to get my server's dedicated AMD Radeon RX 6900 XT working on a bhyve Windows 10 Pro client for gaming purposes. I've been reading a bunch of blog posts, sites, files, and videos (thanks Corvin) to try and piece things together. I've been able to get the VM to recognize the card, but still stuck on the Code 43 issue (with or without using the vBIOS I've extracted from my dedicated card and also ensuring any options needed to be on in the UEFI settings are enabled). This machine is running on an AMD Ryzen 9 7950X 16-Core Processor, so it's a full AMD setup, no Intel stuff. It technically should be relatively "easy" to get AMD working from what I've read (excluding the known AMD Hardware reset issue). I've documented everything I've done so far, and will be documenting more and simplifying the instructions as I make progress. Please let me know if you see any thing weird or anything I could try based on what I've rewritten. I'll try to give it a go and provide feedback. Thank you!


Jonathan Vasquez
PGP: 34DA 858C 1447 509E C77A D49F FB85 90B7 C4CA 5279
Sent with ProtonMail Secure Email

Hi!

i have a AMD RX6400 GPU setup running on 14.2 with win10 guest, host is a intel system.

i think you have to passthrough the 3/0/1 device as well!

The bios.rom is extracted from this card in place ?


Regards,
Stephan


--------------ax8u0R53d0afJpSQ07Fg0dqv-- From nobody Mon Aug 25 14:52:16 2025 X-Original-To: virtualization@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4c9Yfr466mz65t4C for ; Mon, 25 Aug 2025 14:52:20 +0000 (UTC) (envelope-from Stephan.Althaus@Duedinghausen.eu) Received: from mo4-p05-ob.smtp.rzone.de (mo4-p05-ob.smtp.rzone.de [85.215.255.132]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "*.smtp.rzone.de", Issuer "Telekom Security ServerID OV Class 2 CA" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4c9Yfp6ZGcz3T6W for ; Mon, 25 Aug 2025 14:52:18 +0000 (UTC) (envelope-from Stephan.Althaus@Duedinghausen.eu) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=hoewweken.de header.s=strato-dkim-0002 header.b=buGWtBZ+; dkim=pass header.d=hoewweken.de header.s=strato-dkim-0003 header.b=grB8T+OQ; dkim=pass header.d=duedinghausen.eu header.s=default header.b=PFWoLTNd; dmarc=pass (policy=reject) header.from=duedinghausen.eu; spf=none (mx1.freebsd.org: domain of Stephan.Althaus@Duedinghausen.eu has no SPF policy when checking 85.215.255.132) smtp.mailfrom=Stephan.Althaus@Duedinghausen.eu; arc=pass ("strato.com:s=strato-dkim-0002:i=1") ARC-Seal: i=1; a=rsa-sha256; t=1756133537; cv=none; d=strato.com; s=strato-dkim-0002; b=duo3td8fMvkxaMln9fkE1EtTcTGGeFrhLXAoIkKAD/Zn6zgbB0DI2VsWmsB5de4L+W ZewIk1cjKX+SOSUZJAdgO5W42yjWKSd1ZrSDARdau4av2FuNbdGsHkOegR4b9n9dXgyV UcrKoJy/KY9RL4TrvWOcx8ExYVgy5fEoA8/Aw1Z1OzdaURTl+FwbrHPL7d5PtTWbz4op EprAT3H0VFe8FiKHsX2CqDLWab8PeLB7hJkSGNPbYsOtMx3OYbva0pUkEOpNPCAH2ilj 5IJVN19yYNEtcfXJj61q1E2guJrnR1lj6L1NQs6wpuGm932BbAMtbfEOzA8DuOgGOWVD gikg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; t=1756133537; s=strato-dkim-0002; d=strato.com; h=In-Reply-To:From:References:To:Subject:Date:Message-ID:Cc:Date:From: Subject:Sender; bh=mk3KS+KewdUkEBU+wI63Ha+PEs4wascJjVx2K5tagcU=; b=rSLE0X2C5NEFpPvsjeaIB7VCTBayK6u+tDXDesrO9X1UCG2oAThW0hqv4OgdlC2ID0 HeM7NrjYcAlwLLYalwCIvo3aQHzAgIscQIway/CKXP9BL7JaxnB6WN+anK5kOvTzLFPk gXu0BYORY9WT3+7mu8WKYBWE7mWbqfRfD+ow5hzh/m0wBFYsHHtPYUR9ZEGt5l1mAblF o3nJ4oQ3CvVoz6RuRHAzdsJlubo3SMpHlNv6s+w/qXn3kYwDdep7R2lOTmGjDjB2fOye lk01GGXHSvfoZdz5wQeVl5wKNqEsbWFPUHdlQcZ54QUycJSQh7RxvA1SZL6EJ2eQ6ppY dAmg== ARC-Authentication-Results: i=1; strato.com; arc=none; dkim=pass header.d="duedinghausen.eu" header.s="default" header.a="rsa-sha256" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1756133537; s=strato-dkim-0002; d=hoewweken.de; h=In-Reply-To:From:References:To:Subject:Date:Message-ID:Cc:Date:From: Subject:Sender; bh=mk3KS+KewdUkEBU+wI63Ha+PEs4wascJjVx2K5tagcU=; b=buGWtBZ+f8t5cYcKQNbLyw/5vrJCBcMGGjnn4mOe67VZt2fruHuprrXQuzhGC/ltU7 03UDRa5MWPzrggqKxi2JG/Mqxm9sz0yLrX6tqiIlNUfogHfF1WGtk7GKjPeDizaHceTS VU0pogqRew+VIFAPMGTHPidOJHZHZ0L+vCeiqUmxp6VrRzvHEv6WZ2q5a54Cwm/ECxny x7jvZGmuYOJ92LkhkYTejJoHZ1/yc9952F0aW8BbJkwbgXGBQ3ziAiqAlEGDHyvh12S5 aJZR9RH3ja6gMl1+zE6oZMVTGuUeS0VtgYFRIi7XiX3F7VHz1Et+/1hZJYKMh4sfWonh DcgQ== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; t=1756133537; s=strato-dkim-0003; d=hoewweken.de; h=In-Reply-To:From:References:To:Subject:Date:Message-ID:Cc:Date:From: Subject:Sender; bh=mk3KS+KewdUkEBU+wI63Ha+PEs4wascJjVx2K5tagcU=; b=grB8T+OQCiyQ+OkyXY8VvAYNEU5pFl+Svrh4A2ujQGJNR6Knwx9I5bIuckUQqq+/Ni q6M5A4YmOuKkQ1gWhSCA== X-RZG-AUTH: ":O2kGeEG7b/pS1EW2TmikjLDsYYueHLp2aWg0q38nsxvThUrH35SBpgREu1OVr06TMgNQOGA=" X-RZG-CLASS-ID: mo05 Received: from www.duedinghausen.eu by smtp.strato.de (RZmta 52.1.2 DYNA|AUTH) with ESMTPSA id q9bf2e17PEqH9oB (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256 bits)) (Client did not present a certificate) for ; Mon, 25 Aug 2025 16:52:17 +0200 (CEST) Received: from [192.168.2.63] (p5dde9411.dip0.t-ipconnect.de [93.222.148.17]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384) (No client certificate requested) (Authenticated sender: steven) by www.duedinghausen.eu (Postfix) with ESMTPSA id BCC7514D526 for ; Mon, 25 Aug 2025 16:52:16 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=duedinghausen.eu; s=default; t=1756133536; bh=srCoHXbm+qYKvSr/wBEPAzhbwReVZFjsyq1tNabHE1o=; h=Date:Subject:To:References:From:In-Reply-To; b=PFWoLTNd3WA3q2xms0Up0tN+XZQLXwsSJAU883c6TXUvAiRilU4Zv4xcEV+ufI2KO GU3M4Z1OowDLFHnLP7g198I/My3s4fSq0Cxfhv3I7IxtcJ9AtRCQ7wSdiT19o8IxoA 45uEeg5DXUTZtpK+PajnfI1foC0P8ibWJ4Vsz7QLSX0jxeDog5Ich5rsL2VKIuEub4 U3CJYvNsn50xaoBDmzk6x1RLDDM/1O2DBJAue1wMDTIePBKGuy2K339NizLdmw6f8R pZNtY1CVXtujDMwSX+osoaEvEdb+uV38f3Cfe1M4S+J0/UkJBasAolZTVM1ulCWCGg bOIVtCYxl6AquQygoUeNYZOLsmQ/sn+kPWcliiEJsWsV/16Tn0iV3iK7GGxZBJfGqH pGLT+2Qy/HcDPew04UGVzvb+E5/2+jyeZLav7VB97VRzrSawcuFux5oIA3vs6VHGPD sU8oX6ldqDv9Sbi0amgAG261bxLhgFrb1n8nLKKK0j7k+MoUrLRLV39DFDydR/APVa B9GqDWxyCRxwCo+R3RVR3RLB4zzHied8o+Q8hHN0rG4xmAmKwBjT/9MZpHR5J1lv6Q EToi8/8FpPJZei6Yo24xRwM4RxWt/lQ2EZB6MYFqdgA/wyOtjmHGJhFgbBQk+LED96 NLG4N/S7U9FJPKgbGeqSHo7U= Content-Type: multipart/alternative; boundary="------------lJZkbkPltboqYmFD6R3p1y3C" Message-ID: <9573a65a-ef25-416b-a5b6-e49b28c6086c@Duedinghausen.eu> Date: Mon, 25 Aug 2025 16:52:16 +0200 List-Id: Discussion List-Archive: https://lists.freebsd.org/archives/freebsd-virtualization List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: freebsd-virtualization@freebsd.org Sender: owner-freebsd-virtualization@FreeBSD.org MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: GPU Passthrough on FreeBSD 14.3 (AMD Radeon RX 6900 XT and Windows 10 Pro) To: virtualization@freebsd.org References: <6CV-OY6BcErrWRit9jSpi6fWsYBG3E_Z3u6eTLPcz6foPAZV1gQpZYaZTR7JA_1ot5RQVqrWQaLxJFySXjspIhSbBJGxmckcDQyzxhALNus=@xyinn.org> <98007d7f-427e-461a-adf1-7cb55f777662@Duedinghausen.eu> Content-Language: en-US From: Stephan Althaus In-Reply-To: <98007d7f-427e-461a-adf1-7cb55f777662@Duedinghausen.eu> Content-Transfer-Encoding: 8bit X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.80 / 15.00]; NEURAL_HAM_LONG(-1.00)[-1.000]; ARC_ALLOW(-1.00)[strato.com:s=strato-dkim-0002:i=1]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_SHORT(-1.00)[-1.000]; DMARC_POLICY_ALLOW(-0.50)[duedinghausen.eu,reject]; R_DKIM_ALLOW(-0.20)[hoewweken.de:s=strato-dkim-0002,hoewweken.de:s=strato-dkim-0003,duedinghausen.eu:s=default]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; RCPT_COUNT_ONE(0.00)[1]; ASN(0.00)[asn:6724, ipnet:85.215.255.0/24, country:DE]; RCVD_VIA_SMTP_AUTH(0.00)[]; MIME_TRACE(0.00)[0:+,1:+,2:~]; RCVD_TLS_ALL(0.00)[]; MID_RHS_MATCH_FROM(0.00)[]; MLMMJ_DEST(0.00)[virtualization@freebsd.org]; R_SPF_NA(0.00)[no SPF record]; FROM_EQ_ENVFROM(0.00)[]; FROM_HAS_DN(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[85.215.255.132:from]; RCVD_COUNT_TWO(0.00)[2]; TO_MATCH_ENVRCPT_ALL(0.00)[]; TO_DN_NONE(0.00)[]; PREVIOUSLY_DELIVERED(0.00)[virtualization@freebsd.org]; DKIM_TRACE(0.00)[hoewweken.de:+,duedinghausen.eu:+] X-Rspamd-Queue-Id: 4c9Yfp6ZGcz3T6W This is a multi-part message in MIME format. --------------lJZkbkPltboqYmFD6R3p1y3C Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit On 8/25/25 16:47, Stephan Althaus wrote: > On 8/24/25 23:58, Jonathan Vasquez wrote: >> Hey all, >> >> I've been experimenting with trying to get my server's dedicated AMD >> Radeon RX 6900 XT working on a bhyve Windows 10 Pro client for gaming >> purposes. I've been reading a bunch of blog posts, sites, files, and >> videos (thanks Corvin) to try and piece things together. I've been >> able to get the VM to recognize the card, but still stuck on the Code >> 43 issue (with or without using the vBIOS I've extracted from my >> dedicated card and also ensuring any options needed to be on in the >> UEFI settings are enabled). This machine is running on an AMD Ryzen 9 >> 7950X 16-Core Processor, so it's a full AMD setup, no Intel stuff. It >> technically should be relatively "easy" to get AMD working from what >> I've read (excluding the known AMD Hardware reset issue). I've >> documented everything I've done so far, and will be documenting more >> and simplifying the instructions as I make progress. Please let me >> know if you see any thing weird or anything I could try based on what >> I've rewritten. I'll try to give it a go and provide feedback. Thank you! >> >> https://xyinn.org/blog/freebsd/freebsd_bhyve_gpu_passthrough_amd >> >> Jonathan Vasquez >> PGP: 34DA 858C 1447 509E C77A D49F FB85 90B7 C4CA 5279 >> Sent with ProtonMail Secure Email >> > Hi! > > i have a AMD RX6400 GPU setup running on 14.2 with win10 guest, host > is a intel system. > > i think you have to passthrough the 3/0/1 device as well! > > The bios.rom is extracted from this card in place ? > > > Regards, > Stephan > > Ah, and be shure to reboot the whole setup, inclusive host, for every new test-case, at least as long at is not guaranteed that we can live without.. Regars, Stephan --------------lJZkbkPltboqYmFD6R3p1y3C Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 8bit
On 8/25/25 16:47, Stephan Althaus wrote:
On 8/24/25 23:58, Jonathan Vasquez wrote:
Hey all,

I've been experimenting with trying to get my server's dedicated AMD Radeon RX 6900 XT working on a bhyve Windows 10 Pro client for gaming purposes. I've been reading a bunch of blog posts, sites, files, and videos (thanks Corvin) to try and piece things together. I've been able to get the VM to recognize the card, but still stuck on the Code 43 issue (with or without using the vBIOS I've extracted from my dedicated card and also ensuring any options needed to be on in the UEFI settings are enabled). This machine is running on an AMD Ryzen 9 7950X 16-Core Processor, so it's a full AMD setup, no Intel stuff. It technically should be relatively "easy" to get AMD working from what I've read (excluding the known AMD Hardware reset issue). I've documented everything I've done so far, and will be documenting more and simplifying the instructions as I make progress. Please let me know if you see any thing weird or anything I could try based on what I've rewritten. I'll try to give it a go and provide feedback. Thank you!


Jonathan Vasquez
PGP: 34DA 858C 1447 509E C77A D49F FB85 90B7 C4CA 5279
Sent with ProtonMail Secure Email

Hi!

i have a AMD RX6400 GPU setup running on 14.2 with win10 guest, host is a intel system.

i think you have to passthrough the 3/0/1 device as well!

The bios.rom is extracted from this card in place ?


Regards,
Stephan


Ah, and be shure to reboot the whole setup, inclusive host, for every new test-case, 
at least as long at is not guaranteed that we can live without..

Regars,
Stephan


--------------lJZkbkPltboqYmFD6R3p1y3C-- From nobody Mon Aug 25 14:56:48 2025 X-Original-To: virtualization@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4c9Ym80d77z65t90 for ; Mon, 25 Aug 2025 14:56:56 +0000 (UTC) (envelope-from jon@xyinn.org) Received: from mail-24420.protonmail.ch (mail-24420.protonmail.ch [109.224.244.20]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "protonmail.com", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4c9Ym74MdHz3Tdq for ; Mon, 25 Aug 2025 14:56:55 +0000 (UTC) (envelope-from jon@xyinn.org) Authentication-Results: mx1.freebsd.org; none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=xyinn.org; s=protonmail3; t=1756133812; x=1756393012; bh=VydM+431qCPTRtDKQ+L5GGTMMrEzv0FDVcxkidsl0Es=; h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References: Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID: Message-ID:BIMI-Selector; b=x3af5QXX3Hq5+MnrY9WREhsksY93DdwI7gVJVksEZkCfEnqdzWXsqmZpTepHL29Lu cbokJYDw/vwssGyYkLEPVJTdxVMPIJqzhZXtNyLceGlvJC9TxY2i452jUuyjn80v9d qq7IwmstMCeGwr6YstLdIbkhZzFVAGi1geGybetl1cXXH+6dlwWwq2Ev9zY19Oyaqa OaVMtXjwDq/wBkD/0miU+xsA7OXSrPVuiQJkzVD+ci7szn2A1Hy617rB5dGVrPcxWh pmo3vD04810yy/+CMcy7x88ya4rRdnbVEQQA6wO79zy132mqFbHIdizgkpYUKzuVdc +aaFixkB70WXA== Date: Mon, 25 Aug 2025 14:56:48 +0000 To: Stephan Althaus From: Jonathan Vasquez Cc: virtualization@freebsd.org Subject: Re: GPU Passthrough on FreeBSD 14.3 (AMD Radeon RX 6900 XT and Windows 10 Pro) Message-ID: In-Reply-To: <9573a65a-ef25-416b-a5b6-e49b28c6086c@Duedinghausen.eu> References: <6CV-OY6BcErrWRit9jSpi6fWsYBG3E_Z3u6eTLPcz6foPAZV1gQpZYaZTR7JA_1ot5RQVqrWQaLxJFySXjspIhSbBJGxmckcDQyzxhALNus=@xyinn.org> <98007d7f-427e-461a-adf1-7cb55f777662@Duedinghausen.eu> <9573a65a-ef25-416b-a5b6-e49b28c6086c@Duedinghausen.eu> Feedback-ID: 12351801:user:proton X-Pm-Message-ID: c4f26d4edbb507dfc9e1c4a6a3d0dd014ce1b098 List-Id: Discussion List-Archive: https://lists.freebsd.org/archives/freebsd-virtualization List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: freebsd-virtualization@freebsd.org Sender: owner-freebsd-virtualization@FreeBSD.org MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="b1=_8Y3AqrksfrUqUIFveklGKOJVxR7XnJTrcdWmRsQ" X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:62371, ipnet:109.224.244.0/24, country:CH] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Rspamd-Queue-Id: 4c9Ym74MdHz3Tdq --b1=_8Y3AqrksfrUqUIFveklGKOJVxR7XnJTrcdWmRsQ Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: base64 SGV5IFN0ZXBoYW4sCgpZdXAsIEkndmUgdHJpZWQgcGFzc2luZyBib3RoIDMvMC8wIGFuZCAzLzAv MSBhbmQgbm8gZ28sIGFuZCBJIGFsc28gbWFrZSBzdXJlIHRvIHJlYm9vdCB0aGUgaG9zdCBpbiBi ZXR3ZWVuIHJ1bnMgZHVlIHRvIHRoZSBhbWQgaGFyZHdhcmUgaXNzdWUuIEkgZG9uJ3QgYmVsaWV2 ZSAzLzAvMSBpcyBuZWNlc3NhcnkgdGhvdWdoIGJhc2VkIG9uIHRoZSBleGFtcGxlcyBieSBDb3J2 aW4gaW4gaGlzIHRhbGsuIEhlIG9ubHkgcGFzc2VkIGluIDMvMC8wIChJJ20gZ3Vlc3NpbmcgaGlz IGNhcmQgYWxzbyBoYXMgYSAzLzAvMSBmdW5jdGlvbiB0aGF0IGhlIGlzbid0IHVzaW5nIHNpbmNl IHRoYXQncyB0aGUgYXVkaW8gY2hhbm5lbCkuCgpKb25hdGhhbiBWYXNxdWV6ClBHUDogMzREQSA4 NThDIDE0NDcgNTA5RSBDNzdBIEQ0OUYgRkI4NSA5MEI3IEM0Q0EgNTI3OQpTZW50IHdpdGggUHJv dG9uTWFpbCBTZWN1cmUgRW1haWwKCk9uIE1vbmRheSwgQXVndXN0IDI1dGgsIDIwMjUgYXQgMTA6 NTIsIFN0ZXBoYW4gQWx0aGF1cyA8U3RlcGhhbi5BbHRoYXVzQER1ZWRpbmdoYXVzZW4uZXU+IHdy b3RlOgoKPiBPbiA4LzI1LzI1IDE2OjQ3LCBTdGVwaGFuIEFsdGhhdXMgd3JvdGU6Cj4KPj4gT24g OC8yNC8yNSAyMzo1OCwgSm9uYXRoYW4gVmFzcXVleiB3cm90ZToKPj4KPj4+IEhleSBhbGwsCj4+ Pgo+Pj4gSSd2ZSBiZWVuIGV4cGVyaW1lbnRpbmcgd2l0aCB0cnlpbmcgdG8gZ2V0IG15IHNlcnZl cidzIGRlZGljYXRlZCBBTUQgUmFkZW9uIFJYIDY5MDAgWFQgd29ya2luZyBvbiBhIGJoeXZlIFdp bmRvd3MgMTAgUHJvIGNsaWVudCBmb3IgZ2FtaW5nIHB1cnBvc2VzLiBJJ3ZlIGJlZW4gcmVhZGlu ZyBhIGJ1bmNoIG9mIGJsb2cgcG9zdHMsIHNpdGVzLCBmaWxlcywgYW5kIHZpZGVvcyAodGhhbmtz IENvcnZpbikgdG8gdHJ5IGFuZCBwaWVjZSB0aGluZ3MgdG9nZXRoZXIuIEkndmUgYmVlbiBhYmxl IHRvIGdldCB0aGUgVk0gdG8gcmVjb2duaXplIHRoZSBjYXJkLCBidXQgc3RpbGwgc3R1Y2sgb24g dGhlIENvZGUgNDMgaXNzdWUgKHdpdGggb3Igd2l0aG91dCB1c2luZyB0aGUgdkJJT1MgSSd2ZSBl eHRyYWN0ZWQgZnJvbSBteSBkZWRpY2F0ZWQgY2FyZCBhbmQgYWxzbyBlbnN1cmluZyBhbnkgb3B0 aW9ucyBuZWVkZWQgdG8gYmUgb24gaW4gdGhlIFVFRkkgc2V0dGluZ3MgYXJlIGVuYWJsZWQpLiBU aGlzIG1hY2hpbmUgaXMgcnVubmluZyBvbiBhbiBBTUQgUnl6ZW4gOSA3OTUwWCAxNi1Db3JlIFBy b2Nlc3Nvciwgc28gaXQncyBhIGZ1bGwgQU1EIHNldHVwLCBubyBJbnRlbCBzdHVmZi4gSXQgdGVj aG5pY2FsbHkgc2hvdWxkIGJlIHJlbGF0aXZlbHkgImVhc3kiIHRvIGdldCBBTUQgd29ya2luZyBm cm9tIHdoYXQgSSd2ZSByZWFkIChleGNsdWRpbmcgdGhlIGtub3duIEFNRCBIYXJkd2FyZSByZXNl dCBpc3N1ZSkuIEkndmUgZG9jdW1lbnRlZCBldmVyeXRoaW5nIEkndmUgZG9uZSBzbyBmYXIsIGFu ZCB3aWxsIGJlIGRvY3VtZW50aW5nIG1vcmUgYW5kIHNpbXBsaWZ5aW5nIHRoZSBpbnN0cnVjdGlv bnMgYXMgSSBtYWtlIHByb2dyZXNzLiBQbGVhc2UgbGV0IG1lIGtub3cgaWYgeW91IHNlZSBhbnkg dGhpbmcgd2VpcmQgb3IgYW55dGhpbmcgSSBjb3VsZCB0cnkgYmFzZWQgb24gd2hhdCBJJ3ZlIHJl d3JpdHRlbi4gSSdsbCB0cnkgdG8gZ2l2ZSBpdCBhIGdvIGFuZCBwcm92aWRlIGZlZWRiYWNrLiBU aGFuayB5b3UhCj4+Pgo+Pj4gaHR0cHM6Ly94eWlubi5vcmcvYmxvZy9mcmVlYnNkL2ZyZWVic2Rf Ymh5dmVfZ3B1X3Bhc3N0aHJvdWdoX2FtZAo+Pj4KPj4+IEpvbmF0aGFuIFZhc3F1ZXoKPj4+IFBH UDogMzREQSA4NThDIDE0NDcgNTA5RSBDNzdBIEQ0OUYgRkI4NSA5MEI3IEM0Q0EgNTI3OQo+Pj4g U2VudCB3aXRoIFByb3Rvbk1haWwgU2VjdXJlIEVtYWlsCj4+Cj4+IEhpIQo+Pgo+PiBpIGhhdmUg YSBBTUQgUlg2NDAwIEdQVSBzZXR1cCBydW5uaW5nIG9uIDE0LjIgd2l0aCB3aW4xMCBndWVzdCwg aG9zdCBpcyBhIGludGVsIHN5c3RlbS4KPj4KPj4gaSB0aGluayB5b3UgaGF2ZSB0byBwYXNzdGhy b3VnaCB0aGUgMy8wLzEgZGV2aWNlIGFzIHdlbGwhCj4+Cj4+IFRoZSBiaW9zLnJvbSBpcyBleHRy YWN0ZWQgZnJvbSB0aGlzIGNhcmQgaW4gcGxhY2UgPwo+Pgo+PiBSZWdhcmRzLAo+PiBTdGVwaGFu Cj4KPiBBaCwgYW5kIGJlIHNodXJlIHRvIHJlYm9vdCB0aGUgd2hvbGUgc2V0dXAsIGluY2x1c2l2 ZSBob3N0LCBmb3IgZXZlcnkgbmV3IHRlc3QtY2FzZSwKPiBhdCBsZWFzdCBhcyBsb25nIGF0IGlz IG5vdCBndWFyYW50ZWVkIHRoYXQgd2UgY2FuIGxpdmUgd2l0aG91dC4uCj4KPiBSZWdhcnMsCj4g U3RlcGhhbg== --b1=_8Y3AqrksfrUqUIFveklGKOJVxR7XnJTrcdWmRsQ Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: base64 PGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE0 cHg7Ij5IZXkgU3RlcGhhbiw8L2Rpdj48ZGl2IHN0eWxlPSJmb250LWZhbWlseTogQXJpYWwsIHNh bnMtc2VyaWY7IGZvbnQtc2l6ZTogMTRweDsiPjxicj48L2Rpdj48ZGl2IHN0eWxlPSJmb250LWZh bWlseTogQXJpYWwsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTRweDsiPll1cCwgSSd2ZSB0cmll ZCBwYXNzaW5nIGJvdGggMy8wLzAgYW5kIDMvMC8xIGFuZCBubyBnbywgYW5kIEkgYWxzbyBtYWtl IHN1cmUgdG8gcmVib290IHRoZSBob3N0IGluIGJldHdlZW4gcnVucyBkdWUgdG8gdGhlIGFtZCBo YXJkd2FyZSBpc3N1ZS4gSSBkb24ndCBiZWxpZXZlIDMvMC8xIGlzIG5lY2Vzc2FyeSB0aG91Z2gg YmFzZWQgb24gdGhlIGV4YW1wbGVzIGJ5IENvcnZpbiBpbiBoaXMgdGFsay4gSGUgb25seSBwYXNz ZWQgaW4gMy8wLzAgKEknbSBndWVzc2luZyBoaXMgY2FyZCBhbHNvIGhhcyBhIDMvMC8xIGZ1bmN0 aW9uIHRoYXQgaGUgaXNuJ3QgdXNpbmcgc2luY2UgdGhhdCdzIHRoZSBhdWRpbyBjaGFubmVsKS48 L2Rpdj48ZGl2IHN0eWxlPSJmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7IGZvbnQtc2l6 ZTogMTRweDsiPjxicj48L2Rpdj4NCjxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fu cy1zZXJpZjsgZm9udC1zaXplOiAxNHB4OyIgY2xhc3M9InByb3Rvbm1haWxfc2lnbmF0dXJlX2Js b2NrIj4NCiAgICA8ZGl2IGNsYXNzPSJwcm90b25tYWlsX3NpZ25hdHVyZV9ibG9jay11c2VyIj4N CiAgICAgICAgPGRpdj5Kb25hdGhhbiBWYXNxdWV6PGJyPjwvZGl2PjxkaXY+UEdQOiAzNERBIDg1 OEMgMTQ0NyA1MDlFIEM3N0EgIEQ0OUYgRkI4NSA5MEI3IEM0Q0EgNTI3OTxicj48L2Rpdj48ZGl2 PlNlbnQgd2l0aCBQcm90b25NYWlsIFNlY3VyZSBFbWFpbDxicj48L2Rpdj48ZGl2Pjxicj48L2Rp dj4NCiAgICA8L2Rpdj4NCiAgICANCiAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb3Rvbm1haWxf c2lnbmF0dXJlX2Jsb2NrLXByb3RvbiBwcm90b25tYWlsX3NpZ25hdHVyZV9ibG9jay1lbXB0eSI+ DQogICAgICAgIA0KICAgICAgICAgICAgPC9kaXY+DQo8L2Rpdj4NCjxkaXYgc3R5bGU9ImZvbnQt ZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxNHB4OyI+PGJyPjwvZGl2Pjxk aXYgY2xhc3M9InByb3Rvbm1haWxfcXVvdGUiPg0KICAgICAgICBPbiBNb25kYXksIEF1Z3VzdCAy NXRoLCAyMDI1IGF0IDEwOjUyLCBTdGVwaGFuIEFsdGhhdXMgJmx0O1N0ZXBoYW4uQWx0aGF1c0BE dWVkaW5naGF1c2VuLmV1Jmd0OyB3cm90ZTo8YnI+DQogICAgICAgIDxibG9ja3F1b3RlIGNsYXNz PSJwcm90b25tYWlsX3F1b3RlIiB0eXBlPSJjaXRlIj4NCiAgICAgICAgICAgIA0KICAgIDxkaXYg Y2xhc3M9Im1vei1jaXRlLXByZWZpeCI+T24gOC8yNS8yNSAxNjo0NywgU3RlcGhhbiBBbHRoYXVz DQogICAgICB3cm90ZTo8YnI+DQogICAgPC9kaXY+DQogICAgPGJsb2NrcXVvdGUgdHlwZT0iY2l0 ZSI+DQogICAgICANCiAgICAgIDxkaXYgY2xhc3M9Im1vei1jaXRlLXByZWZpeCI+T24gOC8yNC8y NSAyMzo1OCwgSm9uYXRoYW4gVmFzcXVleg0KICAgICAgICB3cm90ZTo8YnI+DQogICAgICA8L2Rp dj4NCiAgICAgIDxibG9ja3F1b3RlIHR5cGU9ImNpdGUiPg0KICAgICAgICANCiAgICAgICAgPGRp diBzdHlsZT0iZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE0cHg7 Ij48c3Bhbj5IZXkNCiAgICAgICAgICAgIGFsbCw8L3NwYW4+PC9kaXY+DQogICAgICAgIDxkaXYg c3R5bGU9ImZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxNHB4OyI+ PHNwYW4+PGJyPg0KICAgICAgICAgIDwvc3Bhbj48L2Rpdj4NCiAgICAgICAgPGRpdiBzdHlsZT0i Zm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE0cHg7Ij48c3Bhbj5J J3ZlDQogICAgICAgICAgICBiZWVuIGV4cGVyaW1lbnRpbmcgd2l0aCB0cnlpbmcgdG8gZ2V0IG15 IHNlcnZlcidzIGRlZGljYXRlZA0KICAgICAgICAgICAgQU1EIFJhZGVvbiBSWCA2OTAwIFhUIHdv cmtpbmcgb24gYSBiaHl2ZSBXaW5kb3dzIDEwIFBybw0KICAgICAgICAgICAgY2xpZW50IGZvciBn YW1pbmcgcHVycG9zZXMuIEkndmUgYmVlbiByZWFkaW5nIGEgYnVuY2ggb2YNCiAgICAgICAgICAg IGJsb2cgcG9zdHMsIHNpdGVzLCBmaWxlcywgYW5kIHZpZGVvcyAodGhhbmtzIENvcnZpbikgdG8g dHJ5DQogICAgICAgICAgICBhbmQgcGllY2UgdGhpbmdzIHRvZ2V0aGVyLiBJJ3ZlIGJlZW4gYWJs ZSB0byBnZXQgdGhlIFZNIHRvDQogICAgICAgICAgICByZWNvZ25pemUgdGhlIGNhcmQsIGJ1dCBz dGlsbCBzdHVjayBvbiB0aGUgQ29kZSA0MyBpc3N1ZQ0KICAgICAgICAgICAgKHdpdGggb3Igd2l0 aG91dCB1c2luZyB0aGUgdkJJT1MgSSd2ZSBleHRyYWN0ZWQgZnJvbSBteQ0KICAgICAgICAgICAg ZGVkaWNhdGVkIGNhcmQgYW5kIGFsc28gZW5zdXJpbmcgYW55IG9wdGlvbnMgbmVlZGVkIHRvIGJl IG9uDQogICAgICAgICAgICBpbiB0aGUgVUVGSSBzZXR0aW5ncyBhcmUgZW5hYmxlZCkuIFRoaXMg bWFjaGluZSBpcyBydW5uaW5nDQogICAgICAgICAgICBvbiBhbiBBTUQgUnl6ZW4gOSA3OTUwWCAx Ni1Db3JlIFByb2Nlc3Nvciwgc28gaXQncyBhIGZ1bGwNCiAgICAgICAgICAgIEFNRCBzZXR1cCwg bm8gSW50ZWwgc3R1ZmYuIEl0IHRlY2huaWNhbGx5IHNob3VsZCBiZQ0KICAgICAgICAgICAgcmVs YXRpdmVseSAiZWFzeSIgdG8gZ2V0IEFNRCB3b3JraW5nIGZyb20gd2hhdCBJJ3ZlIHJlYWQNCiAg ICAgICAgICAgIChleGNsdWRpbmcgdGhlIGtub3duIEFNRCBIYXJkd2FyZSByZXNldCBpc3N1ZSku IEkndmUNCiAgICAgICAgICAgIGRvY3VtZW50ZWQgZXZlcnl0aGluZyBJJ3ZlIGRvbmUgc28gZmFy LCBhbmQgd2lsbCBiZQ0KICAgICAgICAgICAgZG9jdW1lbnRpbmcgbW9yZSBhbmQgc2ltcGxpZnlp bmcgdGhlIGluc3RydWN0aW9ucyBhcyBJIG1ha2UNCiAgICAgICAgICAgIHByb2dyZXNzLiBQbGVh c2UgbGV0IG1lIGtub3cgaWYgeW91IHNlZSBhbnkgdGhpbmcgd2VpcmQgb3INCiAgICAgICAgICAg IGFueXRoaW5nIEkgY291bGQgdHJ5IGJhc2VkIG9uIHdoYXQgSSd2ZSByZXdyaXR0ZW4uIEknbGwg dHJ5DQogICAgICAgICAgICB0byBnaXZlIGl0IGEgZ28gYW5kIHByb3ZpZGUgZmVlZGJhY2suIFRo YW5rIHlvdSE8L3NwYW4+PC9kaXY+DQogICAgICAgIDxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OiBB cmlhbCwgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxNHB4OyI+PHNwYW4+PGJyPg0KICAgICAgICAg IDwvc3Bhbj48L2Rpdj4NCiAgICAgICAgPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6IEFyaWFsLCBz YW5zLXNlcmlmOyBmb250LXNpemU6IDE0cHg7Ij48c3Bhbj48YSB0YXJnZXQ9Il9ibGFuayIgcmVs PSJub3JlZmVycmVyIG5vZm9sbG93IG5vb3BlbmVyIiBocmVmPSJodHRwczovL3h5aW5uLm9yZy9i bG9nL2ZyZWVic2QvZnJlZWJzZF9iaHl2ZV9ncHVfcGFzc3Rocm91Z2hfYW1kIiBjbGFzcz0ibW96 LXR4dC1saW5rLWZyZWV0ZXh0Ij5odHRwczovL3h5aW5uLm9yZy9ibG9nL2ZyZWVic2QvZnJlZWJz ZF9iaHl2ZV9ncHVfcGFzc3Rocm91Z2hfYW1kPC9hPjwvc3Bhbj48YnI+DQogICAgICAgIDwvZGl2 Pg0KICAgICAgICA8ZGl2IHN0eWxlPSJmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7IGZv bnQtc2l6ZTogMTRweDsiPjxicj4NCiAgICAgICAgPC9kaXY+DQogICAgICAgIDxkaXYgc3R5bGU9 ImZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxNHB4OyIgY2xhc3M9 InByb3Rvbm1haWxfc2lnbmF0dXJlX2Jsb2NrIj4NCiAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm90 b25tYWlsX3NpZ25hdHVyZV9ibG9jay11c2VyIj4NCiAgICAgICAgICAgIDxkaXY+Sm9uYXRoYW4g VmFzcXVlejxicj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPGRpdj5QR1A6IDM0 REEgODU4QyAxNDQ3IDUwOUUgQzc3QSBENDlGIEZCODUgOTBCNyBDNENBIDUyNzk8YnI+DQogICAg ICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDxkaXY+U2VudCB3aXRoIFByb3Rvbk1haWwgU2Vj dXJlIEVtYWlsPGJyPg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8ZGl2Pjxicj4N CiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgIDxkaXYgY2xh c3M9InByb3Rvbm1haWxfc2lnbmF0dXJlX2Jsb2NrLXByb3RvbiBwcm90b25tYWlsX3NpZ25hdHVy ZV9ibG9jay1lbXB0eSI+DQogICAgICAgICAgPC9kaXY+DQogICAgICAgIDwvZGl2Pg0KICAgICAg PC9ibG9ja3F1b3RlPg0KICAgICAgPHA+SGkhPC9wPg0KICAgICAgPHA+aSBoYXZlIGEgQU1EIFJY NjQwMCBHUFUgc2V0dXAgcnVubmluZyBvbiAxNC4yIHdpdGggd2luMTAgZ3Vlc3QsDQogICAgICAg IGhvc3QgaXMgYSBpbnRlbCBzeXN0ZW0uPC9wPg0KICAgICAgPHA+aSB0aGluayB5b3UgaGF2ZSB0 byBwYXNzdGhyb3VnaCB0aGUgMy8wLzEgZGV2aWNlIGFzIHdlbGwhPC9wPg0KICAgICAgPHA+VGhl IGJpb3Mucm9tIGlzIGV4dHJhY3RlZCBmcm9tIHRoaXMgY2FyZCBpbiBwbGFjZSA/PC9wPg0KICAg ICAgPHA+PGJyPg0KICAgICAgPC9wPg0KICAgICAgPHA+UmVnYXJkcyw8YnI+DQogICAgICAgIFN0 ZXBoYW48L3A+DQogICAgICA8cD48YnI+DQogICAgICA8L3A+DQogICAgPC9ibG9ja3F1b3RlPg0K ICAgIDxwPkFoLCBhbmQgYmUgc2h1cmUgdG8gcmVib290IHRoZSB3aG9sZSBzZXR1cCwgaW5jbHVz aXZlIGhvc3QsIGZvcg0KICAgICAgZXZlcnkgbmV3IHRlc3QtY2FzZSwgPGJyPg0KICAgICAgYXQg bGVhc3QgYXMgbG9uZyBhdCBpcyBub3QgZ3VhcmFudGVlZCB0aGF0IHdlIGNhbiBsaXZlIHdpdGhv dXQuLjwvcD4NCiAgICA8cD5SZWdhcnMsPGJyPg0KICAgICAgU3RlcGhhbjwvcD4NCiAgICA8cD48 YnI+DQogICAgPC9wPg0KICANCg0KDQogICAgICAgIDwvYmxvY2txdW90ZT48YnI+DQogICAgPC9k aXY+ --b1=_8Y3AqrksfrUqUIFveklGKOJVxR7XnJTrcdWmRsQ-- From nobody Mon Aug 25 15:05:15 2025 X-Original-To: virtualization@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4c9Yxw1LVgz65v75 for ; Mon, 25 Aug 2025 15:05:24 +0000 (UTC) (envelope-from jon@xyinn.org) Received: from mail-24421.protonmail.ch (mail-24421.protonmail.ch [109.224.244.21]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "protonmail.com", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4c9Yxs6qd5z3VyP for ; Mon, 25 Aug 2025 15:05:21 +0000 (UTC) (envelope-from jon@xyinn.org) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=xyinn.org header.s=protonmail3 header.b=gE3pJqlk; dmarc=pass (policy=none) header.from=xyinn.org; spf=pass (mx1.freebsd.org: domain of jon@xyinn.org designates 109.224.244.21 as permitted sender) smtp.mailfrom=jon@xyinn.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=xyinn.org; s=protonmail3; t=1756134319; x=1756393519; bh=P26MjNZk+freRHUWRjMi4gCaltTTzx5MneFvfNMaLLE=; h=Date:To:From:Subject:Message-ID:In-Reply-To:References: Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID: Message-ID:BIMI-Selector; b=gE3pJqlkjRlgbxQGBcXNHEftYCmf2BAvA29tgiS5l7tZbyg74hamx5fk6zwuD2bEw 3QLoEYaVKflcZCX43aNTkrAo5uVIf286MuMyr20x5C00NYD0wCF0rPQiFUc1PLPC+/ xdIJUKrqrtVRh99r9VyOdpw4v6D+zt+MfvWSn0xxEvLsDuBuP5VlcZvMEQofzMrukT KZOezolajegDRV3xlAOkRKP1rb6xli9BHkHS07o2zkTbKe2NdxwXzj9wvPoCXbdu2y 1GTxhMt7bglyFM/016htlhMwXCRiVyd9zdvzZpkhwKVRozlNdEsW/x1jI2QJDcodhG UdKOcDLxG1W9g== Date: Mon, 25 Aug 2025 15:05:15 +0000 To: Stephan Althaus , "virtualization@freebsd.org" From: Jonathan Vasquez Subject: Re: GPU Passthrough on FreeBSD 14.3 (AMD Radeon RX 6900 XT and Windows 10 Pro) Message-ID: In-Reply-To: <8e7f6904-8188-4941-827b-c874d5da586d@Duedinghausen.eu> References: <6CV-OY6BcErrWRit9jSpi6fWsYBG3E_Z3u6eTLPcz6foPAZV1gQpZYaZTR7JA_1ot5RQVqrWQaLxJFySXjspIhSbBJGxmckcDQyzxhALNus=@xyinn.org> <98007d7f-427e-461a-adf1-7cb55f777662@Duedinghausen.eu> <9573a65a-ef25-416b-a5b6-e49b28c6086c@Duedinghausen.eu> <8e7f6904-8188-4941-827b-c874d5da586d@Duedinghausen.eu> Feedback-ID: 12351801:user:proton X-Pm-Message-ID: 60e449f0aad6ca3381bf118cd5f26d58ee726084 List-Id: Discussion List-Archive: https://lists.freebsd.org/archives/freebsd-virtualization List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: freebsd-virtualization@freebsd.org Sender: owner-freebsd-virtualization@FreeBSD.org MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="b1=_yGQUraqeajhy9GPbJI31oJYz5wBy9Tkc5NBeP0DSg" X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.30 / 15.00]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_SHORT(-1.00)[-0.995]; DMARC_POLICY_ALLOW(-0.50)[xyinn.org,none]; RWL_MAILSPIKE_EXCELLENT(-0.40)[109.224.244.21:from]; R_SPF_ALLOW(-0.20)[+ip4:109.224.244.0/24]; R_DKIM_ALLOW(-0.20)[xyinn.org:s=protonmail3]; MIME_BASE64_TEXT(0.10)[]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; TO_DN_SOME(0.00)[]; MISSING_XM_UA(0.00)[]; ARC_NA(0.00)[]; ASN(0.00)[asn:62371, ipnet:109.224.244.0/24, country:CH]; MIME_TRACE(0.00)[0:+,1:+,2:~]; FREEFALL_USER(0.00)[jon]; TO_DN_EQ_ADDR_SOME(0.00)[]; RCVD_COUNT_ZERO(0.00)[0]; MID_RHS_MATCH_FROM(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; FROM_HAS_DN(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[109.224.244.21:from]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCPT_COUNT_TWO(0.00)[2]; MLMMJ_DEST(0.00)[virtualization@freebsd.org]; DKIM_TRACE(0.00)[xyinn.org:+] X-Rspamd-Queue-Id: 4c9Yxs6qd5z3VyP --b1=_yGQUraqeajhy9GPbJI31oJYz5wBy9Tkc5NBeP0DSg Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: base64 VW5mb3J0dW5hdGVseSBJIGRvbid0IGhhdmUgYW4gaW50ZWwgbWFjaGluZSB3aXRoIGFuIGF2YWls YWJsZSBQQ0llIHNsb3QuIEhvd2V2ZXIgSSdtIHRyeWluZyBhbm90aGVyIHRoaW5nIHdoaWNoIGlz IHRvIHBhc3N0aHJvdWdoIHRoZSBjYXJkIHRvIGEgTGludXggZ3Vlc3QuIEkgbmVlZCB0byBydW4g bW9yZSBleHBlcmltZW50cyBidXQgYSBwcmVsaW1pbmFyeSBib290IG9mIGEgTGludXggTWludCBJ U08gZGlkIHNob3cgdGhlIEFNRCBSYWRlb24gUlggNjkwMCBYVCBjYXJkIGluIGxzcGNp4oCLIGFu ZCBzaG93ZWQgdGhhdCBpdCB3YXMgdXNpbmcgdGhlIGFtZGdwdeKAiyBkcml2ZXIuIEkgdGhlbiBk aWQgYSBiYXNpYyBnbHhnZWFyc+KAiyBhbmQgaXQgb3BlbmVkIHVwIGluIG15IFZOQyB3aW5kb3cg YW5kIHNob3dlZCB0aGUgRlBTIGNvdW50ZXIgYXQgb3ZlciAyMDAwIGZwcy4gVGhlIG9ubHkgaXNz dWUgSSBub3RpY2VkIHdhcyB3aGVuIHNodXR0aW5nIGRvd24gdGhlIGxpdmUgQ0QgZW52aXJvbm1l bnQgdGhlcmUgd2VyZSBhbWRncHXigIsgZmFpbHVyZSBtZXNzYWdlcyB3aGVyZSBpdCB3YXMgZmFp bGluZyB0byB3cml0ZSBzb21ldGhpbmcgdG8gaXQuIEknbSBjdXJyZW50bHkgcmVkb2luZyBteSAi YmFzaWMgYmh5dmUgc2NyaXB0IiBhbmQgbW92aW5nIGl0IG92ZXIgdG8gInZtLWJoeXZlIiBzaW5j ZSBpdCBzZWVtcyBhIGxvdCBvZiBwZW9wbGUgYXJlIHVzaW5nIHRoYXQgaW5zdGVhZCBvZiB0aGUg bW9yZSBtYW51YWwgYXBwcm9hY2guIFRoaXMgc2hvdWxkIGhvcGVmdWxseSBoZWxwIHNpbXBsaWZ5 IHRoaW5ncyBmb3IgZGVidWdnaW5nLiBJZiB0aGUgY2FyZCB3b3JrcyBvbiBMaW51eCB2aWEgcGFz c3Rocm91Z2ggdGhpcyB3b3VsZCBhbHNvIGJlIHVzZWZ1bCBpbmZvIGFuZCBjYW4gYWxsb3cgbWUg dG8gc2VlIHRoZSBwZXJmb3JtYW5jZSBvZiBDeXBlcnB1bmsgMjA3NywgYW5kIHNvbWUgb3RoZXIg Z2FtZXMgKGV2ZW4gaWYgSSdtIG5vdCBnZXR0aW5nIDEwMCUgb2YgdGhlIGNhcmQncyBwZXJmb3Jt YW5jZSkuCgpKb25hdGhhbiBWYXNxdWV6ClBHUDogMzREQSA4NThDIDE0NDcgNTA5RSBDNzdBIEQ0 OUYgRkI4NSA5MEI3IEM0Q0EgNTI3OQpTZW50IHdpdGggUHJvdG9uTWFpbCBTZWN1cmUgRW1haWwK Ck9uIE1vbmRheSwgQXVndXN0IDI1dGgsIDIwMjUgYXQgMTE6MDAsIFN0ZXBoYW4gQWx0aGF1cyA8 U3RlcGhhbi5BbHRoYXVzQER1ZWRpbmdoYXVzZW4uZXU+IHdyb3RlOgoKPiBPbiA4LzI1LzI1IDE2 OjU2LCBKb25hdGhhbiBWYXNxdWV6IHdyb3RlOgo+Cj4+IEhleSBTdGVwaGFuLAo+Pgo+PiBZdXAs IEkndmUgdHJpZWQgcGFzc2luZyBib3RoIDMvMC8wIGFuZCAzLzAvMSBhbmQgbm8gZ28sIGFuZCBJ IGFsc28gbWFrZSBzdXJlIHRvIHJlYm9vdCB0aGUgaG9zdCBpbiBiZXR3ZWVuIHJ1bnMgZHVlIHRv IHRoZSBhbWQgaGFyZHdhcmUgaXNzdWUuIEkgZG9uJ3QgYmVsaWV2ZSAzLzAvMSBpcyBuZWNlc3Nh cnkgdGhvdWdoIGJhc2VkIG9uIHRoZSBleGFtcGxlcyBieSBDb3J2aW4gaW4gaGlzIHRhbGsuIEhl IG9ubHkgcGFzc2VkIGluIDMvMC8wIChJJ20gZ3Vlc3NpbmcgaGlzIGNhcmQgYWxzbyBoYXMgYSAz LzAvMSBmdW5jdGlvbiB0aGF0IGhlIGlzbid0IHVzaW5nIHNpbmNlIHRoYXQncyB0aGUgYXVkaW8g Y2hhbm5lbCkuCj4+Cj4+IEpvbmF0aGFuIFZhc3F1ZXoKPj4gUEdQOiAzNERBIDg1OEMgMTQ0NyA1 MDlFIEM3N0EgRDQ5RiBGQjg1IDkwQjcgQzRDQSA1Mjc5Cj4+IFNlbnQgd2l0aCBQcm90b25NYWls IFNlY3VyZSBFbWFpbAo+Pgo+PiBPbiBNb25kYXksIEF1Z3VzdCAyNXRoLCAyMDI1IGF0IDEwOjUy LCBTdGVwaGFuIEFsdGhhdXMgWzxTdGVwaGFuLkFsdGhhdXNARHVlZGluZ2hhdXNlbi5ldT5dKG1h aWx0bzpTdGVwaGFuLkFsdGhhdXNARHVlZGluZ2hhdXNlbi5ldSkgd3JvdGU6Cj4+Cj4+PiBPbiA4 LzI1LzI1IDE2OjQ3LCBTdGVwaGFuIEFsdGhhdXMgd3JvdGU6Cj4+Pgo+Pj4+IE9uIDgvMjQvMjUg MjM6NTgsIEpvbmF0aGFuIFZhc3F1ZXogd3JvdGU6Cj4+Pj4KPj4+Pj4gSGV5IGFsbCwKPj4+Pj4K Pj4+Pj4gSSd2ZSBiZWVuIGV4cGVyaW1lbnRpbmcgd2l0aCB0cnlpbmcgdG8gZ2V0IG15IHNlcnZl cidzIGRlZGljYXRlZCBBTUQgUmFkZW9uIFJYIDY5MDAgWFQgd29ya2luZyBvbiBhIGJoeXZlIFdp bmRvd3MgMTAgUHJvIGNsaWVudCBmb3IgZ2FtaW5nIHB1cnBvc2VzLiBJJ3ZlIGJlZW4gcmVhZGlu ZyBhIGJ1bmNoIG9mIGJsb2cgcG9zdHMsIHNpdGVzLCBmaWxlcywgYW5kIHZpZGVvcyAodGhhbmtz IENvcnZpbikgdG8gdHJ5IGFuZCBwaWVjZSB0aGluZ3MgdG9nZXRoZXIuIEkndmUgYmVlbiBhYmxl IHRvIGdldCB0aGUgVk0gdG8gcmVjb2duaXplIHRoZSBjYXJkLCBidXQgc3RpbGwgc3R1Y2sgb24g dGhlIENvZGUgNDMgaXNzdWUgKHdpdGggb3Igd2l0aG91dCB1c2luZyB0aGUgdkJJT1MgSSd2ZSBl eHRyYWN0ZWQgZnJvbSBteSBkZWRpY2F0ZWQgY2FyZCBhbmQgYWxzbyBlbnN1cmluZyBhbnkgb3B0 aW9ucyBuZWVkZWQgdG8gYmUgb24gaW4gdGhlIFVFRkkgc2V0dGluZ3MgYXJlIGVuYWJsZWQpLiBU aGlzIG1hY2hpbmUgaXMgcnVubmluZyBvbiBhbiBBTUQgUnl6ZW4gOSA3OTUwWCAxNi1Db3JlIFBy b2Nlc3Nvciwgc28gaXQncyBhIGZ1bGwgQU1EIHNldHVwLCBubyBJbnRlbCBzdHVmZi4gSXQgdGVj aG5pY2FsbHkgc2hvdWxkIGJlIHJlbGF0aXZlbHkgImVhc3kiIHRvIGdldCBBTUQgd29ya2luZyBm cm9tIHdoYXQgSSd2ZSByZWFkIChleGNsdWRpbmcgdGhlIGtub3duIEFNRCBIYXJkd2FyZSByZXNl dCBpc3N1ZSkuIEkndmUgZG9jdW1lbnRlZCBldmVyeXRoaW5nIEkndmUgZG9uZSBzbyBmYXIsIGFu ZCB3aWxsIGJlIGRvY3VtZW50aW5nIG1vcmUgYW5kIHNpbXBsaWZ5aW5nIHRoZSBpbnN0cnVjdGlv bnMgYXMgSSBtYWtlIHByb2dyZXNzLiBQbGVhc2UgbGV0IG1lIGtub3cgaWYgeW91IHNlZSBhbnkg dGhpbmcgd2VpcmQgb3IgYW55dGhpbmcgSSBjb3VsZCB0cnkgYmFzZWQgb24gd2hhdCBJJ3ZlIHJl d3JpdHRlbi4gSSdsbCB0cnkgdG8gZ2l2ZSBpdCBhIGdvIGFuZCBwcm92aWRlIGZlZWRiYWNrLiBU aGFuayB5b3UhCj4+Pj4+Cj4+Pj4+IGh0dHBzOi8veHlpbm4ub3JnL2Jsb2cvZnJlZWJzZC9mcmVl YnNkX2JoeXZlX2dwdV9wYXNzdGhyb3VnaF9hbWQKPj4+Pj4KPj4+Pj4gSm9uYXRoYW4gVmFzcXVl ego+Pj4+PiBQR1A6IDM0REEgODU4QyAxNDQ3IDUwOUUgQzc3QSBENDlGIEZCODUgOTBCNyBDNENB IDUyNzkKPj4+Pj4gU2VudCB3aXRoIFByb3Rvbk1haWwgU2VjdXJlIEVtYWlsCj4+Pj4KPj4+PiBI aSEKPj4+Pgo+Pj4+IGkgaGF2ZSBhIEFNRCBSWDY0MDAgR1BVIHNldHVwIHJ1bm5pbmcgb24gMTQu MiB3aXRoIHdpbjEwIGd1ZXN0LCBob3N0IGlzIGEgaW50ZWwgc3lzdGVtLgo+Pj4+Cj4+Pj4gaSB0 aGluayB5b3UgaGF2ZSB0byBwYXNzdGhyb3VnaCB0aGUgMy8wLzEgZGV2aWNlIGFzIHdlbGwhCj4+ Pj4KPj4+PiBUaGUgYmlvcy5yb20gaXMgZXh0cmFjdGVkIGZyb20gdGhpcyBjYXJkIGluIHBsYWNl ID8KPj4+Pgo+Pj4+IFJlZ2FyZHMsCj4+Pj4gU3RlcGhhbgo+Pj4KPj4+IEFoLCBhbmQgYmUgc2h1 cmUgdG8gcmVib290IHRoZSB3aG9sZSBzZXR1cCwgaW5jbHVzaXZlIGhvc3QsIGZvciBldmVyeSBu ZXcgdGVzdC1jYXNlLAo+Pj4gYXQgbGVhc3QgYXMgbG9uZyBhdCBpcyBub3QgZ3VhcmFudGVlZCB0 aGF0IHdlIGNhbiBsaXZlIHdpdGhvdXQuLgo+Pj4KPj4+IFJlZ2FycywKPj4+IFN0ZXBoYW4KPgo+ IEhpIQo+Cj4gTXkgb25seSBuZXh0IGFzc3VtcHRpb24gd291bGQgYmUgdGhhdCB0aGlzIG9ubHkg ZG9lcyBub3Qgd29yayBvbiBBTUQgaG9zdC4KPgo+IFlvdSBkb24ndCBoYXZlIGFuIGludGVsIHN5 c3RlbSB0byB0ZXN0LCB5b3Ugd291bGQgaGF2ZWRvbmUgaXQsIGlmIHNvLi4gKD8pCj4KPiBTdGVw aGFu --b1=_yGQUraqeajhy9GPbJI31oJYz5wBy9Tkc5NBeP0DSg Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: base64 PGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE0 cHg7Ij5VbmZvcnR1bmF0ZWx5IEkgZG9uJ3QgaGF2ZSBhbiBpbnRlbCBtYWNoaW5lIHdpdGggYW4g YXZhaWxhYmxlIFBDSWUgc2xvdC4gSG93ZXZlciBJJ20gdHJ5aW5nIGFub3RoZXIgdGhpbmcgd2hp Y2ggaXMgdG8gcGFzc3Rocm91Z2ggdGhlIGNhcmQgdG8gYSBMaW51eCBndWVzdC4gSSBuZWVkIHRv IHJ1biBtb3JlIGV4cGVyaW1lbnRzIGJ1dCBhIHByZWxpbWluYXJ5IGJvb3Qgb2YgYSBMaW51eCBN aW50IElTTyBkaWQgc2hvdyB0aGUgQU1EIFJhZGVvbiBSWCA2OTAwIFhUIGNhcmQgaW4gPGNvZGU+ bHNwY2k8L2NvZGU+4oCLIGFuZCBzaG93ZWQgdGhhdCBpdCB3YXMgdXNpbmcgdGhlIDxjb2RlPmFt ZGdwdTwvY29kZT7igIsgZHJpdmVyLiBJIHRoZW4gZGlkIGEgYmFzaWMgPGNvZGU+Z2x4Z2VhcnM8 L2NvZGU+4oCLIGFuZCBpdCBvcGVuZWQgdXAgaW4gbXkgVk5DIHdpbmRvdyBhbmQgc2hvd2VkIHRo ZSBGUFMgY291bnRlciBhdCBvdmVyIDIwMDAgZnBzLiBUaGUgb25seSBpc3N1ZSBJIG5vdGljZWQg d2FzIHdoZW4gc2h1dHRpbmcgZG93biB0aGUgbGl2ZSBDRCBlbnZpcm9ubWVudCB0aGVyZSB3ZXJl IDxjb2RlPmFtZGdwdTwvY29kZT7igIsgZmFpbHVyZSBtZXNzYWdlcyB3aGVyZSBpdCB3YXMgZmFp bGluZyB0byB3cml0ZSBzb21ldGhpbmcgdG8gaXQuIEknbSBjdXJyZW50bHkgcmVkb2luZyBteSAi YmFzaWMgYmh5dmUgc2NyaXB0IiBhbmQgbW92aW5nIGl0IG92ZXIgdG8gInZtLWJoeXZlIiBzaW5j ZSBpdCBzZWVtcyBhIGxvdCBvZiBwZW9wbGUgYXJlIHVzaW5nIHRoYXQgaW5zdGVhZCBvZiB0aGUg bW9yZSBtYW51YWwgYXBwcm9hY2guIFRoaXMgc2hvdWxkIGhvcGVmdWxseSBoZWxwIHNpbXBsaWZ5 IHRoaW5ncyBmb3IgZGVidWdnaW5nLiBJZiB0aGUgY2FyZCB3b3JrcyBvbiBMaW51eCB2aWEgcGFz c3Rocm91Z2ggdGhpcyB3b3VsZCBhbHNvIGJlIHVzZWZ1bCBpbmZvIGFuZCBjYW4gYWxsb3cgbWUg dG8gc2VlIHRoZSBwZXJmb3JtYW5jZSBvZiBDeXBlcnB1bmsgMjA3NywgYW5kIHNvbWUgb3RoZXIg Z2FtZXMgKGV2ZW4gaWYgSSdtIG5vdCBnZXR0aW5nIDEwMCUgb2YgdGhlIGNhcmQncyBwZXJmb3Jt YW5jZSkuPC9kaXY+PGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmOyBm b250LXNpemU6IDE0cHg7Ij48YnI+PC9kaXY+DQo8ZGl2IHN0eWxlPSJmb250LWZhbWlseTogQXJp YWwsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTRweDsiIGNsYXNzPSJwcm90b25tYWlsX3NpZ25h dHVyZV9ibG9jayI+DQogICAgPGRpdiBjbGFzcz0icHJvdG9ubWFpbF9zaWduYXR1cmVfYmxvY2st dXNlciI+DQogICAgICAgIDxkaXY+Sm9uYXRoYW4gVmFzcXVlejxicj48L2Rpdj48ZGl2PlBHUDog MzREQSA4NThDIDE0NDcgNTA5RSBDNzdBICBENDlGIEZCODUgOTBCNyBDNENBIDUyNzk8YnI+PC9k aXY+PGRpdj5TZW50IHdpdGggUHJvdG9uTWFpbCBTZWN1cmUgRW1haWw8YnI+PC9kaXY+PGRpdj48 YnI+PC9kaXY+DQogICAgPC9kaXY+DQogICAgDQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm90 b25tYWlsX3NpZ25hdHVyZV9ibG9jay1wcm90b24gcHJvdG9ubWFpbF9zaWduYXR1cmVfYmxvY2st ZW1wdHkiPg0KICAgICAgICANCiAgICAgICAgICAgIDwvZGl2Pg0KPC9kaXY+DQo8ZGl2IHN0eWxl PSJmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTRweDsiPjxicj48 L2Rpdj48ZGl2IGNsYXNzPSJwcm90b25tYWlsX3F1b3RlIj4NCiAgICAgICAgT24gTW9uZGF5LCBB dWd1c3QgMjV0aCwgMjAyNSBhdCAxMTowMCwgU3RlcGhhbiBBbHRoYXVzICZsdDtTdGVwaGFuLkFs dGhhdXNARHVlZGluZ2hhdXNlbi5ldSZndDsgd3JvdGU6PGJyPg0KICAgICAgICA8YmxvY2txdW90 ZSBjbGFzcz0icHJvdG9ubWFpbF9xdW90ZSIgdHlwZT0iY2l0ZSI+DQogICAgICAgICAgICANCiAg ICA8ZGl2IGNsYXNzPSJtb3otY2l0ZS1wcmVmaXgiPk9uIDgvMjUvMjUgMTY6NTYsIEpvbmF0aGFu IFZhc3F1ZXoNCiAgICAgIHdyb3RlOjxicj4NCiAgICA8L2Rpdj4NCiAgICA8YmxvY2txdW90ZSB0 eXBlPSJjaXRlIj4NCiAgICAgIA0KICAgICAgPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6IEFyaWFs LCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE0cHg7Ij5IZXkNCiAgICAgICAgU3RlcGhhbiw8L2Rp dj4NCiAgICAgIDxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjsgZm9u dC1zaXplOiAxNHB4OyI+PGJyPg0KICAgICAgPC9kaXY+DQogICAgICA8ZGl2IHN0eWxlPSJmb250 LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTRweDsiPll1cCwNCiAgICAg ICAgSSd2ZSB0cmllZCBwYXNzaW5nIGJvdGggMy8wLzAgYW5kIDMvMC8xIGFuZCBubyBnbywgYW5k IEkgYWxzbw0KICAgICAgICBtYWtlIHN1cmUgdG8gcmVib290IHRoZSBob3N0IGluIGJldHdlZW4g cnVucyBkdWUgdG8gdGhlIGFtZA0KICAgICAgICBoYXJkd2FyZSBpc3N1ZS4gSSBkb24ndCBiZWxp ZXZlIDMvMC8xIGlzIG5lY2Vzc2FyeSB0aG91Z2ggYmFzZWQNCiAgICAgICAgb24gdGhlIGV4YW1w bGVzIGJ5IENvcnZpbiBpbiBoaXMgdGFsay4gSGUgb25seSBwYXNzZWQgaW4gMy8wLzANCiAgICAg ICAgKEknbSBndWVzc2luZyBoaXMgY2FyZCBhbHNvIGhhcyBhIDMvMC8xIGZ1bmN0aW9uIHRoYXQg aGUgaXNuJ3QNCiAgICAgICAgdXNpbmcgc2luY2UgdGhhdCdzIHRoZSBhdWRpbyBjaGFubmVsKS48 L2Rpdj4NCiAgICAgIDxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjsg Zm9udC1zaXplOiAxNHB4OyI+PGJyPg0KICAgICAgPC9kaXY+DQogICAgICA8ZGl2IHN0eWxlPSJm b250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTRweDsiIGNsYXNzPSJw cm90b25tYWlsX3NpZ25hdHVyZV9ibG9jayI+DQogICAgICAgIDxkaXYgY2xhc3M9InByb3Rvbm1h aWxfc2lnbmF0dXJlX2Jsb2NrLXVzZXIiPg0KICAgICAgICAgIDxkaXY+Sm9uYXRoYW4gVmFzcXVl ejxicj4NCiAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICA8ZGl2PlBHUDogMzREQSA4NThDIDE0 NDcgNTA5RSBDNzdBIEQ0OUYgRkI4NSA5MEI3IEM0Q0EgNTI3OTxicj4NCiAgICAgICAgICA8L2Rp dj4NCiAgICAgICAgICA8ZGl2PlNlbnQgd2l0aCBQcm90b25NYWlsIFNlY3VyZSBFbWFpbDxicj4N CiAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICA8ZGl2Pjxicj4NCiAgICAgICAgICA8L2Rpdj4N CiAgICAgICAgPC9kaXY+DQogICAgICAgIDxkaXYgY2xhc3M9InByb3Rvbm1haWxfc2lnbmF0dXJl X2Jsb2NrLXByb3RvbiBwcm90b25tYWlsX3NpZ25hdHVyZV9ibG9jay1lbXB0eSI+DQogICAgICAg IDwvZGl2Pg0KICAgICAgPC9kaXY+DQogICAgICA8ZGl2IHN0eWxlPSJmb250LWZhbWlseTogQXJp YWwsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTRweDsiPjxicj4NCiAgICAgIDwvZGl2Pg0KICAg ICAgPGRpdiBjbGFzcz0icHJvdG9ubWFpbF9xdW90ZSI+IE9uIE1vbmRheSwgQXVndXN0IDI1dGgs IDIwMjUgYXQNCiAgICAgICAgMTA6NTIsIFN0ZXBoYW4gQWx0aGF1cyA8YSBjbGFzcz0ibW96LXR4 dC1saW5rLXJmYzIzOTZFIiBocmVmPSJtYWlsdG86U3RlcGhhbi5BbHRoYXVzQER1ZWRpbmdoYXVz ZW4uZXUiIHJlbD0ibm9yZWZlcnJlciBub2ZvbGxvdyBub29wZW5lciI+Jmx0O1N0ZXBoYW4uQWx0 aGF1c0BEdWVkaW5naGF1c2VuLmV1Jmd0OzwvYT4NCiAgICAgICAgd3JvdGU6PGJyPg0KICAgICAg ICA8YmxvY2txdW90ZSBjbGFzcz0icHJvdG9ubWFpbF9xdW90ZSIgdHlwZT0iY2l0ZSI+DQogICAg ICAgICAgPGRpdiBjbGFzcz0ibW96LWNpdGUtcHJlZml4Ij5PbiA4LzI1LzI1IDE2OjQ3LCBTdGVw aGFuIEFsdGhhdXMNCiAgICAgICAgICAgIHdyb3RlOjxicj4NCiAgICAgICAgICA8L2Rpdj4NCiAg ICAgICAgICA8YmxvY2txdW90ZSB0eXBlPSJjaXRlIj4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9 Im1vei1jaXRlLXByZWZpeCI+T24gOC8yNC8yNSAyMzo1OCwgSm9uYXRoYW4NCiAgICAgICAgICAg ICAgVmFzcXVleiB3cm90ZTo8YnI+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDxi bG9ja3F1b3RlIHR5cGU9ImNpdGUiPg0KICAgICAgICAgICAgICA8ZGl2IHN0eWxlPSJmb250LWZh bWlseTogQXJpYWwsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTRweDsiPjxzcGFuPkhleQ0KICAg ICAgICAgICAgICAgICAgYWxsLDwvc3Bhbj48L2Rpdj4NCiAgICAgICAgICAgICAgPGRpdiBzdHls ZT0iZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE0cHg7Ij48c3Bh bj48YnI+DQogICAgICAgICAgICAgICAgPC9zcGFuPjwvZGl2Pg0KICAgICAgICAgICAgICA8ZGl2 IHN0eWxlPSJmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTRweDsi PjxzcGFuPkkndmUNCiAgICAgICAgICAgICAgICAgIGJlZW4gZXhwZXJpbWVudGluZyB3aXRoIHRy eWluZyB0byBnZXQgbXkgc2VydmVyJ3MNCiAgICAgICAgICAgICAgICAgIGRlZGljYXRlZCBBTUQg UmFkZW9uIFJYIDY5MDAgWFQgd29ya2luZyBvbiBhIGJoeXZlDQogICAgICAgICAgICAgICAgICBX aW5kb3dzIDEwIFBybyBjbGllbnQgZm9yIGdhbWluZyBwdXJwb3Nlcy4gSSd2ZSBiZWVuDQogICAg ICAgICAgICAgICAgICByZWFkaW5nIGEgYnVuY2ggb2YgYmxvZyBwb3N0cywgc2l0ZXMsIGZpbGVz LCBhbmQNCiAgICAgICAgICAgICAgICAgIHZpZGVvcyAodGhhbmtzIENvcnZpbikgdG8gdHJ5IGFu ZCBwaWVjZSB0aGluZ3MNCiAgICAgICAgICAgICAgICAgIHRvZ2V0aGVyLiBJJ3ZlIGJlZW4gYWJs ZSB0byBnZXQgdGhlIFZNIHRvIHJlY29nbml6ZQ0KICAgICAgICAgICAgICAgICAgdGhlIGNhcmQs IGJ1dCBzdGlsbCBzdHVjayBvbiB0aGUgQ29kZSA0MyBpc3N1ZSAod2l0aA0KICAgICAgICAgICAg ICAgICAgb3Igd2l0aG91dCB1c2luZyB0aGUgdkJJT1MgSSd2ZSBleHRyYWN0ZWQgZnJvbSBteQ0K ICAgICAgICAgICAgICAgICAgZGVkaWNhdGVkIGNhcmQgYW5kIGFsc28gZW5zdXJpbmcgYW55IG9w dGlvbnMgbmVlZGVkIHRvDQogICAgICAgICAgICAgICAgICBiZSBvbiBpbiB0aGUgVUVGSSBzZXR0 aW5ncyBhcmUgZW5hYmxlZCkuIFRoaXMgbWFjaGluZQ0KICAgICAgICAgICAgICAgICAgaXMgcnVu bmluZyBvbiBhbiBBTUQgUnl6ZW4gOSA3OTUwWCAxNi1Db3JlIFByb2Nlc3NvciwNCiAgICAgICAg ICAgICAgICAgIHNvIGl0J3MgYSBmdWxsIEFNRCBzZXR1cCwgbm8gSW50ZWwgc3R1ZmYuIEl0DQog ICAgICAgICAgICAgICAgICB0ZWNobmljYWxseSBzaG91bGQgYmUgcmVsYXRpdmVseSAiZWFzeSIg dG8gZ2V0IEFNRA0KICAgICAgICAgICAgICAgICAgd29ya2luZyBmcm9tIHdoYXQgSSd2ZSByZWFk IChleGNsdWRpbmcgdGhlIGtub3duIEFNRA0KICAgICAgICAgICAgICAgICAgSGFyZHdhcmUgcmVz ZXQgaXNzdWUpLiBJJ3ZlIGRvY3VtZW50ZWQgZXZlcnl0aGluZyBJJ3ZlDQogICAgICAgICAgICAg ICAgICBkb25lIHNvIGZhciwgYW5kIHdpbGwgYmUgZG9jdW1lbnRpbmcgbW9yZSBhbmQNCiAgICAg ICAgICAgICAgICAgIHNpbXBsaWZ5aW5nIHRoZSBpbnN0cnVjdGlvbnMgYXMgSSBtYWtlIHByb2dy ZXNzLg0KICAgICAgICAgICAgICAgICAgUGxlYXNlIGxldCBtZSBrbm93IGlmIHlvdSBzZWUgYW55 IHRoaW5nIHdlaXJkIG9yDQogICAgICAgICAgICAgICAgICBhbnl0aGluZyBJIGNvdWxkIHRyeSBi YXNlZCBvbiB3aGF0IEkndmUgcmV3cml0dGVuLg0KICAgICAgICAgICAgICAgICAgSSdsbCB0cnkg dG8gZ2l2ZSBpdCBhIGdvIGFuZCBwcm92aWRlIGZlZWRiYWNrLiBUaGFuaw0KICAgICAgICAgICAg ICAgICAgeW91ITwvc3Bhbj48L2Rpdj4NCiAgICAgICAgICAgICAgPGRpdiBzdHlsZT0iZm9udC1m YW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE0cHg7Ij48c3Bhbj48YnI+DQog ICAgICAgICAgICAgICAgPC9zcGFuPjwvZGl2Pg0KICAgICAgICAgICAgICA8ZGl2IHN0eWxlPSJm b250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTRweDsiPjxzcGFuPjxh IHRhcmdldD0iX2JsYW5rIiByZWw9Im5vcmVmZXJyZXIgbm9mb2xsb3cgbm9vcGVuZXIiIGhyZWY9 Imh0dHBzOi8veHlpbm4ub3JnL2Jsb2cvZnJlZWJzZC9mcmVlYnNkX2JoeXZlX2dwdV9wYXNzdGhy b3VnaF9hbWQiIGNsYXNzPSJtb3otdHh0LWxpbmstZnJlZXRleHQiPmh0dHBzOi8veHlpbm4ub3Jn L2Jsb2cvZnJlZWJzZC9mcmVlYnNkX2JoeXZlX2dwdV9wYXNzdGhyb3VnaF9hbWQ8L2E+PC9zcGFu Pjxicj4NCiAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgIDxkaXYgc3R5bGU9ImZv bnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxNHB4OyI+PGJyPg0KICAg ICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6 IEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE0cHg7IiBjbGFzcz0icHJvdG9ubWFpbF9z aWduYXR1cmVfYmxvY2siPg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb3Rvbm1haWxf c2lnbmF0dXJlX2Jsb2NrLXVzZXIiPg0KICAgICAgICAgICAgICAgICAgPGRpdj5Kb25hdGhhbiBW YXNxdWV6PGJyPg0KICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICA8 ZGl2PlBHUDogMzREQSA4NThDIDE0NDcgNTA5RSBDNzdBIEQ0OUYgRkI4NSA5MEI3IEM0Q0ENCiAg ICAgICAgICAgICAgICAgICAgNTI3OTxicj4NCiAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAg ICAgICAgICAgICAgICAgPGRpdj5TZW50IHdpdGggUHJvdG9uTWFpbCBTZWN1cmUgRW1haWw8YnI+ DQogICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgIDxkaXY+PGJyPg0K ICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAg ICAgICAgICAgPGRpdiBjbGFzcz0icHJvdG9ubWFpbF9zaWduYXR1cmVfYmxvY2stcHJvdG9uIHBy b3Rvbm1haWxfc2lnbmF0dXJlX2Jsb2NrLWVtcHR5Ij4NCiAgICAgICAgICAgICAgICA8L2Rpdj4N CiAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8L2Jsb2NrcXVvdGU+DQogICAgICAg ICAgICA8cD5IaSE8L3A+DQogICAgICAgICAgICA8cD5pIGhhdmUgYSBBTUQgUlg2NDAwIEdQVSBz ZXR1cCBydW5uaW5nIG9uIDE0LjIgd2l0aCB3aW4xMA0KICAgICAgICAgICAgICBndWVzdCwgaG9z dCBpcyBhIGludGVsIHN5c3RlbS48L3A+DQogICAgICAgICAgICA8cD5pIHRoaW5rIHlvdSBoYXZl IHRvIHBhc3N0aHJvdWdoIHRoZSAzLzAvMSBkZXZpY2UgYXMgd2VsbCE8L3A+DQogICAgICAgICAg ICA8cD5UaGUgYmlvcy5yb20gaXMgZXh0cmFjdGVkIGZyb20gdGhpcyBjYXJkIGluIHBsYWNlID88 L3A+DQogICAgICAgICAgICA8cD48YnI+DQogICAgICAgICAgICA8L3A+DQogICAgICAgICAgICA8 cD5SZWdhcmRzLDxicj4NCiAgICAgICAgICAgICAgU3RlcGhhbjwvcD4NCiAgICAgICAgICAgIDxw Pjxicj4NCiAgICAgICAgICAgIDwvcD4NCiAgICAgICAgICA8L2Jsb2NrcXVvdGU+DQogICAgICAg ICAgPHA+QWgsIGFuZCBiZSBzaHVyZSB0byByZWJvb3QgdGhlIHdob2xlIHNldHVwLCBpbmNsdXNp dmUgaG9zdCwNCiAgICAgICAgICAgIGZvciBldmVyeSBuZXcgdGVzdC1jYXNlLCA8YnI+DQogICAg ICAgICAgICBhdCBsZWFzdCBhcyBsb25nIGF0IGlzIG5vdCBndWFyYW50ZWVkIHRoYXQgd2UgY2Fu IGxpdmUNCiAgICAgICAgICAgIHdpdGhvdXQuLjwvcD4NCiAgICAgICAgICA8cD5SZWdhcnMsPGJy Pg0KICAgICAgICAgICAgU3RlcGhhbjwvcD4NCiAgICAgICAgICA8cD48YnI+DQogICAgICAgICAg PC9wPg0KICAgICAgICA8L2Jsb2NrcXVvdGU+DQogICAgICAgIDxicj4NCiAgICAgIDwvZGl2Pg0K ICAgIDwvYmxvY2txdW90ZT4NCiAgICA8cD5IaSE8L3A+DQogICAgPHA+TXkgb25seSBuZXh0IGFz c3VtcHRpb24gd291bGQgYmUgdGhhdCB0aGlzIG9ubHkgZG9lcyBub3Qgd29yayBvbg0KICAgICAg QU1EIGhvc3QuPC9wPg0KICAgIDxwPllvdSBkb24ndCBoYXZlIGFuIGludGVsIHN5c3RlbSB0byB0 ZXN0LCB5b3Ugd291bGQgaGF2ZWRvbmUgaXQsIGlmDQogICAgICBzby4uICg/KTwvcD4NCiAgICA8 cD5TdGVwaGFuPC9wPg0KICAgIDxwPjxicj4NCiAgICA8L3A+DQogIA0KDQoNCiAgICAgICAgPC9i bG9ja3F1b3RlPjxicj4NCiAgICA8L2Rpdj4= --b1=_yGQUraqeajhy9GPbJI31oJYz5wBy9Tkc5NBeP0DSg-- From nobody Mon Aug 25 16:35:31 2025 X-Original-To: virtualization@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4c9by64wpzz65HMW for ; Mon, 25 Aug 2025 16:35:42 +0000 (UTC) (envelope-from jon@xyinn.org) Received: from mail-10625.protonmail.ch (mail-10625.protonmail.ch [79.135.106.25]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "protonmail.com", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4c9by619mCz3mNK for ; Mon, 25 Aug 2025 16:35:41 +0000 (UTC) (envelope-from jon@xyinn.org) Authentication-Results: mx1.freebsd.org; none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=xyinn.org; s=protonmail3; t=1756139738; x=1756398938; bh=rC9gLeBFUP94mqqTSZ78FfCqXuf8PbVz4v1MEmaS6k0=; h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References: Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID: Message-ID:BIMI-Selector; b=DrpPeTskDtTiKX0FsCx6G0N2mTqj/KnoTO8QBec2+wL5/OV9p6UGEA5nzDppc3f0P W9O7bQz0FeOcVxhDWkJvX8uGTikRvV858mGak0yBBoVM2CMhV8WMMv12ZPu6tOhhdT JAOD8PM7KWuTqWb4h8GmVTGn3una1An7bBwSg27ifeWPmG+kD9MzXJqwBWKVMuHvcg MbB+wvKBpJuZ8mGtBHeiWnjuVAIPf4LozD4aNZUVxqVSa1cgd87bA2Phmpsr1CpnMK 5jHzGUNCYM87ag9nOfPC08p4iWUvyHqTbU/SCcaHmnEXLQqBsQZLiwAl1orO5WnyPi 7s/b1NGp0+w9A== Date: Mon, 25 Aug 2025 16:35:31 +0000 To: Jonathan Vasquez From: Jonathan Vasquez Cc: Stephan Althaus , "virtualization@freebsd.org" Subject: Re: GPU Passthrough on FreeBSD 14.3 (AMD Radeon RX 6900 XT and Windows 10 Pro) Message-ID: In-Reply-To: References: <6CV-OY6BcErrWRit9jSpi6fWsYBG3E_Z3u6eTLPcz6foPAZV1gQpZYaZTR7JA_1ot5RQVqrWQaLxJFySXjspIhSbBJGxmckcDQyzxhALNus=@xyinn.org> <98007d7f-427e-461a-adf1-7cb55f777662@Duedinghausen.eu> <9573a65a-ef25-416b-a5b6-e49b28c6086c@Duedinghausen.eu> <8e7f6904-8188-4941-827b-c874d5da586d@Duedinghausen.eu> Feedback-ID: 12351801:user:proton X-Pm-Message-ID: b9973467779f3f72476430196b8ae3aaac87178b List-Id: Discussion List-Archive: https://lists.freebsd.org/archives/freebsd-virtualization List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: freebsd-virtualization@freebsd.org Sender: owner-freebsd-virtualization@FreeBSD.org MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="b1=_mVMeHb80Qdptan8pfuG85DypK0fxHjixcexlF9d0ek" X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:62371, ipnet:79.135.106.0/24, country:CH] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Rspamd-Queue-Id: 4c9by619mCz3mNK --b1=_mVMeHb80Qdptan8pfuG85DypK0fxHjixcexlF9d0ek Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: base64 SSB3YXMgYWJsZSB0byBnZXQgYSBmcmVzaCBXaW4gMTAgUHJvIFZNIHJ1bm5pbmcgdGhyb3VnaCB2 bS1iaHl2ZSBidXQgbm8gcHJvZ3Jlc3MuIFN0aWxsIHNhbWUgQ29kZSA0MyBlcnJvciBhcyBiZWZv cmUuIEkgd2Fzbid0IGFibGUgdG8gZmlndXJlIG91dCBob3cgdG8gcGFzcyB0aGUgcm9tPWJpb3Mu cm9t4oCLIHRocm91Z2ggdm0tYmh5dmUsIEkgZGlkbid0IHNlZSBhbnl0aGluZyBhYm91dCBpdCBp biB0aGUgY29uZmlnLnNhbXBsZSBmaWxlIGFuZCBJIGFsc28gdHJpZWQgdG8gYnlwYXNzIHRoYXQg YnkgYWRkaW5nIGl0IGluIGJoeXZlX29wdGlvbnMgYnV0IG5vIGdvLCB0aGUgVk0gd291bGRuJ3Qg ZXZlbiBzdGFydCBpZiBJIGRpZCB0aGF0LiBJIHNlZSB0aGVyZSBpcyBhICJiaHl2ZV9kZXZpY2Vz IiB0aGF0IGNvbnRhaW5zIGFsbCBvZiB0aGUgc2xvdCBkZXZpY2VzIGJ1dCBJIGRvbid0IHNlZSB0 aGF0IGFzIGFuIGFkanVzdGFibGUgdmFyaWFibGUgYmFzZWQgb24gdGhlIGNvbmZpZy5zYW1wbGUg aW5mby4gSSd2ZSBwYXN0ZWQgbXkgY3VycmVudCB2bS1iaHl2ZSB0ZW1wbGF0ZSBiZWxvdy4gTXkg bmV4dCB0ZXN0IGlzIHRvIHRyeSB0aGUgc2FtZSB0aGluZyBpbnNpZGUgYSBMaW51eCBndWVzdCB0 byBzZWUgd2hhdCBoYXBwZW5zLgoKLS0tLS0tLS0tLS0tLS0tLQoKbG9hZGVyPSJ1ZWZpIgpjcHU9 IjQiCmNwdV9zb2NrZXRzPSIxIgpjcHVfY29yZXM9IjQiCmNwdV90aHJlYWRzPSIxIgptZW1vcnk9 IjE2RyIKd2lyZWRfbWVtb3J5PSJ5ZXMiCgp1dGN0aW1lPSJubyIKYWhjaV9kZXZpY2VfbGltaXQ9 IjgiCgpkaXNrMF90eXBlPSJudm1lIgpkaXNrMF9uYW1lPSJkaXNrMC5pbWciCgpuZXR3b3JrMF90 eXBlPSJlMTAwMCIKbmV0d29yazBfc3dpdGNoPSJwdWJsaWMiCgpwYXNzdGhydTA9IjMvMC8wPTI6 MCIKcGFzc3RocnUxPSIzLzAvMT0yOjEiCgojYmh5dmVfb3B0aW9ucz0iLXMgMjowLHBhc3N0aHJ1 LDMvMC8wLHJvbT1iaW9zLnJvbSIKCiMgVXNpbmcgUkRQIHBvc3QtaW5zdGFsbC4KZ3JhcGhpY3M9 Im5vIgpncmFwaGljc19wb3J0PSI1OTAwIgpncmFwaGljc19saXN0ZW49IjAuMC4wLjAiCmdyYXBo aWNzX3Jlcz0iMTkyMHgxMDgwIgpncmFwaGljc193YWl0PSJ5ZXMiCgp4aGNpX21vdXNlPSJ5ZXMi CnV1aWQ9IjUzNWQ1NGI1LTgxY2ItMTFmMC05M2EyLTk4Yjc4NTAxYmRhOCIgbmV0d29yazBfbWFj PSI1ODo5YzpmYzowNDo1YTplYiIKCi0tLS0tLS0tLS0tLS0tLS0KCkpvbmF0aGFuIFZhc3F1ZXoK UEdQOiAzNERBIDg1OEMgMTQ0NyA1MDlFIEM3N0EgRDQ5RiBGQjg1IDkwQjcgQzRDQSA1Mjc5ClNl bnQgd2l0aCBQcm90b25NYWlsIFNlY3VyZSBFbWFpbAoKT24gTW9uZGF5LCBBdWd1c3QgMjV0aCwg MjAyNSBhdCAxMTowNSwgSm9uYXRoYW4gVmFzcXVleiA8am9uQHh5aW5uLm9yZz4gd3JvdGU6Cgo+ IFVuZm9ydHVuYXRlbHkgSSBkb24ndCBoYXZlIGFuIGludGVsIG1hY2hpbmUgd2l0aCBhbiBhdmFp bGFibGUgUENJZSBzbG90LiBIb3dldmVyIEknbSB0cnlpbmcgYW5vdGhlciB0aGluZyB3aGljaCBp cyB0byBwYXNzdGhyb3VnaCB0aGUgY2FyZCB0byBhIExpbnV4IGd1ZXN0LiBJIG5lZWQgdG8gcnVu IG1vcmUgZXhwZXJpbWVudHMgYnV0IGEgcHJlbGltaW5hcnkgYm9vdCBvZiBhIExpbnV4IE1pbnQg SVNPIGRpZCBzaG93IHRoZSBBTUQgUmFkZW9uIFJYIDY5MDAgWFQgY2FyZCBpbiBsc3BjaeKAiyBh bmQgc2hvd2VkIHRoYXQgaXQgd2FzIHVzaW5nIHRoZSBhbWRncHXigIsgZHJpdmVyLiBJIHRoZW4g ZGlkIGEgYmFzaWMgZ2x4Z2VhcnPigIsgYW5kIGl0IG9wZW5lZCB1cCBpbiBteSBWTkMgd2luZG93 IGFuZCBzaG93ZWQgdGhlIEZQUyBjb3VudGVyIGF0IG92ZXIgMjAwMCBmcHMuIFRoZSBvbmx5IGlz c3VlIEkgbm90aWNlZCB3YXMgd2hlbiBzaHV0dGluZyBkb3duIHRoZSBsaXZlIENEIGVudmlyb25t ZW50IHRoZXJlIHdlcmUgYW1kZ3B14oCLIGZhaWx1cmUgbWVzc2FnZXMgd2hlcmUgaXQgd2FzIGZh aWxpbmcgdG8gd3JpdGUgc29tZXRoaW5nIHRvIGl0LiBJJ20gY3VycmVudGx5IHJlZG9pbmcgbXkg ImJhc2ljIGJoeXZlIHNjcmlwdCIgYW5kIG1vdmluZyBpdCBvdmVyIHRvICJ2bS1iaHl2ZSIgc2lu Y2UgaXQgc2VlbXMgYSBsb3Qgb2YgcGVvcGxlIGFyZSB1c2luZyB0aGF0IGluc3RlYWQgb2YgdGhl IG1vcmUgbWFudWFsIGFwcHJvYWNoLiBUaGlzIHNob3VsZCBob3BlZnVsbHkgaGVscCBzaW1wbGlm eSB0aGluZ3MgZm9yIGRlYnVnZ2luZy4gSWYgdGhlIGNhcmQgd29ya3Mgb24gTGludXggdmlhIHBh c3N0aHJvdWdoIHRoaXMgd291bGQgYWxzbyBiZSB1c2VmdWwgaW5mbyBhbmQgY2FuIGFsbG93IG1l IHRvIHNlZSB0aGUgcGVyZm9ybWFuY2Ugb2YgQ3lwZXJwdW5rIDIwNzcsIGFuZCBzb21lIG90aGVy IGdhbWVzIChldmVuIGlmIEknbSBub3QgZ2V0dGluZyAxMDAlIG9mIHRoZSBjYXJkJ3MgcGVyZm9y bWFuY2UpLgo+Cj4gSm9uYXRoYW4gVmFzcXVlego+IFBHUDogMzREQSA4NThDIDE0NDcgNTA5RSBD NzdBIEQ0OUYgRkI4NSA5MEI3IEM0Q0EgNTI3OQo+IFNlbnQgd2l0aCBQcm90b25NYWlsIFNlY3Vy ZSBFbWFpbAo+Cj4gT24gTW9uZGF5LCBBdWd1c3QgMjV0aCwgMjAyNSBhdCAxMTowMCwgU3RlcGhh biBBbHRoYXVzIDxTdGVwaGFuLkFsdGhhdXNARHVlZGluZ2hhdXNlbi5ldT4gd3JvdGU6Cj4KPj4g T24gOC8yNS8yNSAxNjo1NiwgSm9uYXRoYW4gVmFzcXVleiB3cm90ZToKPj4KPj4+IEhleSBTdGVw aGFuLAo+Pj4KPj4+IFl1cCwgSSd2ZSB0cmllZCBwYXNzaW5nIGJvdGggMy8wLzAgYW5kIDMvMC8x IGFuZCBubyBnbywgYW5kIEkgYWxzbyBtYWtlIHN1cmUgdG8gcmVib290IHRoZSBob3N0IGluIGJl dHdlZW4gcnVucyBkdWUgdG8gdGhlIGFtZCBoYXJkd2FyZSBpc3N1ZS4gSSBkb24ndCBiZWxpZXZl IDMvMC8xIGlzIG5lY2Vzc2FyeSB0aG91Z2ggYmFzZWQgb24gdGhlIGV4YW1wbGVzIGJ5IENvcnZp biBpbiBoaXMgdGFsay4gSGUgb25seSBwYXNzZWQgaW4gMy8wLzAgKEknbSBndWVzc2luZyBoaXMg Y2FyZCBhbHNvIGhhcyBhIDMvMC8xIGZ1bmN0aW9uIHRoYXQgaGUgaXNuJ3QgdXNpbmcgc2luY2Ug dGhhdCdzIHRoZSBhdWRpbyBjaGFubmVsKS4KPj4+Cj4+PiBKb25hdGhhbiBWYXNxdWV6Cj4+PiBQ R1A6IDM0REEgODU4QyAxNDQ3IDUwOUUgQzc3QSBENDlGIEZCODUgOTBCNyBDNENBIDUyNzkKPj4+ IFNlbnQgd2l0aCBQcm90b25NYWlsIFNlY3VyZSBFbWFpbAo+Pj4KPj4+IE9uIE1vbmRheSwgQXVn dXN0IDI1dGgsIDIwMjUgYXQgMTA6NTIsIFN0ZXBoYW4gQWx0aGF1cyBbPFN0ZXBoYW4uQWx0aGF1 c0BEdWVkaW5naGF1c2VuLmV1Pl0obWFpbHRvOlN0ZXBoYW4uQWx0aGF1c0BEdWVkaW5naGF1c2Vu LmV1KSB3cm90ZToKPj4+Cj4+Pj4gT24gOC8yNS8yNSAxNjo0NywgU3RlcGhhbiBBbHRoYXVzIHdy b3RlOgo+Pj4+Cj4+Pj4+IE9uIDgvMjQvMjUgMjM6NTgsIEpvbmF0aGFuIFZhc3F1ZXogd3JvdGU6 Cj4+Pj4+Cj4+Pj4+PiBIZXkgYWxsLAo+Pj4+Pj4KPj4+Pj4+IEkndmUgYmVlbiBleHBlcmltZW50 aW5nIHdpdGggdHJ5aW5nIHRvIGdldCBteSBzZXJ2ZXIncyBkZWRpY2F0ZWQgQU1EIFJhZGVvbiBS WCA2OTAwIFhUIHdvcmtpbmcgb24gYSBiaHl2ZSBXaW5kb3dzIDEwIFBybyBjbGllbnQgZm9yIGdh bWluZyBwdXJwb3Nlcy4gSSd2ZSBiZWVuIHJlYWRpbmcgYSBidW5jaCBvZiBibG9nIHBvc3RzLCBz aXRlcywgZmlsZXMsIGFuZCB2aWRlb3MgKHRoYW5rcyBDb3J2aW4pIHRvIHRyeSBhbmQgcGllY2Ug dGhpbmdzIHRvZ2V0aGVyLiBJJ3ZlIGJlZW4gYWJsZSB0byBnZXQgdGhlIFZNIHRvIHJlY29nbml6 ZSB0aGUgY2FyZCwgYnV0IHN0aWxsIHN0dWNrIG9uIHRoZSBDb2RlIDQzIGlzc3VlICh3aXRoIG9y IHdpdGhvdXQgdXNpbmcgdGhlIHZCSU9TIEkndmUgZXh0cmFjdGVkIGZyb20gbXkgZGVkaWNhdGVk IGNhcmQgYW5kIGFsc28gZW5zdXJpbmcgYW55IG9wdGlvbnMgbmVlZGVkIHRvIGJlIG9uIGluIHRo ZSBVRUZJIHNldHRpbmdzIGFyZSBlbmFibGVkKS4gVGhpcyBtYWNoaW5lIGlzIHJ1bm5pbmcgb24g YW4gQU1EIFJ5emVuIDkgNzk1MFggMTYtQ29yZSBQcm9jZXNzb3IsIHNvIGl0J3MgYSBmdWxsIEFN RCBzZXR1cCwgbm8gSW50ZWwgc3R1ZmYuIEl0IHRlY2huaWNhbGx5IHNob3VsZCBiZSByZWxhdGl2 ZWx5ICJlYXN5IiB0byBnZXQgQU1EIHdvcmtpbmcgZnJvbSB3aGF0IEkndmUgcmVhZCAoZXhjbHVk aW5nIHRoZSBrbm93biBBTUQgSGFyZHdhcmUgcmVzZXQgaXNzdWUpLiBJJ3ZlIGRvY3VtZW50ZWQg ZXZlcnl0aGluZyBJJ3ZlIGRvbmUgc28gZmFyLCBhbmQgd2lsbCBiZSBkb2N1bWVudGluZyBtb3Jl IGFuZCBzaW1wbGlmeWluZyB0aGUgaW5zdHJ1Y3Rpb25zIGFzIEkgbWFrZSBwcm9ncmVzcy4gUGxl YXNlIGxldCBtZSBrbm93IGlmIHlvdSBzZWUgYW55IHRoaW5nIHdlaXJkIG9yIGFueXRoaW5nIEkg Y291bGQgdHJ5IGJhc2VkIG9uIHdoYXQgSSd2ZSByZXdyaXR0ZW4uIEknbGwgdHJ5IHRvIGdpdmUg aXQgYSBnbyBhbmQgcHJvdmlkZSBmZWVkYmFjay4gVGhhbmsgeW91IQo+Pj4+Pj4KPj4+Pj4+IGh0 dHBzOi8veHlpbm4ub3JnL2Jsb2cvZnJlZWJzZC9mcmVlYnNkX2JoeXZlX2dwdV9wYXNzdGhyb3Vn aF9hbWQKPj4+Pj4+Cj4+Pj4+PiBKb25hdGhhbiBWYXNxdWV6Cj4+Pj4+PiBQR1A6IDM0REEgODU4 QyAxNDQ3IDUwOUUgQzc3QSBENDlGIEZCODUgOTBCNyBDNENBIDUyNzkKPj4+Pj4+IFNlbnQgd2l0 aCBQcm90b25NYWlsIFNlY3VyZSBFbWFpbAo+Pj4+Pgo+Pj4+PiBIaSEKPj4+Pj4KPj4+Pj4gaSBo YXZlIGEgQU1EIFJYNjQwMCBHUFUgc2V0dXAgcnVubmluZyBvbiAxNC4yIHdpdGggd2luMTAgZ3Vl c3QsIGhvc3QgaXMgYSBpbnRlbCBzeXN0ZW0uCj4+Pj4+Cj4+Pj4+IGkgdGhpbmsgeW91IGhhdmUg dG8gcGFzc3Rocm91Z2ggdGhlIDMvMC8xIGRldmljZSBhcyB3ZWxsIQo+Pj4+Pgo+Pj4+PiBUaGUg Ymlvcy5yb20gaXMgZXh0cmFjdGVkIGZyb20gdGhpcyBjYXJkIGluIHBsYWNlID8KPj4+Pj4KPj4+ Pj4gUmVnYXJkcywKPj4+Pj4gU3RlcGhhbgo+Pj4+Cj4+Pj4gQWgsIGFuZCBiZSBzaHVyZSB0byBy ZWJvb3QgdGhlIHdob2xlIHNldHVwLCBpbmNsdXNpdmUgaG9zdCwgZm9yIGV2ZXJ5IG5ldyB0ZXN0 LWNhc2UsCj4+Pj4gYXQgbGVhc3QgYXMgbG9uZyBhdCBpcyBub3QgZ3VhcmFudGVlZCB0aGF0IHdl IGNhbiBsaXZlIHdpdGhvdXQuLgo+Pj4+Cj4+Pj4gUmVnYXJzLAo+Pj4+IFN0ZXBoYW4KPj4KPj4g SGkhCj4+Cj4+IE15IG9ubHkgbmV4dCBhc3N1bXB0aW9uIHdvdWxkIGJlIHRoYXQgdGhpcyBvbmx5 IGRvZXMgbm90IHdvcmsgb24gQU1EIGhvc3QuCj4+Cj4+IFlvdSBkb24ndCBoYXZlIGFuIGludGVs IHN5c3RlbSB0byB0ZXN0LCB5b3Ugd291bGQgaGF2ZWRvbmUgaXQsIGlmIHNvLi4gKD8pCj4+Cj4+ IFN0ZXBoYW4= --b1=_mVMeHb80Qdptan8pfuG85DypK0fxHjixcexlF9d0ek Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: base64 PGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE0 cHg7Ij5JIHdhcyBhYmxlIHRvIGdldCBhIGZyZXNoIFdpbiAxMCBQcm8gVk0gcnVubmluZyB0aHJv dWdoIHZtLWJoeXZlIGJ1dCBubyBwcm9ncmVzcy4gU3RpbGwgc2FtZSBDb2RlIDQzIGVycm9yIGFz IGJlZm9yZS4gSSB3YXNuJ3QgYWJsZSB0byBmaWd1cmUgb3V0IGhvdyB0byBwYXNzIHRoZSA8Y29k ZT5yb209Ymlvcy5yb208L2NvZGU+4oCLIHRocm91Z2ggdm0tYmh5dmUsIEkgZGlkbid0IHNlZSBh bnl0aGluZyBhYm91dCBpdCBpbiB0aGUgY29uZmlnLnNhbXBsZSBmaWxlIGFuZCBJIGFsc28gdHJp ZWQgdG8gYnlwYXNzIHRoYXQgYnkgYWRkaW5nIGl0IGluIGJoeXZlX29wdGlvbnMgYnV0IG5vIGdv LCB0aGUgVk0gd291bGRuJ3QgZXZlbiBzdGFydCBpZiBJIGRpZCB0aGF0LiBJIHNlZSB0aGVyZSBp cyBhICJiaHl2ZV9kZXZpY2VzIiB0aGF0IGNvbnRhaW5zIGFsbCBvZiB0aGUgc2xvdCBkZXZpY2Vz IGJ1dCBJIGRvbid0IHNlZSB0aGF0IGFzIGFuIGFkanVzdGFibGUgdmFyaWFibGUgYmFzZWQgb24g dGhlIGNvbmZpZy5zYW1wbGUgaW5mby4gSSd2ZSBwYXN0ZWQgbXkgY3VycmVudCB2bS1iaHl2ZSB0 ZW1wbGF0ZSBiZWxvdy4gTXkgbmV4dCB0ZXN0IGlzIHRvIHRyeSB0aGUgc2FtZSB0aGluZyBpbnNp ZGUgYSBMaW51eCBndWVzdCB0byBzZWUgd2hhdCBoYXBwZW5zLjwvZGl2PjxkaXYgc3R5bGU9ImZv bnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxNHB4OyI+PGJyPjwvZGl2 PjxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAx NHB4OyI+LS0tLS0tLS0tLS0tLS0tLTwvZGl2PjxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OiBBcmlh bCwgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxNHB4OyI+PGJyPjwvZGl2PjxkaXYgc3R5bGU9ImZv bnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxNHB4OyI+PHNwYW4+bG9h ZGVyPSJ1ZWZpIiAmbmJzcDsgJm5ic3A7PC9zcGFuPjxkaXY+PHNwYW4+Y3B1PSI0IiAmbmJzcDsg Jm5ic3A7PC9zcGFuPjwvZGl2PjxkaXY+PHNwYW4+Y3B1X3NvY2tldHM9IjEiICZuYnNwOyAmbmJz cDs8L3NwYW4+PC9kaXY+PGRpdj48c3Bhbj5jcHVfY29yZXM9IjQiICZuYnNwOyAmbmJzcDs8L3Nw YW4+PC9kaXY+PGRpdj48c3Bhbj5jcHVfdGhyZWFkcz0iMSIgJm5ic3A7ICZuYnNwOzwvc3Bhbj48 L2Rpdj48ZGl2PjxzcGFuPm1lbW9yeT0iMTZHIiAmbmJzcDsgJm5ic3A7PC9zcGFuPjwvZGl2Pjxk aXY+PHNwYW4+d2lyZWRfbWVtb3J5PSJ5ZXMiICZuYnNwOyAmbmJzcDs8L3NwYW4+PC9kaXY+PGRp dj48c3Bhbj4mbmJzcDsgJm5ic3A7IDwvc3Bhbj48L2Rpdj48ZGl2PjxzcGFuPnV0Y3RpbWU9Im5v IiAmbmJzcDsgJm5ic3A7PC9zcGFuPjwvZGl2PjxkaXY+PHNwYW4+YWhjaV9kZXZpY2VfbGltaXQ9 IjgiICZuYnNwOyAmbmJzcDs8L3NwYW4+PC9kaXY+PGRpdj48c3Bhbj4mbmJzcDsgJm5ic3A7IDwv c3Bhbj48L2Rpdj48ZGl2PjxzcGFuPmRpc2swX3R5cGU9Im52bWUiICZuYnNwOyAmbmJzcDs8L3Nw YW4+PC9kaXY+PGRpdj48c3Bhbj5kaXNrMF9uYW1lPSJkaXNrMC5pbWciICZuYnNwOyAmbmJzcDs8 L3NwYW4+PC9kaXY+PGRpdj48c3Bhbj4mbmJzcDsgJm5ic3A7IDwvc3Bhbj48L2Rpdj48ZGl2Pjxz cGFuPm5ldHdvcmswX3R5cGU9ImUxMDAwIiAmbmJzcDsgJm5ic3A7PC9zcGFuPjwvZGl2PjxkaXY+ PHNwYW4+bmV0d29yazBfc3dpdGNoPSJwdWJsaWMiICZuYnNwOyAmbmJzcDs8L3NwYW4+PC9kaXY+ PGRpdj48c3Bhbj4mbmJzcDsgJm5ic3A7IDwvc3Bhbj48L2Rpdj48ZGl2PjxzcGFuPnBhc3N0aHJ1 MD0iMy8wLzA9MjowIiAmbmJzcDsgJm5ic3A7PC9zcGFuPjwvZGl2PjxkaXY+PHNwYW4+cGFzc3Ro cnUxPSIzLzAvMT0yOjEiICZuYnNwOyAmbmJzcDs8L3NwYW4+PC9kaXY+PGRpdj48c3Bhbj4mbmJz cDsgJm5ic3A7IDwvc3Bhbj48L2Rpdj48ZGl2PjxzcGFuPiNiaHl2ZV9vcHRpb25zPSItcyAyOjAs cGFzc3RocnUsMy8wLzAscm9tPWJpb3Mucm9tIiAmbmJzcDsgJm5ic3A7PC9zcGFuPjwvZGl2Pjxk aXY+PHNwYW4+PGJyPjwvc3Bhbj48L2Rpdj48ZGl2PjxzcGFuPiMgVXNpbmcgUkRQIHBvc3QtaW5z dGFsbC4mbmJzcDsgJm5ic3A7PC9zcGFuPjwvZGl2PjxkaXY+PHNwYW4+Z3JhcGhpY3M9Im5vIiAm bmJzcDsgJm5ic3A7PC9zcGFuPjwvZGl2PjxkaXY+PHNwYW4+Z3JhcGhpY3NfcG9ydD0iNTkwMCIg Jm5ic3A7ICZuYnNwOzwvc3Bhbj48L2Rpdj48ZGl2PjxzcGFuPmdyYXBoaWNzX2xpc3Rlbj0iMC4w LjAuMCIgJm5ic3A7ICZuYnNwOzwvc3Bhbj48L2Rpdj48ZGl2PjxzcGFuPmdyYXBoaWNzX3Jlcz0i MTkyMHgxMDgwIiAmbmJzcDsgJm5ic3A7PC9zcGFuPjwvZGl2PjxkaXY+PHNwYW4+Z3JhcGhpY3Nf d2FpdD0ieWVzIiAmbmJzcDsgJm5ic3A7PC9zcGFuPjwvZGl2PjxkaXY+PHNwYW4+Jm5ic3A7ICZu YnNwOyA8L3NwYW4+PC9kaXY+PGRpdj48c3Bhbj54aGNpX21vdXNlPSJ5ZXMiICZuYnNwOyAmbmJz cDs8L3NwYW4+PC9kaXY+PGRpdj48c3Bhbj51dWlkPSI1MzVkNTRiNS04MWNiLTExZjAtOTNhMi05 OGI3ODUwMWJkYTgiICZuYnNwOyAmbmJzcDs8L3NwYW4+PC9kaXY+PHNwYW4+bmV0d29yazBfbWFj PSI1ODo5YzpmYzowNDo1YTplYiImbmJzcDsgJm5ic3A7PC9zcGFuPjwvZGl2PjxkaXYgc3R5bGU9 ImZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxNHB4OyI+PHNwYW4+ PGJyPjwvc3Bhbj48L2Rpdj48ZGl2IHN0eWxlPSJmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2Vy aWY7IGZvbnQtc2l6ZTogMTRweDsiPi0tLS0tLS0tLS0tLS0tLS08L2Rpdj48ZGl2IHN0eWxlPSJm b250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTRweDsiPjxicj48L2Rp dj4NCjxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjsgZm9udC1zaXpl OiAxNHB4OyIgY2xhc3M9InByb3Rvbm1haWxfc2lnbmF0dXJlX2Jsb2NrIj4NCiAgICA8ZGl2IGNs YXNzPSJwcm90b25tYWlsX3NpZ25hdHVyZV9ibG9jay11c2VyIj4NCiAgICAgICAgPGRpdj5Kb25h dGhhbiBWYXNxdWV6PGJyPjwvZGl2PjxkaXY+UEdQOiAzNERBIDg1OEMgMTQ0NyA1MDlFIEM3N0Eg IEQ0OUYgRkI4NSA5MEI3IEM0Q0EgNTI3OTxicj48L2Rpdj48ZGl2PlNlbnQgd2l0aCBQcm90b25N YWlsIFNlY3VyZSBFbWFpbDxicj48L2Rpdj48ZGl2Pjxicj48L2Rpdj4NCiAgICA8L2Rpdj4NCiAg ICANCiAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb3Rvbm1haWxfc2lnbmF0dXJlX2Jsb2NrLXBy b3RvbiBwcm90b25tYWlsX3NpZ25hdHVyZV9ibG9jay1lbXB0eSI+DQogICAgICAgIA0KICAgICAg ICAgICAgPC9kaXY+DQo8L2Rpdj4NCjxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fu cy1zZXJpZjsgZm9udC1zaXplOiAxNHB4OyI+PGJyPjwvZGl2PjxkaXYgY2xhc3M9InByb3Rvbm1h aWxfcXVvdGUiPg0KICAgICAgICBPbiBNb25kYXksIEF1Z3VzdCAyNXRoLCAyMDI1IGF0IDExOjA1 LCBKb25hdGhhbiBWYXNxdWV6ICZsdDtqb25AeHlpbm4ub3JnJmd0OyB3cm90ZTo8YnI+DQogICAg ICAgIDxibG9ja3F1b3RlIGNsYXNzPSJwcm90b25tYWlsX3F1b3RlIiB0eXBlPSJjaXRlIj4NCiAg ICAgICAgICAgIDxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjsgZm9u dC1zaXplOiAxNHB4OyI+VW5mb3J0dW5hdGVseSBJIGRvbid0IGhhdmUgYW4gaW50ZWwgbWFjaGlu ZSB3aXRoIGFuIGF2YWlsYWJsZSBQQ0llIHNsb3QuIEhvd2V2ZXIgSSdtIHRyeWluZyBhbm90aGVy IHRoaW5nIHdoaWNoIGlzIHRvIHBhc3N0aHJvdWdoIHRoZSBjYXJkIHRvIGEgTGludXggZ3Vlc3Qu IEkgbmVlZCB0byBydW4gbW9yZSBleHBlcmltZW50cyBidXQgYSBwcmVsaW1pbmFyeSBib290IG9m IGEgTGludXggTWludCBJU08gZGlkIHNob3cgdGhlIEFNRCBSYWRlb24gUlggNjkwMCBYVCBjYXJk IGluIDxjb2RlPmxzcGNpPC9jb2RlPuKAiyBhbmQgc2hvd2VkIHRoYXQgaXQgd2FzIHVzaW5nIHRo ZSA8Y29kZT5hbWRncHU8L2NvZGU+4oCLIGRyaXZlci4gSSB0aGVuIGRpZCBhIGJhc2ljIDxjb2Rl PmdseGdlYXJzPC9jb2RlPuKAiyBhbmQgaXQgb3BlbmVkIHVwIGluIG15IFZOQyB3aW5kb3cgYW5k IHNob3dlZCB0aGUgRlBTIGNvdW50ZXIgYXQgb3ZlciAyMDAwIGZwcy4gVGhlIG9ubHkgaXNzdWUg SSBub3RpY2VkIHdhcyB3aGVuIHNodXR0aW5nIGRvd24gdGhlIGxpdmUgQ0QgZW52aXJvbm1lbnQg dGhlcmUgd2VyZSA8Y29kZT5hbWRncHU8L2NvZGU+4oCLIGZhaWx1cmUgbWVzc2FnZXMgd2hlcmUg aXQgd2FzIGZhaWxpbmcgdG8gd3JpdGUgc29tZXRoaW5nIHRvIGl0LiBJJ20gY3VycmVudGx5IHJl ZG9pbmcgbXkgImJhc2ljIGJoeXZlIHNjcmlwdCIgYW5kIG1vdmluZyBpdCBvdmVyIHRvICJ2bS1i aHl2ZSIgc2luY2UgaXQgc2VlbXMgYSBsb3Qgb2YgcGVvcGxlIGFyZSB1c2luZyB0aGF0IGluc3Rl YWQgb2YgdGhlIG1vcmUgbWFudWFsIGFwcHJvYWNoLiBUaGlzIHNob3VsZCBob3BlZnVsbHkgaGVs cCBzaW1wbGlmeSB0aGluZ3MgZm9yIGRlYnVnZ2luZy4gSWYgdGhlIGNhcmQgd29ya3Mgb24gTGlu dXggdmlhIHBhc3N0aHJvdWdoIHRoaXMgd291bGQgYWxzbyBiZSB1c2VmdWwgaW5mbyBhbmQgY2Fu IGFsbG93IG1lIHRvIHNlZSB0aGUgcGVyZm9ybWFuY2Ugb2YgQ3lwZXJwdW5rIDIwNzcsIGFuZCBz b21lIG90aGVyIGdhbWVzIChldmVuIGlmIEknbSBub3QgZ2V0dGluZyAxMDAlIG9mIHRoZSBjYXJk J3MgcGVyZm9ybWFuY2UpLjwvZGl2PjxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fu cy1zZXJpZjsgZm9udC1zaXplOiAxNHB4OyI+PGJyPjwvZGl2Pg0KPGRpdiBzdHlsZT0iZm9udC1m YW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE0cHg7IiBjbGFzcz0icHJvdG9u bWFpbF9zaWduYXR1cmVfYmxvY2siPg0KICAgIDxkaXYgY2xhc3M9InByb3Rvbm1haWxfc2lnbmF0 dXJlX2Jsb2NrLXVzZXIiPg0KICAgICAgICA8ZGl2PkpvbmF0aGFuIFZhc3F1ZXo8YnI+PC9kaXY+ PGRpdj5QR1A6IDM0REEgODU4QyAxNDQ3IDUwOUUgQzc3QSAgRDQ5RiBGQjg1IDkwQjcgQzRDQSA1 Mjc5PGJyPjwvZGl2PjxkaXY+U2VudCB3aXRoIFByb3Rvbk1haWwgU2VjdXJlIEVtYWlsPGJyPjwv ZGl2PjxkaXY+PGJyPjwvZGl2Pg0KICAgIDwvZGl2Pg0KDQogICAgICAgICAgICA8ZGl2IGNsYXNz PSJwcm90b25tYWlsX3NpZ25hdHVyZV9ibG9jay1wcm90b24gcHJvdG9ubWFpbF9zaWduYXR1cmVf YmxvY2stZW1wdHkiPg0KDQogICAgICAgICAgICA8L2Rpdj4NCjwvZGl2Pg0KPGRpdiBzdHlsZT0i Zm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE0cHg7Ij48YnI+PC9k aXY+PGRpdiBjbGFzcz0icHJvdG9ubWFpbF9xdW90ZSI+DQogICAgICAgIE9uIE1vbmRheSwgQXVn dXN0IDI1dGgsIDIwMjUgYXQgMTE6MDAsIFN0ZXBoYW4gQWx0aGF1cyAmbHQ7U3RlcGhhbi5BbHRo YXVzQER1ZWRpbmdoYXVzZW4uZXUmZ3Q7IHdyb3RlOjxicj4NCiAgICAgICAgPGJsb2NrcXVvdGUg Y2xhc3M9InByb3Rvbm1haWxfcXVvdGUiIHR5cGU9ImNpdGUiPg0KDQogICAgPGRpdiBjbGFzcz0i bW96LWNpdGUtcHJlZml4Ij5PbiA4LzI1LzI1IDE2OjU2LCBKb25hdGhhbiBWYXNxdWV6DQogICAg ICB3cm90ZTo8YnI+DQogICAgPC9kaXY+DQogICAgPGJsb2NrcXVvdGUgdHlwZT0iY2l0ZSI+DQoN CiAgICAgIDxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjsgZm9udC1z aXplOiAxNHB4OyI+SGV5DQogICAgICAgIFN0ZXBoYW4sPC9kaXY+DQogICAgICA8ZGl2IHN0eWxl PSJmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTRweDsiPjxicj4N CiAgICAgIDwvZGl2Pg0KICAgICAgPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5z LXNlcmlmOyBmb250LXNpemU6IDE0cHg7Ij5ZdXAsDQogICAgICAgIEkndmUgdHJpZWQgcGFzc2lu ZyBib3RoIDMvMC8wIGFuZCAzLzAvMSBhbmQgbm8gZ28sIGFuZCBJIGFsc28NCiAgICAgICAgbWFr ZSBzdXJlIHRvIHJlYm9vdCB0aGUgaG9zdCBpbiBiZXR3ZWVuIHJ1bnMgZHVlIHRvIHRoZSBhbWQN CiAgICAgICAgaGFyZHdhcmUgaXNzdWUuIEkgZG9uJ3QgYmVsaWV2ZSAzLzAvMSBpcyBuZWNlc3Nh cnkgdGhvdWdoIGJhc2VkDQogICAgICAgIG9uIHRoZSBleGFtcGxlcyBieSBDb3J2aW4gaW4gaGlz IHRhbGsuIEhlIG9ubHkgcGFzc2VkIGluIDMvMC8wDQogICAgICAgIChJJ20gZ3Vlc3NpbmcgaGlz IGNhcmQgYWxzbyBoYXMgYSAzLzAvMSBmdW5jdGlvbiB0aGF0IGhlIGlzbid0DQogICAgICAgIHVz aW5nIHNpbmNlIHRoYXQncyB0aGUgYXVkaW8gY2hhbm5lbCkuPC9kaXY+DQogICAgICA8ZGl2IHN0 eWxlPSJmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTRweDsiPjxi cj4NCiAgICAgIDwvZGl2Pg0KICAgICAgPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6IEFyaWFsLCBz YW5zLXNlcmlmOyBmb250LXNpemU6IDE0cHg7IiBjbGFzcz0icHJvdG9ubWFpbF9zaWduYXR1cmVf YmxvY2siPg0KICAgICAgICA8ZGl2IGNsYXNzPSJwcm90b25tYWlsX3NpZ25hdHVyZV9ibG9jay11 c2VyIj4NCiAgICAgICAgICA8ZGl2PkpvbmF0aGFuIFZhc3F1ZXo8YnI+DQogICAgICAgICAgPC9k aXY+DQogICAgICAgICAgPGRpdj5QR1A6IDM0REEgODU4QyAxNDQ3IDUwOUUgQzc3QSBENDlGIEZC ODUgOTBCNyBDNENBIDUyNzk8YnI+DQogICAgICAgICAgPC9kaXY+DQogICAgICAgICAgPGRpdj5T ZW50IHdpdGggUHJvdG9uTWFpbCBTZWN1cmUgRW1haWw8YnI+DQogICAgICAgICAgPC9kaXY+DQog ICAgICAgICAgPGRpdj48YnI+DQogICAgICAgICAgPC9kaXY+DQogICAgICAgIDwvZGl2Pg0KICAg ICAgICA8ZGl2IGNsYXNzPSJwcm90b25tYWlsX3NpZ25hdHVyZV9ibG9jay1wcm90b24gcHJvdG9u bWFpbF9zaWduYXR1cmVfYmxvY2stZW1wdHkiPg0KICAgICAgICA8L2Rpdj4NCiAgICAgIDwvZGl2 Pg0KICAgICAgPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmOyBmb250 LXNpemU6IDE0cHg7Ij48YnI+DQogICAgICA8L2Rpdj4NCiAgICAgIDxkaXYgY2xhc3M9InByb3Rv bm1haWxfcXVvdGUiPiBPbiBNb25kYXksIEF1Z3VzdCAyNXRoLCAyMDI1IGF0DQogICAgICAgIDEw OjUyLCBTdGVwaGFuIEFsdGhhdXMgPGEgY2xhc3M9Im1vei10eHQtbGluay1yZmMyMzk2RSIgaHJl Zj0ibWFpbHRvOlN0ZXBoYW4uQWx0aGF1c0BEdWVkaW5naGF1c2VuLmV1IiByZWw9Im5vcmVmZXJy ZXIgbm9mb2xsb3cgbm9vcGVuZXIiPiZsdDtTdGVwaGFuLkFsdGhhdXNARHVlZGluZ2hhdXNlbi5l dSZndDs8L2E+DQogICAgICAgIHdyb3RlOjxicj4NCiAgICAgICAgPGJsb2NrcXVvdGUgY2xhc3M9 InByb3Rvbm1haWxfcXVvdGUiIHR5cGU9ImNpdGUiPg0KICAgICAgICAgIDxkaXYgY2xhc3M9Im1v ei1jaXRlLXByZWZpeCI+T24gOC8yNS8yNSAxNjo0NywgU3RlcGhhbiBBbHRoYXVzDQogICAgICAg ICAgICB3cm90ZTo8YnI+DQogICAgICAgICAgPC9kaXY+DQogICAgICAgICAgPGJsb2NrcXVvdGUg dHlwZT0iY2l0ZSI+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJtb3otY2l0ZS1wcmVmaXgiPk9u IDgvMjQvMjUgMjM6NTgsIEpvbmF0aGFuDQogICAgICAgICAgICAgIFZhc3F1ZXogd3JvdGU6PGJy Pg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8YmxvY2txdW90ZSB0eXBlPSJjaXRl Ij4NCiAgICAgICAgICAgICAgPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNl cmlmOyBmb250LXNpemU6IDE0cHg7Ij48c3Bhbj5IZXkNCiAgICAgICAgICAgICAgICAgIGFsbCw8 L3NwYW4+PC9kaXY+DQogICAgICAgICAgICAgIDxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OiBBcmlh bCwgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxNHB4OyI+PHNwYW4+PGJyPg0KICAgICAgICAgICAg ICAgIDwvc3Bhbj48L2Rpdj4NCiAgICAgICAgICAgICAgPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6 IEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE0cHg7Ij48c3Bhbj5JJ3ZlDQogICAgICAg ICAgICAgICAgICBiZWVuIGV4cGVyaW1lbnRpbmcgd2l0aCB0cnlpbmcgdG8gZ2V0IG15IHNlcnZl cidzDQogICAgICAgICAgICAgICAgICBkZWRpY2F0ZWQgQU1EIFJhZGVvbiBSWCA2OTAwIFhUIHdv cmtpbmcgb24gYSBiaHl2ZQ0KICAgICAgICAgICAgICAgICAgV2luZG93cyAxMCBQcm8gY2xpZW50 IGZvciBnYW1pbmcgcHVycG9zZXMuIEkndmUgYmVlbg0KICAgICAgICAgICAgICAgICAgcmVhZGlu ZyBhIGJ1bmNoIG9mIGJsb2cgcG9zdHMsIHNpdGVzLCBmaWxlcywgYW5kDQogICAgICAgICAgICAg ICAgICB2aWRlb3MgKHRoYW5rcyBDb3J2aW4pIHRvIHRyeSBhbmQgcGllY2UgdGhpbmdzDQogICAg ICAgICAgICAgICAgICB0b2dldGhlci4gSSd2ZSBiZWVuIGFibGUgdG8gZ2V0IHRoZSBWTSB0byBy ZWNvZ25pemUNCiAgICAgICAgICAgICAgICAgIHRoZSBjYXJkLCBidXQgc3RpbGwgc3R1Y2sgb24g dGhlIENvZGUgNDMgaXNzdWUgKHdpdGgNCiAgICAgICAgICAgICAgICAgIG9yIHdpdGhvdXQgdXNp bmcgdGhlIHZCSU9TIEkndmUgZXh0cmFjdGVkIGZyb20gbXkNCiAgICAgICAgICAgICAgICAgIGRl ZGljYXRlZCBjYXJkIGFuZCBhbHNvIGVuc3VyaW5nIGFueSBvcHRpb25zIG5lZWRlZCB0bw0KICAg ICAgICAgICAgICAgICAgYmUgb24gaW4gdGhlIFVFRkkgc2V0dGluZ3MgYXJlIGVuYWJsZWQpLiBU aGlzIG1hY2hpbmUNCiAgICAgICAgICAgICAgICAgIGlzIHJ1bm5pbmcgb24gYW4gQU1EIFJ5emVu IDkgNzk1MFggMTYtQ29yZSBQcm9jZXNzb3IsDQogICAgICAgICAgICAgICAgICBzbyBpdCdzIGEg ZnVsbCBBTUQgc2V0dXAsIG5vIEludGVsIHN0dWZmLiBJdA0KICAgICAgICAgICAgICAgICAgdGVj aG5pY2FsbHkgc2hvdWxkIGJlIHJlbGF0aXZlbHkgImVhc3kiIHRvIGdldCBBTUQNCiAgICAgICAg ICAgICAgICAgIHdvcmtpbmcgZnJvbSB3aGF0IEkndmUgcmVhZCAoZXhjbHVkaW5nIHRoZSBrbm93 biBBTUQNCiAgICAgICAgICAgICAgICAgIEhhcmR3YXJlIHJlc2V0IGlzc3VlKS4gSSd2ZSBkb2N1 bWVudGVkIGV2ZXJ5dGhpbmcgSSd2ZQ0KICAgICAgICAgICAgICAgICAgZG9uZSBzbyBmYXIsIGFu ZCB3aWxsIGJlIGRvY3VtZW50aW5nIG1vcmUgYW5kDQogICAgICAgICAgICAgICAgICBzaW1wbGlm eWluZyB0aGUgaW5zdHJ1Y3Rpb25zIGFzIEkgbWFrZSBwcm9ncmVzcy4NCiAgICAgICAgICAgICAg ICAgIFBsZWFzZSBsZXQgbWUga25vdyBpZiB5b3Ugc2VlIGFueSB0aGluZyB3ZWlyZCBvcg0KICAg ICAgICAgICAgICAgICAgYW55dGhpbmcgSSBjb3VsZCB0cnkgYmFzZWQgb24gd2hhdCBJJ3ZlIHJl d3JpdHRlbi4NCiAgICAgICAgICAgICAgICAgIEknbGwgdHJ5IHRvIGdpdmUgaXQgYSBnbyBhbmQg cHJvdmlkZSBmZWVkYmFjay4gVGhhbmsNCiAgICAgICAgICAgICAgICAgIHlvdSE8L3NwYW4+PC9k aXY+DQogICAgICAgICAgICAgIDxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1z ZXJpZjsgZm9udC1zaXplOiAxNHB4OyI+PHNwYW4+PGJyPg0KICAgICAgICAgICAgICAgIDwvc3Bh bj48L2Rpdj4NCiAgICAgICAgICAgICAgPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6IEFyaWFsLCBz YW5zLXNlcmlmOyBmb250LXNpemU6IDE0cHg7Ij48c3Bhbj48YSB0YXJnZXQ9Il9ibGFuayIgcmVs PSJub3JlZmVycmVyIG5vZm9sbG93IG5vb3BlbmVyIiBocmVmPSJodHRwczovL3h5aW5uLm9yZy9i bG9nL2ZyZWVic2QvZnJlZWJzZF9iaHl2ZV9ncHVfcGFzc3Rocm91Z2hfYW1kIiBjbGFzcz0ibW96 LXR4dC1saW5rLWZyZWV0ZXh0Ij5odHRwczovL3h5aW5uLm9yZy9ibG9nL2ZyZWVic2QvZnJlZWJz ZF9iaHl2ZV9ncHVfcGFzc3Rocm91Z2hfYW1kPC9hPjwvc3Bhbj48YnI+DQogICAgICAgICAgICAg IDwvZGl2Pg0KICAgICAgICAgICAgICA8ZGl2IHN0eWxlPSJmb250LWZhbWlseTogQXJpYWwsIHNh bnMtc2VyaWY7IGZvbnQtc2l6ZTogMTRweDsiPjxicj4NCiAgICAgICAgICAgICAgPC9kaXY+DQog ICAgICAgICAgICAgIDxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjsg Zm9udC1zaXplOiAxNHB4OyIgY2xhc3M9InByb3Rvbm1haWxfc2lnbmF0dXJlX2Jsb2NrIj4NCiAg ICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm90b25tYWlsX3NpZ25hdHVyZV9ibG9jay11c2Vy Ij4NCiAgICAgICAgICAgICAgICAgIDxkaXY+Sm9uYXRoYW4gVmFzcXVlejxicj4NCiAgICAgICAg ICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgPGRpdj5QR1A6IDM0REEgODU4QyAx NDQ3IDUwOUUgQzc3QSBENDlGIEZCODUgOTBCNyBDNENBDQogICAgICAgICAgICAgICAgICAgIDUy Nzk8YnI+DQogICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgIDxkaXY+ U2VudCB3aXRoIFByb3Rvbk1haWwgU2VjdXJlIEVtYWlsPGJyPg0KICAgICAgICAgICAgICAgICAg PC9kaXY+DQogICAgICAgICAgICAgICAgICA8ZGl2Pjxicj4NCiAgICAgICAgICAgICAgICAgIDwv ZGl2Pg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9 InByb3Rvbm1haWxfc2lnbmF0dXJlX2Jsb2NrLXByb3RvbiBwcm90b25tYWlsX3NpZ25hdHVyZV9i bG9jay1lbXB0eSI+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgIDwvZGl2 Pg0KICAgICAgICAgICAgPC9ibG9ja3F1b3RlPg0KICAgICAgICAgICAgPHA+SGkhPC9wPg0KICAg ICAgICAgICAgPHA+aSBoYXZlIGEgQU1EIFJYNjQwMCBHUFUgc2V0dXAgcnVubmluZyBvbiAxNC4y IHdpdGggd2luMTANCiAgICAgICAgICAgICAgZ3Vlc3QsIGhvc3QgaXMgYSBpbnRlbCBzeXN0ZW0u PC9wPg0KICAgICAgICAgICAgPHA+aSB0aGluayB5b3UgaGF2ZSB0byBwYXNzdGhyb3VnaCB0aGUg My8wLzEgZGV2aWNlIGFzIHdlbGwhPC9wPg0KICAgICAgICAgICAgPHA+VGhlIGJpb3Mucm9tIGlz IGV4dHJhY3RlZCBmcm9tIHRoaXMgY2FyZCBpbiBwbGFjZSA/PC9wPg0KICAgICAgICAgICAgPHA+ PGJyPg0KICAgICAgICAgICAgPC9wPg0KICAgICAgICAgICAgPHA+UmVnYXJkcyw8YnI+DQogICAg ICAgICAgICAgIFN0ZXBoYW48L3A+DQogICAgICAgICAgICA8cD48YnI+DQogICAgICAgICAgICA8 L3A+DQogICAgICAgICAgPC9ibG9ja3F1b3RlPg0KICAgICAgICAgIDxwPkFoLCBhbmQgYmUgc2h1 cmUgdG8gcmVib290IHRoZSB3aG9sZSBzZXR1cCwgaW5jbHVzaXZlIGhvc3QsDQogICAgICAgICAg ICBmb3IgZXZlcnkgbmV3IHRlc3QtY2FzZSwgPGJyPg0KICAgICAgICAgICAgYXQgbGVhc3QgYXMg bG9uZyBhdCBpcyBub3QgZ3VhcmFudGVlZCB0aGF0IHdlIGNhbiBsaXZlDQogICAgICAgICAgICB3 aXRob3V0Li48L3A+DQogICAgICAgICAgPHA+UmVnYXJzLDxicj4NCiAgICAgICAgICAgIFN0ZXBo YW48L3A+DQogICAgICAgICAgPHA+PGJyPg0KICAgICAgICAgIDwvcD4NCiAgICAgICAgPC9ibG9j a3F1b3RlPg0KICAgICAgICA8YnI+DQogICAgICA8L2Rpdj4NCiAgICA8L2Jsb2NrcXVvdGU+DQog ICAgPHA+SGkhPC9wPg0KICAgIDxwPk15IG9ubHkgbmV4dCBhc3N1bXB0aW9uIHdvdWxkIGJlIHRo YXQgdGhpcyBvbmx5IGRvZXMgbm90IHdvcmsgb24NCiAgICAgIEFNRCBob3N0LjwvcD4NCiAgICA8 cD5Zb3UgZG9uJ3QgaGF2ZSBhbiBpbnRlbCBzeXN0ZW0gdG8gdGVzdCwgeW91IHdvdWxkIGhhdmVk b25lIGl0LCBpZg0KICAgICAgc28uLiAoPyk8L3A+DQogICAgPHA+U3RlcGhhbjwvcD4NCiAgICA8 cD48YnI+DQogICAgPC9wPg0KDQoNCg0KICAgICAgICA8L2Jsb2NrcXVvdGU+PGJyPg0KICAgIDwv ZGl2Pg0KICAgICAgICA8L2Jsb2NrcXVvdGU+PGJyPg0KICAgIDwvZGl2Pg== --b1=_mVMeHb80Qdptan8pfuG85DypK0fxHjixcexlF9d0ek-- From nobody Mon Aug 25 18:36:43 2025 X-Original-To: virtualization@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4c9fdv38Flz65RHp for ; Mon, 25 Aug 2025 18:36:51 +0000 (UTC) (envelope-from rcocker87@gmail.com) Received: from mail-pg1-x533.google.com (mail-pg1-x533.google.com [IPv6:2607:f8b0:4864:20::533]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "WR4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4c9fdv0xFQz44y2 for ; Mon, 25 Aug 2025 18:36:51 +0000 (UTC) (envelope-from rcocker87@gmail.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-pg1-x533.google.com with SMTP id 41be03b00d2f7-b49db86cac4so1129243a12.3 for ; Mon, 25 Aug 2025 11:36:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1756147005; x=1756751805; darn=freebsd.org; h=mime-version:content-language:accept-language:in-reply-to :references:message-id:date:thread-index:thread-topic:subject:cc:to :from:from:to:cc:subject:date:message-id:reply-to; bh=D/Bk8lp1c9ZJdj6A3OQfmeaUGLUR/UDYHIXJGcCgcLk=; b=eM3Zg5yg5JgyZgMmVpUbPRh86Rjiw8R5iAX92AYEXB7OM7SiEKVLfq3nIeUiFJEbT3 JTcZ+wlvrfEF0OaIeUvJH4J7qzXhW3JN6emblYGK/MzUASSOo7tJgeBKVEzTPlsHDRYg wwOKZTAujYMoqLVVcdjXAW7G98uW1rs6fmodLpq+LaTt27qgijpbpg7lgrXc0vDL9wYj 1x0qCoXmlPX9fqAffyM4H25eCbyzd4CSDZ9iO4Hrc+kwXnS9LYbkcG5oNqlo6lL5I+SK NLfSpTwqkeEzR3eF26tDXgc6seYACd37JtbDOSP7pvOGsn61keoQlrn9KDy1RM42C1Hx gplw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1756147005; x=1756751805; h=mime-version:content-language:accept-language:in-reply-to :references:message-id:date:thread-index:thread-topic:subject:cc:to :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=D/Bk8lp1c9ZJdj6A3OQfmeaUGLUR/UDYHIXJGcCgcLk=; b=iZFc3pwYmm5UuDV0ckRpVd8HXqs+lZjRFwxaplMSsHw8PoUAr9wjkwYNMaYR1SjTg6 ED4Bz+v5aISkutCIJwavuqXSlKXGnafeF+mRaREkrGA3JW0LeTqZwxqe6ljsdRlVk2+6 PRrC6LMr6+JCRPl20ym8DJBWwvI0NEkF0BT35/fSxR/AgFb3GcaONxb84EHdkrkw73FD DYr2Mc8pjx+pziyj+juUfbndgHuzudUN840A8Qgmwn0QBCYWXKyzwXZI39pLmShpTmnE 2/LjYaoEb5F+/ICkXQ/8dpX9aDXk29qAcRxPKwLcMbY0aittJJxSvszNo1PdgvE+TsIe 1KmQ== X-Forwarded-Encrypted: i=1; AJvYcCUi+8Y46dv17CWFJKBezCRxLy5CyJZEOc4NuGWHRxRwBb2IadqMr6clxAlkAWYnNSscw2T4j7wcOlwdFMT9kw==@freebsd.org X-Gm-Message-State: AOJu0YyupMzCoTTRXthbkqm2ZcZMvEA/TG9QHUSl/HAaeWw9fGtZCfcF sAu0MXr+3W8nNdORY7xudRA8z8fyK/5E9OzO+YWIaVaXB92b5LZ/DZhGL4Mp32HWvCA= X-Gm-Gg: ASbGncsAZftN7GPRD4gLeTFerySUYPXEMAOximm80SvqYxZI1JE7gHLs+Jdn8JnQA2e YastTD4h3Y4qh2NTvtIOgSbVDZM9Cq2+PO0MuZGCmGh44lfidoJCu1kWhCkI+4Ye6fmSAwZyPGc VJWarnvKdifSugHHsqFwPKrTMQuJOX9NW9tHnDjxUqBloscbZdKAswrHf1MjHQNxcEu/HgZcDF5 4vNcNB/3Ekkc0Xb0xVPJYj8aN7aXjlsfTfw5cG7qFEceocTB89eyFxsSmEURJ8ezF0TVOoNQZjc mLYbkZUcb9RtG4Bt4UFchvQcvKWuuDI8M4znRlBFjfAM306gGZ4d32GiWbNJKv1gVHu0Oigg1vz 3R9l2hRPUCUsyBhYB4UHpB9WRcj1jqKZUfMbwk4V0Bzib/E9XRmKSP3WWF6IR1bFHBd/NpxLVcS h5MiUrU0JkSng= X-Google-Smtp-Source: AGHT+IGdvqim6Q/FVy2nZ4pKvEGmz6HtKgxQ7gWBYjrXftwKnN6K3PDGu5aFsf6lcf0vQLV0/lTLRw== X-Received: by 2002:a17:903:1acc:b0:246:6442:19e4 with SMTP id d9443c01a7336-246644231c4mr120495945ad.58.1756147004807; Mon, 25 Aug 2025 11:36:44 -0700 (PDT) Received: from MN2PR20MB3168.namprd20.prod.outlook.com ([2603:1036:302:40c1::5]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-246687cedb2sm74712365ad.68.2025.08.25.11.36.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 25 Aug 2025 11:36:44 -0700 (PDT) From: Robert Cocker To: Jonathan Vasquez CC: Stephan Althaus , "virtualization@freebsd.org" Subject: Re: GPU Passthrough on FreeBSD 14.3 (AMD Radeon RX 6900 XT and Windows 10 Pro) Thread-Topic: GPU Passthrough on FreeBSD 14.3 (AMD Radeon RX 6900 XT and Windows 10 Pro) Thread-Index: AT1TNVBXRfMw9Ff3IgSoFHlnPgAjgDI1ZjRmYzJiNGE9SldQT2RkNzQ0PXJDRGg9UFB1Ma/2rErs X-MS-Exchange-MessageSentRepresentingType: 1 Date: Mon, 25 Aug 2025 18:36:43 +0000 Message-ID: References: <6CV-OY6BcErrWRit9jSpi6fWsYBG3E_Z3u6eTLPcz6foPAZV1gQpZYaZTR7JA_1ot5RQVqrWQaLxJFySXjspIhSbBJGxmckcDQyzxhALNus=@xyinn.org> <98007d7f-427e-461a-adf1-7cb55f777662@Duedinghausen.eu> <9573a65a-ef25-416b-a5b6-e49b28c6086c@Duedinghausen.eu> <8e7f6904-8188-4941-827b-c874d5da586d@Duedinghausen.eu> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-Exchange-Organization-SCL: -1 X-MS-TNEF-Correlator: X-MS-Exchange-Organization-RecordReviewCfmType: 0 x-ms-reactions: allow Content-Type: multipart/alternative; boundary="_000_MN2PR20MB3168842FD4AAADEB8A29DC5DFE3EAMN2PR20MB3168namp_" List-Id: Discussion List-Archive: https://lists.freebsd.org/archives/freebsd-virtualization List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: freebsd-virtualization@freebsd.org Sender: owner-freebsd-virtualization@FreeBSD.org MIME-Version: 1.0 X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Rspamd-Queue-Id: 4c9fdv0xFQz44y2 --_000_MN2PR20MB3168842FD4AAADEB8A29DC5DFE3EAMN2PR20MB3168namp_ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGV5IGdyb3VwIGhhcyBiaHZ5ZSBjb3JlIGRldiBiYWtlZCBvdXQgYW4gdXBkYXRlIGZvciB0aGlz DQoNClJvYmVydA0KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCkZyb206IG93bmVy LWZyZWVic2QtdmlydHVhbGl6YXRpb25ARnJlZUJTRC5vcmcgPG93bmVyLWZyZWVic2QtdmlydHVh bGl6YXRpb25ARnJlZUJTRC5vcmc+IG9uIGJlaGFsZiBvZiBKb25hdGhhbiBWYXNxdWV6IDxqb25A eHlpbm4ub3JnPg0KU2VudDogTW9uZGF5LCBBdWd1c3QgMjUsIDIwMjUgMTE6MzU6MzEgQU0NClRv OiBKb25hdGhhbiBWYXNxdWV6IDxqb25AeHlpbm4ub3JnPg0KQ2M6IFN0ZXBoYW4gQWx0aGF1cyA8 U3RlcGhhbi5BbHRoYXVzQER1ZWRpbmdoYXVzZW4uZXU+OyB2aXJ0dWFsaXphdGlvbkBmcmVlYnNk Lm9yZyA8dmlydHVhbGl6YXRpb25AZnJlZWJzZC5vcmc+DQpTdWJqZWN0OiBSZTogR1BVIFBhc3N0 aHJvdWdoIG9uIEZyZWVCU0QgMTQuMyAoQU1EIFJhZGVvbiBSWCA2OTAwIFhUIGFuZCBXaW5kb3dz IDEwIFBybykNCg0KSSB3YXMgYWJsZSB0byBnZXQgYSBmcmVzaCBXaW4gMTAgUHJvIFZNIHJ1bm5p bmcgdGhyb3VnaCB2bS1iaHl2ZSBidXQgbm8gcHJvZ3Jlc3MuIFN0aWxsIHNhbWUgQ29kZSA0MyBl cnJvciBhcyBiZWZvcmUuIEkgd2Fzbid0IGFibGUgdG8gZmlndXJlIG91dCBob3cgdG8gcGFzcyB0 aGUgcm9tPWJpb3Mucm9t4oCLIHRocm91Z2ggdm0tYmh5dmUsIEkgZGlkbid0IHNlZSBhbnl0aGlu ZyBhYm91dCBpdCBpbiB0aGUgY29uZmlnLnNhbXBsZSBmaWxlIGFuZCBJIGFsc28gdHJpZWQgdG8g YnlwYXNzIHRoYXQgYnkgYWRkaW5nIGl0IGluIGJoeXZlX29wdGlvbnMgYnV0IG5vIGdvLCB0aGUg Vk0gd291bGRuJ3QgZXZlbiBzdGFydCBpZiBJIGRpZCB0aGF0LiBJIHNlZSB0aGVyZSBpcyBhICJi aHl2ZV9kZXZpY2VzIiB0aGF0IGNvbnRhaW5zIGFsbCBvZiB0aGUgc2xvdCBkZXZpY2VzIGJ1dCBJ IGRvbid0IHNlZSB0aGF0IGFzIGFuIGFkanVzdGFibGUgdmFyaWFibGUgYmFzZWQgb24gdGhlIGNv bmZpZy5zYW1wbGUgaW5mby4gSSd2ZSBwYXN0ZWQgbXkgY3VycmVudCB2bS1iaHl2ZSB0ZW1wbGF0 ZSBiZWxvdy4gTXkgbmV4dCB0ZXN0IGlzIHRvIHRyeSB0aGUgc2FtZSB0aGluZyBpbnNpZGUgYSBM aW51eCBndWVzdCB0byBzZWUgd2hhdCBoYXBwZW5zLg0KDQotLS0tLS0tLS0tLS0tLS0tDQoNCmxv YWRlcj0idWVmaSINCmNwdT0iNCINCmNwdV9zb2NrZXRzPSIxIg0KY3B1X2NvcmVzPSI0Ig0KY3B1 X3RocmVhZHM9IjEiDQptZW1vcnk9IjE2RyINCndpcmVkX21lbW9yeT0ieWVzIg0KDQp1dGN0aW1l PSJubyINCmFoY2lfZGV2aWNlX2xpbWl0PSI4Ig0KDQpkaXNrMF90eXBlPSJudm1lIg0KZGlzazBf bmFtZT0iZGlzazAuaW1nIg0KDQpuZXR3b3JrMF90eXBlPSJlMTAwMCINCm5ldHdvcmswX3N3aXRj aD0icHVibGljIg0KDQpwYXNzdGhydTA9IjMvMC8wPTI6MCINCnBhc3N0aHJ1MT0iMy8wLzE9Mjox Ig0KDQojYmh5dmVfb3B0aW9ucz0iLXMgMjowLHBhc3N0aHJ1LDMvMC8wLHJvbT1iaW9zLnJvbSIN Cg0KIyBVc2luZyBSRFAgcG9zdC1pbnN0YWxsLg0KZ3JhcGhpY3M9Im5vIg0KZ3JhcGhpY3NfcG9y dD0iNTkwMCINCmdyYXBoaWNzX2xpc3Rlbj0iMC4wLjAuMCINCmdyYXBoaWNzX3Jlcz0iMTkyMHgx MDgwIg0KZ3JhcGhpY3Nfd2FpdD0ieWVzIg0KDQp4aGNpX21vdXNlPSJ5ZXMiDQp1dWlkPSI1MzVk NTRiNS04MWNiLTExZjAtOTNhMi05OGI3ODUwMWJkYTgiDQpuZXR3b3JrMF9tYWM9IjU4OjljOmZj OjA0OjVhOmViIg0KDQotLS0tLS0tLS0tLS0tLS0tDQoNCkpvbmF0aGFuIFZhc3F1ZXoNClBHUDog MzREQSA4NThDIDE0NDcgNTA5RSBDNzdBIEQ0OUYgRkI4NSA5MEI3IEM0Q0EgNTI3OQ0KU2VudCB3 aXRoIFByb3Rvbk1haWwgU2VjdXJlIEVtYWlsDQoNCg0KT24gTW9uZGF5LCBBdWd1c3QgMjV0aCwg MjAyNSBhdCAxMTowNSwgSm9uYXRoYW4gVmFzcXVleiA8am9uQHh5aW5uLm9yZz4gd3JvdGU6DQpV bmZvcnR1bmF0ZWx5IEkgZG9uJ3QgaGF2ZSBhbiBpbnRlbCBtYWNoaW5lIHdpdGggYW4gYXZhaWxh YmxlIFBDSWUgc2xvdC4gSG93ZXZlciBJJ20gdHJ5aW5nIGFub3RoZXIgdGhpbmcgd2hpY2ggaXMg dG8gcGFzc3Rocm91Z2ggdGhlIGNhcmQgdG8gYSBMaW51eCBndWVzdC4gSSBuZWVkIHRvIHJ1biBt b3JlIGV4cGVyaW1lbnRzIGJ1dCBhIHByZWxpbWluYXJ5IGJvb3Qgb2YgYSBMaW51eCBNaW50IElT TyBkaWQgc2hvdyB0aGUgQU1EIFJhZGVvbiBSWCA2OTAwIFhUIGNhcmQgaW4gbHNwY2nigIsgYW5k IHNob3dlZCB0aGF0IGl0IHdhcyB1c2luZyB0aGUgYW1kZ3B14oCLIGRyaXZlci4gSSB0aGVuIGRp ZCBhIGJhc2ljIGdseGdlYXJz4oCLIGFuZCBpdCBvcGVuZWQgdXAgaW4gbXkgVk5DIHdpbmRvdyBh bmQgc2hvd2VkIHRoZSBGUFMgY291bnRlciBhdCBvdmVyIDIwMDAgZnBzLiBUaGUgb25seSBpc3N1 ZSBJIG5vdGljZWQgd2FzIHdoZW4gc2h1dHRpbmcgZG93biB0aGUgbGl2ZSBDRCBlbnZpcm9ubWVu dCB0aGVyZSB3ZXJlIGFtZGdwdeKAiyBmYWlsdXJlIG1lc3NhZ2VzIHdoZXJlIGl0IHdhcyBmYWls aW5nIHRvIHdyaXRlIHNvbWV0aGluZyB0byBpdC4gSSdtIGN1cnJlbnRseSByZWRvaW5nIG15ICJi YXNpYyBiaHl2ZSBzY3JpcHQiIGFuZCBtb3ZpbmcgaXQgb3ZlciB0byAidm0tYmh5dmUiIHNpbmNl IGl0IHNlZW1zIGEgbG90IG9mIHBlb3BsZSBhcmUgdXNpbmcgdGhhdCBpbnN0ZWFkIG9mIHRoZSBt b3JlIG1hbnVhbCBhcHByb2FjaC4gVGhpcyBzaG91bGQgaG9wZWZ1bGx5IGhlbHAgc2ltcGxpZnkg dGhpbmdzIGZvciBkZWJ1Z2dpbmcuIElmIHRoZSBjYXJkIHdvcmtzIG9uIExpbnV4IHZpYSBwYXNz dGhyb3VnaCB0aGlzIHdvdWxkIGFsc28gYmUgdXNlZnVsIGluZm8gYW5kIGNhbiBhbGxvdyBtZSB0 byBzZWUgdGhlIHBlcmZvcm1hbmNlIG9mIEN5cGVycHVuayAyMDc3LCBhbmQgc29tZSBvdGhlciBn YW1lcyAoZXZlbiBpZiBJJ20gbm90IGdldHRpbmcgMTAwJSBvZiB0aGUgY2FyZCdzIHBlcmZvcm1h bmNlKS4NCg0KSm9uYXRoYW4gVmFzcXVleg0KUEdQOiAzNERBIDg1OEMgMTQ0NyA1MDlFIEM3N0Eg RDQ5RiBGQjg1IDkwQjcgQzRDQSA1Mjc5DQpTZW50IHdpdGggUHJvdG9uTWFpbCBTZWN1cmUgRW1h aWwNCg0KDQpPbiBNb25kYXksIEF1Z3VzdCAyNXRoLCAyMDI1IGF0IDExOjAwLCBTdGVwaGFuIEFs dGhhdXMgPFN0ZXBoYW4uQWx0aGF1c0BEdWVkaW5naGF1c2VuLmV1PiB3cm90ZToNCk9uIDgvMjUv MjUgMTY6NTYsIEpvbmF0aGFuIFZhc3F1ZXogd3JvdGU6DQpIZXkgU3RlcGhhbiwNCg0KWXVwLCBJ J3ZlIHRyaWVkIHBhc3NpbmcgYm90aCAzLzAvMCBhbmQgMy8wLzEgYW5kIG5vIGdvLCBhbmQgSSBh bHNvIG1ha2Ugc3VyZSB0byByZWJvb3QgdGhlIGhvc3QgaW4gYmV0d2VlbiBydW5zIGR1ZSB0byB0 aGUgYW1kIGhhcmR3YXJlIGlzc3VlLiBJIGRvbid0IGJlbGlldmUgMy8wLzEgaXMgbmVjZXNzYXJ5 IHRob3VnaCBiYXNlZCBvbiB0aGUgZXhhbXBsZXMgYnkgQ29ydmluIGluIGhpcyB0YWxrLiBIZSBv bmx5IHBhc3NlZCBpbiAzLzAvMCAoSSdtIGd1ZXNzaW5nIGhpcyBjYXJkIGFsc28gaGFzIGEgMy8w LzEgZnVuY3Rpb24gdGhhdCBoZSBpc24ndCB1c2luZyBzaW5jZSB0aGF0J3MgdGhlIGF1ZGlvIGNo YW5uZWwpLg0KDQpKb25hdGhhbiBWYXNxdWV6DQpQR1A6IDM0REEgODU4QyAxNDQ3IDUwOUUgQzc3 QSBENDlGIEZCODUgOTBCNyBDNENBIDUyNzkNClNlbnQgd2l0aCBQcm90b25NYWlsIFNlY3VyZSBF bWFpbA0KDQoNCk9uIE1vbmRheSwgQXVndXN0IDI1dGgsIDIwMjUgYXQgMTA6NTIsIFN0ZXBoYW4g QWx0aGF1cyA8U3RlcGhhbi5BbHRoYXVzQER1ZWRpbmdoYXVzZW4uZXU+PG1haWx0bzpTdGVwaGFu LkFsdGhhdXNARHVlZGluZ2hhdXNlbi5ldT4gd3JvdGU6DQpPbiA4LzI1LzI1IDE2OjQ3LCBTdGVw aGFuIEFsdGhhdXMgd3JvdGU6DQpPbiA4LzI0LzI1IDIzOjU4LCBKb25hdGhhbiBWYXNxdWV6IHdy b3RlOg0KSGV5IGFsbCwNCg0KSSd2ZSBiZWVuIGV4cGVyaW1lbnRpbmcgd2l0aCB0cnlpbmcgdG8g Z2V0IG15IHNlcnZlcidzIGRlZGljYXRlZCBBTUQgUmFkZW9uIFJYIDY5MDAgWFQgd29ya2luZyBv biBhIGJoeXZlIFdpbmRvd3MgMTAgUHJvIGNsaWVudCBmb3IgZ2FtaW5nIHB1cnBvc2VzLiBJJ3Zl IGJlZW4gcmVhZGluZyBhIGJ1bmNoIG9mIGJsb2cgcG9zdHMsIHNpdGVzLCBmaWxlcywgYW5kIHZp ZGVvcyAodGhhbmtzIENvcnZpbikgdG8gdHJ5IGFuZCBwaWVjZSB0aGluZ3MgdG9nZXRoZXIuIEkn dmUgYmVlbiBhYmxlIHRvIGdldCB0aGUgVk0gdG8gcmVjb2duaXplIHRoZSBjYXJkLCBidXQgc3Rp bGwgc3R1Y2sgb24gdGhlIENvZGUgNDMgaXNzdWUgKHdpdGggb3Igd2l0aG91dCB1c2luZyB0aGUg dkJJT1MgSSd2ZSBleHRyYWN0ZWQgZnJvbSBteSBkZWRpY2F0ZWQgY2FyZCBhbmQgYWxzbyBlbnN1 cmluZyBhbnkgb3B0aW9ucyBuZWVkZWQgdG8gYmUgb24gaW4gdGhlIFVFRkkgc2V0dGluZ3MgYXJl IGVuYWJsZWQpLiBUaGlzIG1hY2hpbmUgaXMgcnVubmluZyBvbiBhbiBBTUQgUnl6ZW4gOSA3OTUw WCAxNi1Db3JlIFByb2Nlc3Nvciwgc28gaXQncyBhIGZ1bGwgQU1EIHNldHVwLCBubyBJbnRlbCBz dHVmZi4gSXQgdGVjaG5pY2FsbHkgc2hvdWxkIGJlIHJlbGF0aXZlbHkgImVhc3kiIHRvIGdldCBB TUQgd29ya2luZyBmcm9tIHdoYXQgSSd2ZSByZWFkIChleGNsdWRpbmcgdGhlIGtub3duIEFNRCBI YXJkd2FyZSByZXNldCBpc3N1ZSkuIEkndmUgZG9jdW1lbnRlZCBldmVyeXRoaW5nIEkndmUgZG9u ZSBzbyBmYXIsIGFuZCB3aWxsIGJlIGRvY3VtZW50aW5nIG1vcmUgYW5kIHNpbXBsaWZ5aW5nIHRo ZSBpbnN0cnVjdGlvbnMgYXMgSSBtYWtlIHByb2dyZXNzLiBQbGVhc2UgbGV0IG1lIGtub3cgaWYg eW91IHNlZSBhbnkgdGhpbmcgd2VpcmQgb3IgYW55dGhpbmcgSSBjb3VsZCB0cnkgYmFzZWQgb24g d2hhdCBJJ3ZlIHJld3JpdHRlbi4gSSdsbCB0cnkgdG8gZ2l2ZSBpdCBhIGdvIGFuZCBwcm92aWRl IGZlZWRiYWNrLiBUaGFuayB5b3UhDQoNCmh0dHBzOi8veHlpbm4ub3JnL2Jsb2cvZnJlZWJzZC9m cmVlYnNkX2JoeXZlX2dwdV9wYXNzdGhyb3VnaF9hbWQNCg0KSm9uYXRoYW4gVmFzcXVleg0KUEdQ OiAzNERBIDg1OEMgMTQ0NyA1MDlFIEM3N0EgRDQ5RiBGQjg1IDkwQjcgQzRDQSA1Mjc5DQpTZW50 IHdpdGggUHJvdG9uTWFpbCBTZWN1cmUgRW1haWwNCg0KDQpIaSENCg0KaSBoYXZlIGEgQU1EIFJY NjQwMCBHUFUgc2V0dXAgcnVubmluZyBvbiAxNC4yIHdpdGggd2luMTAgZ3Vlc3QsIGhvc3QgaXMg YSBpbnRlbCBzeXN0ZW0uDQoNCmkgdGhpbmsgeW91IGhhdmUgdG8gcGFzc3Rocm91Z2ggdGhlIDMv MC8xIGRldmljZSBhcyB3ZWxsIQ0KDQpUaGUgYmlvcy5yb20gaXMgZXh0cmFjdGVkIGZyb20gdGhp cyBjYXJkIGluIHBsYWNlID8NCg0KDQpSZWdhcmRzLA0KU3RlcGhhbg0KDQoNCkFoLCBhbmQgYmUg c2h1cmUgdG8gcmVib290IHRoZSB3aG9sZSBzZXR1cCwgaW5jbHVzaXZlIGhvc3QsIGZvciBldmVy eSBuZXcgdGVzdC1jYXNlLA0KYXQgbGVhc3QgYXMgbG9uZyBhdCBpcyBub3QgZ3VhcmFudGVlZCB0 aGF0IHdlIGNhbiBsaXZlIHdpdGhvdXQuLg0KDQpSZWdhcnMsDQpTdGVwaGFuDQoNCg0KDQpIaSEN Cg0KTXkgb25seSBuZXh0IGFzc3VtcHRpb24gd291bGQgYmUgdGhhdCB0aGlzIG9ubHkgZG9lcyBu b3Qgd29yayBvbiBBTUQgaG9zdC4NCg0KWW91IGRvbid0IGhhdmUgYW4gaW50ZWwgc3lzdGVtIHRv IHRlc3QsIHlvdSB3b3VsZCBoYXZlZG9uZSBpdCwgaWYgc28uLiAoPykNCg0KU3RlcGhhbg0KDQoN Cg0K --_000_MN2PR20MB3168842FD4AAADEB8A29DC5DFE3EAMN2PR20MB3168namp_ Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: base64 PGh0bWw+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0i dGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjwvaGVhZD4NCjxib2R5Pg0KPGRpdiBzdHlsZT0i Zm9udC1mYW1pbHk6IEFwdG9zLCAtYXBwbGUtc3lzdGVtLCBIZWx2ZXRpY2FOZXVlLCBzYW5zLXNl cmlmO2ZvbnQtc2l6ZTogMTJwdCI+DQo8ZGl2IHN0eWxlPSJmb250LWZhbWlseTogQXB0b3MsIEFw dG9zX01TRm9udFNlcnZpY2UsIC1hcHBsZS1zeXN0ZW0sIFJvYm90bywgQXJpYWwsIEhlbHZldGlj YSwgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMnB0OyIgZGlyPSJsdHIiPg0KSGV5IGdyb3VwIGhh cyBiaHZ5ZSBjb3JlIGRldiBiYWtlZCBvdXQgYW4gdXBkYXRlIGZvciB0aGlzJm5ic3A7PC9kaXY+ DQo8L2Rpdj4NCjxkaXYgaWQ9Im1zLW91dGxvb2stbW9iaWxlLWJvZHktc2VwYXJhdG9yLWxpbmUi IHN0eWxlPSJmb250LWZhbWlseTogQXB0b3MsIC1hcHBsZS1zeXN0ZW0sIEhlbHZldGljYU5ldWUs IHNhbnMtc2VyaWY7Zm9udC1zaXplOiAxMnB0IiBkaXI9ImF1dG8iPg0KPGJyPg0KPC9kaXY+DQo8 ZGl2IGlkPSJtcy1vdXRsb29rLW1vYmlsZS1zaWduYXR1cmUiIHN0eWxlPSJmb250LWZhbWlseTog QXB0b3MsIC1hcHBsZS1zeXN0ZW0sIEhlbHZldGljYU5ldWUsIHNhbnMtc2VyaWY7Zm9udC1zaXpl OiAxMnB0Ij4NCjxkaXYgZGlyPSJsdHIiPlJvYmVydDwvZGl2Pg0KPC9kaXY+DQo8aHIgc3R5bGU9 ImRpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjk4JSIgdGFiaW5kZXg9Ii0xIj4NCjxkaXYgaWQ9 ImRpdlJwbHlGd2RNc2ciIGRpcj0ibHRyIj48Zm9udCBmYWNlPSJDYWxpYnJpLCBzYW5zLXNlcmlm IiBzdHlsZT0iZm9udC1zaXplOjExcHQiIGNvbG9yPSIjMDAwMDAwIj48Yj5Gcm9tOjwvYj4gb3du ZXItZnJlZWJzZC12aXJ0dWFsaXphdGlvbkBGcmVlQlNELm9yZyAmbHQ7b3duZXItZnJlZWJzZC12 aXJ0dWFsaXphdGlvbkBGcmVlQlNELm9yZyZndDsgb24gYmVoYWxmIG9mIEpvbmF0aGFuIFZhc3F1 ZXogJmx0O2pvbkB4eWlubi5vcmcmZ3Q7PGJyPg0KPGI+U2VudDo8L2I+IE1vbmRheSwgQXVndXN0 IDI1LCAyMDI1IDExOjM1OjMxIEFNPGJyPg0KPGI+VG86PC9iPiBKb25hdGhhbiBWYXNxdWV6ICZs dDtqb25AeHlpbm4ub3JnJmd0Ozxicj4NCjxiPkNjOjwvYj4gU3RlcGhhbiBBbHRoYXVzICZsdDtT dGVwaGFuLkFsdGhhdXNARHVlZGluZ2hhdXNlbi5ldSZndDs7IHZpcnR1YWxpemF0aW9uQGZyZWVi c2Qub3JnICZsdDt2aXJ0dWFsaXphdGlvbkBmcmVlYnNkLm9yZyZndDs8YnI+DQo8Yj5TdWJqZWN0 OjwvYj4gUmU6IEdQVSBQYXNzdGhyb3VnaCBvbiBGcmVlQlNEIDE0LjMgKEFNRCBSYWRlb24gUlgg NjkwMCBYVCBhbmQgV2luZG93cyAxMCBQcm8pPC9mb250Pg0KPGRpdj4mbmJzcDs8L2Rpdj4NCjwv ZGl2Pg0KPGRpdj4NCjxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OkFyaWFsLHNhbnMtc2VyaWY7IGZv bnQtc2l6ZToxNHB4Ij5JIHdhcyBhYmxlIHRvIGdldCBhIGZyZXNoIFdpbiAxMCBQcm8gVk0gcnVu bmluZyB0aHJvdWdoIHZtLWJoeXZlIGJ1dCBubyBwcm9ncmVzcy4gU3RpbGwgc2FtZSBDb2RlIDQz IGVycm9yIGFzIGJlZm9yZS4gSSB3YXNuJ3QgYWJsZSB0byBmaWd1cmUgb3V0IGhvdyB0byBwYXNz IHRoZQ0KPGNvZGU+cm9tPWJpb3Mucm9tPC9jb2RlPuKAiyB0aHJvdWdoIHZtLWJoeXZlLCBJIGRp ZG4ndCBzZWUgYW55dGhpbmcgYWJvdXQgaXQgaW4gdGhlIGNvbmZpZy5zYW1wbGUgZmlsZSBhbmQg SSBhbHNvIHRyaWVkIHRvIGJ5cGFzcyB0aGF0IGJ5IGFkZGluZyBpdCBpbiBiaHl2ZV9vcHRpb25z IGJ1dCBubyBnbywgdGhlIFZNIHdvdWxkbid0IGV2ZW4gc3RhcnQgaWYgSSBkaWQgdGhhdC4gSSBz ZWUgdGhlcmUgaXMgYSAmcXVvdDtiaHl2ZV9kZXZpY2VzJnF1b3Q7IHRoYXQgY29udGFpbnMNCiBh bGwgb2YgdGhlIHNsb3QgZGV2aWNlcyBidXQgSSBkb24ndCBzZWUgdGhhdCBhcyBhbiBhZGp1c3Rh YmxlIHZhcmlhYmxlIGJhc2VkIG9uIHRoZSBjb25maWcuc2FtcGxlIGluZm8uIEkndmUgcGFzdGVk IG15IGN1cnJlbnQgdm0tYmh5dmUgdGVtcGxhdGUgYmVsb3cuIE15IG5leHQgdGVzdCBpcyB0byB0 cnkgdGhlIHNhbWUgdGhpbmcgaW5zaWRlIGEgTGludXggZ3Vlc3QgdG8gc2VlIHdoYXQgaGFwcGVu cy48L2Rpdj4NCjxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OkFyaWFsLHNhbnMtc2VyaWY7IGZvbnQt c2l6ZToxNHB4Ij48YnI+DQo8L2Rpdj4NCjxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OkFyaWFsLHNh bnMtc2VyaWY7IGZvbnQtc2l6ZToxNHB4Ij4tLS0tLS0tLS0tLS0tLS0tPC9kaXY+DQo8ZGl2IHN0 eWxlPSJmb250LWZhbWlseTpBcmlhbCxzYW5zLXNlcmlmOyBmb250LXNpemU6MTRweCI+PGJyPg0K PC9kaXY+DQo8ZGl2IHN0eWxlPSJmb250LWZhbWlseTpBcmlhbCxzYW5zLXNlcmlmOyBmb250LXNp emU6MTRweCI+PHNwYW4+bG9hZGVyPSZxdW90O3VlZmkmcXVvdDsgJm5ic3A7ICZuYnNwOzwvc3Bh bj4NCjxkaXY+PHNwYW4+Y3B1PSZxdW90OzQmcXVvdDsgJm5ic3A7ICZuYnNwOzwvc3Bhbj48L2Rp dj4NCjxkaXY+PHNwYW4+Y3B1X3NvY2tldHM9JnF1b3Q7MSZxdW90OyAmbmJzcDsgJm5ic3A7PC9z cGFuPjwvZGl2Pg0KPGRpdj48c3Bhbj5jcHVfY29yZXM9JnF1b3Q7NCZxdW90OyAmbmJzcDsgJm5i c3A7PC9zcGFuPjwvZGl2Pg0KPGRpdj48c3Bhbj5jcHVfdGhyZWFkcz0mcXVvdDsxJnF1b3Q7ICZu YnNwOyAmbmJzcDs8L3NwYW4+PC9kaXY+DQo8ZGl2PjxzcGFuPm1lbW9yeT0mcXVvdDsxNkcmcXVv dDsgJm5ic3A7ICZuYnNwOzwvc3Bhbj48L2Rpdj4NCjxkaXY+PHNwYW4+d2lyZWRfbWVtb3J5PSZx dW90O3llcyZxdW90OyAmbmJzcDsgJm5ic3A7PC9zcGFuPjwvZGl2Pg0KPGRpdj48c3Bhbj4mbmJz cDsgJm5ic3A7IDwvc3Bhbj48L2Rpdj4NCjxkaXY+PHNwYW4+dXRjdGltZT0mcXVvdDtubyZxdW90 OyAmbmJzcDsgJm5ic3A7PC9zcGFuPjwvZGl2Pg0KPGRpdj48c3Bhbj5haGNpX2RldmljZV9saW1p dD0mcXVvdDs4JnF1b3Q7ICZuYnNwOyAmbmJzcDs8L3NwYW4+PC9kaXY+DQo8ZGl2PjxzcGFuPiZu YnNwOyAmbmJzcDsgPC9zcGFuPjwvZGl2Pg0KPGRpdj48c3Bhbj5kaXNrMF90eXBlPSZxdW90O252 bWUmcXVvdDsgJm5ic3A7ICZuYnNwOzwvc3Bhbj48L2Rpdj4NCjxkaXY+PHNwYW4+ZGlzazBfbmFt ZT0mcXVvdDtkaXNrMC5pbWcmcXVvdDsgJm5ic3A7ICZuYnNwOzwvc3Bhbj48L2Rpdj4NCjxkaXY+ PHNwYW4+Jm5ic3A7ICZuYnNwOyA8L3NwYW4+PC9kaXY+DQo8ZGl2PjxzcGFuPm5ldHdvcmswX3R5 cGU9JnF1b3Q7ZTEwMDAmcXVvdDsgJm5ic3A7ICZuYnNwOzwvc3Bhbj48L2Rpdj4NCjxkaXY+PHNw YW4+bmV0d29yazBfc3dpdGNoPSZxdW90O3B1YmxpYyZxdW90OyAmbmJzcDsgJm5ic3A7PC9zcGFu PjwvZGl2Pg0KPGRpdj48c3Bhbj4mbmJzcDsgJm5ic3A7IDwvc3Bhbj48L2Rpdj4NCjxkaXY+PHNw YW4+cGFzc3RocnUwPSZxdW90OzMvMC8wPTI6MCZxdW90OyAmbmJzcDsgJm5ic3A7PC9zcGFuPjwv ZGl2Pg0KPGRpdj48c3Bhbj5wYXNzdGhydTE9JnF1b3Q7My8wLzE9MjoxJnF1b3Q7ICZuYnNwOyAm bmJzcDs8L3NwYW4+PC9kaXY+DQo8ZGl2PjxzcGFuPiZuYnNwOyAmbmJzcDsgPC9zcGFuPjwvZGl2 Pg0KPGRpdj48c3Bhbj4jYmh5dmVfb3B0aW9ucz0mcXVvdDstcyAyOjAscGFzc3RocnUsMy8wLzAs cm9tPWJpb3Mucm9tJnF1b3Q7ICZuYnNwOyAmbmJzcDs8L3NwYW4+PC9kaXY+DQo8ZGl2PjxzcGFu Pjxicj4NCjwvc3Bhbj48L2Rpdj4NCjxkaXY+PHNwYW4+IyBVc2luZyBSRFAgcG9zdC1pbnN0YWxs LiZuYnNwOyAmbmJzcDs8L3NwYW4+PC9kaXY+DQo8ZGl2PjxzcGFuPmdyYXBoaWNzPSZxdW90O25v JnF1b3Q7ICZuYnNwOyAmbmJzcDs8L3NwYW4+PC9kaXY+DQo8ZGl2PjxzcGFuPmdyYXBoaWNzX3Bv cnQ9JnF1b3Q7NTkwMCZxdW90OyAmbmJzcDsgJm5ic3A7PC9zcGFuPjwvZGl2Pg0KPGRpdj48c3Bh bj5ncmFwaGljc19saXN0ZW49JnF1b3Q7MC4wLjAuMCZxdW90OyAmbmJzcDsgJm5ic3A7PC9zcGFu PjwvZGl2Pg0KPGRpdj48c3Bhbj5ncmFwaGljc19yZXM9JnF1b3Q7MTkyMHgxMDgwJnF1b3Q7ICZu YnNwOyAmbmJzcDs8L3NwYW4+PC9kaXY+DQo8ZGl2PjxzcGFuPmdyYXBoaWNzX3dhaXQ9JnF1b3Q7 eWVzJnF1b3Q7ICZuYnNwOyAmbmJzcDs8L3NwYW4+PC9kaXY+DQo8ZGl2PjxzcGFuPiZuYnNwOyAm bmJzcDsgPC9zcGFuPjwvZGl2Pg0KPGRpdj48c3Bhbj54aGNpX21vdXNlPSZxdW90O3llcyZxdW90 OyAmbmJzcDsgJm5ic3A7PC9zcGFuPjwvZGl2Pg0KPGRpdj48c3Bhbj51dWlkPSZxdW90OzUzNWQ1 NGI1LTgxY2ItMTFmMC05M2EyLTk4Yjc4NTAxYmRhOCZxdW90OyAmbmJzcDsgJm5ic3A7PC9zcGFu PjwvZGl2Pg0KPHNwYW4+bmV0d29yazBfbWFjPSZxdW90OzU4OjljOmZjOjA0OjVhOmViJnF1b3Q7 Jm5ic3A7ICZuYnNwOzwvc3Bhbj48L2Rpdj4NCjxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OkFyaWFs LHNhbnMtc2VyaWY7IGZvbnQtc2l6ZToxNHB4Ij48c3Bhbj48YnI+DQo8L3NwYW4+PC9kaXY+DQo8 ZGl2IHN0eWxlPSJmb250LWZhbWlseTpBcmlhbCxzYW5zLXNlcmlmOyBmb250LXNpemU6MTRweCI+ LS0tLS0tLS0tLS0tLS0tLTwvZGl2Pg0KPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6QXJpYWwsc2Fu cy1zZXJpZjsgZm9udC1zaXplOjE0cHgiPjxicj4NCjwvZGl2Pg0KPGRpdiBjbGFzcz0ieF9wcm90 b25tYWlsX3NpZ25hdHVyZV9ibG9jayIgc3R5bGU9ImZvbnQtZmFtaWx5OkFyaWFsLHNhbnMtc2Vy aWY7IGZvbnQtc2l6ZToxNHB4Ij4NCjxkaXYgY2xhc3M9InhfcHJvdG9ubWFpbF9zaWduYXR1cmVf YmxvY2stdXNlciI+DQo8ZGl2PkpvbmF0aGFuIFZhc3F1ZXo8YnI+DQo8L2Rpdj4NCjxkaXY+UEdQ OiAzNERBIDg1OEMgMTQ0NyA1MDlFIEM3N0EgRDQ5RiBGQjg1IDkwQjcgQzRDQSA1Mjc5PGJyPg0K PC9kaXY+DQo8ZGl2PlNlbnQgd2l0aCBQcm90b25NYWlsIFNlY3VyZSBFbWFpbDxicj4NCjwvZGl2 Pg0KPGRpdj48YnI+DQo8L2Rpdj4NCjwvZGl2Pg0KPGRpdiBjbGFzcz0ieF9wcm90b25tYWlsX3Np Z25hdHVyZV9ibG9jay1wcm90b24geF9wcm90b25tYWlsX3NpZ25hdHVyZV9ibG9jay1lbXB0eSI+ DQo8L2Rpdj4NCjwvZGl2Pg0KPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6QXJpYWwsc2Fucy1zZXJp ZjsgZm9udC1zaXplOjE0cHgiPjxicj4NCjwvZGl2Pg0KPGRpdiBjbGFzcz0ieF9wcm90b25tYWls X3F1b3RlIj5PbiBNb25kYXksIEF1Z3VzdCAyNXRoLCAyMDI1IGF0IDExOjA1LCBKb25hdGhhbiBW YXNxdWV6ICZsdDtqb25AeHlpbm4ub3JnJmd0OyB3cm90ZTo8YnI+DQo8YmxvY2txdW90ZSBjbGFz cz0ieF9wcm90b25tYWlsX3F1b3RlIiB0eXBlPSJjaXRlIj4NCjxkaXYgc3R5bGU9ImZvbnQtZmFt aWx5OkFyaWFsLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZToxNHB4Ij5VbmZvcnR1bmF0ZWx5IEkgZG9u J3QgaGF2ZSBhbiBpbnRlbCBtYWNoaW5lIHdpdGggYW4gYXZhaWxhYmxlIFBDSWUgc2xvdC4gSG93 ZXZlciBJJ20gdHJ5aW5nIGFub3RoZXIgdGhpbmcgd2hpY2ggaXMgdG8gcGFzc3Rocm91Z2ggdGhl IGNhcmQgdG8gYSBMaW51eCBndWVzdC4gSSBuZWVkIHRvIHJ1biBtb3JlIGV4cGVyaW1lbnRzIGJ1 dCBhIHByZWxpbWluYXJ5DQogYm9vdCBvZiBhIExpbnV4IE1pbnQgSVNPIGRpZCBzaG93IHRoZSBB TUQgUmFkZW9uIFJYIDY5MDAgWFQgY2FyZCBpbiA8Y29kZT5sc3BjaTwvY29kZT7igIsgYW5kIHNo b3dlZCB0aGF0IGl0IHdhcyB1c2luZyB0aGUNCjxjb2RlPmFtZGdwdTwvY29kZT7igIsgZHJpdmVy LiBJIHRoZW4gZGlkIGEgYmFzaWMgPGNvZGU+Z2x4Z2VhcnM8L2NvZGU+4oCLIGFuZCBpdCBvcGVu ZWQgdXAgaW4gbXkgVk5DIHdpbmRvdyBhbmQgc2hvd2VkIHRoZSBGUFMgY291bnRlciBhdCBvdmVy IDIwMDAgZnBzLiBUaGUgb25seSBpc3N1ZSBJIG5vdGljZWQgd2FzIHdoZW4gc2h1dHRpbmcgZG93 biB0aGUgbGl2ZSBDRCBlbnZpcm9ubWVudCB0aGVyZSB3ZXJlDQo8Y29kZT5hbWRncHU8L2NvZGU+ 4oCLIGZhaWx1cmUgbWVzc2FnZXMgd2hlcmUgaXQgd2FzIGZhaWxpbmcgdG8gd3JpdGUgc29tZXRo aW5nIHRvIGl0LiBJJ20gY3VycmVudGx5IHJlZG9pbmcgbXkgJnF1b3Q7YmFzaWMgYmh5dmUgc2Ny aXB0JnF1b3Q7IGFuZCBtb3ZpbmcgaXQgb3ZlciB0byAmcXVvdDt2bS1iaHl2ZSZxdW90OyBzaW5j ZSBpdCBzZWVtcyBhIGxvdCBvZiBwZW9wbGUgYXJlIHVzaW5nIHRoYXQgaW5zdGVhZCBvZiB0aGUg bW9yZSBtYW51YWwgYXBwcm9hY2guIFRoaXMgc2hvdWxkDQogaG9wZWZ1bGx5IGhlbHAgc2ltcGxp ZnkgdGhpbmdzIGZvciBkZWJ1Z2dpbmcuIElmIHRoZSBjYXJkIHdvcmtzIG9uIExpbnV4IHZpYSBw YXNzdGhyb3VnaCB0aGlzIHdvdWxkIGFsc28gYmUgdXNlZnVsIGluZm8gYW5kIGNhbiBhbGxvdyBt ZSB0byBzZWUgdGhlIHBlcmZvcm1hbmNlIG9mIEN5cGVycHVuayAyMDc3LCBhbmQgc29tZSBvdGhl ciBnYW1lcyAoZXZlbiBpZiBJJ20gbm90IGdldHRpbmcgMTAwJSBvZiB0aGUgY2FyZCdzIHBlcmZv cm1hbmNlKS48L2Rpdj4NCjxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OkFyaWFsLHNhbnMtc2VyaWY7 IGZvbnQtc2l6ZToxNHB4Ij48YnI+DQo8L2Rpdj4NCjxkaXYgY2xhc3M9InhfcHJvdG9ubWFpbF9z aWduYXR1cmVfYmxvY2siIHN0eWxlPSJmb250LWZhbWlseTpBcmlhbCxzYW5zLXNlcmlmOyBmb250 LXNpemU6MTRweCI+DQo8ZGl2IGNsYXNzPSJ4X3Byb3Rvbm1haWxfc2lnbmF0dXJlX2Jsb2NrLXVz ZXIiPg0KPGRpdj5Kb25hdGhhbiBWYXNxdWV6PGJyPg0KPC9kaXY+DQo8ZGl2PlBHUDogMzREQSA4 NThDIDE0NDcgNTA5RSBDNzdBIEQ0OUYgRkI4NSA5MEI3IEM0Q0EgNTI3OTxicj4NCjwvZGl2Pg0K PGRpdj5TZW50IHdpdGggUHJvdG9uTWFpbCBTZWN1cmUgRW1haWw8YnI+DQo8L2Rpdj4NCjxkaXY+ PGJyPg0KPC9kaXY+DQo8L2Rpdj4NCjxkaXYgY2xhc3M9InhfcHJvdG9ubWFpbF9zaWduYXR1cmVf YmxvY2stcHJvdG9uIHhfcHJvdG9ubWFpbF9zaWduYXR1cmVfYmxvY2stZW1wdHkiPg0KPC9kaXY+ DQo8L2Rpdj4NCjxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OkFyaWFsLHNhbnMtc2VyaWY7IGZvbnQt c2l6ZToxNHB4Ij48YnI+DQo8L2Rpdj4NCjxkaXYgY2xhc3M9InhfcHJvdG9ubWFpbF9xdW90ZSI+ T24gTW9uZGF5LCBBdWd1c3QgMjV0aCwgMjAyNSBhdCAxMTowMCwgU3RlcGhhbiBBbHRoYXVzICZs dDtTdGVwaGFuLkFsdGhhdXNARHVlZGluZ2hhdXNlbi5ldSZndDsgd3JvdGU6PGJyPg0KPGJsb2Nr cXVvdGUgY2xhc3M9InhfcHJvdG9ubWFpbF9xdW90ZSIgdHlwZT0iY2l0ZSI+DQo8ZGl2IGNsYXNz PSJ4X21vei1jaXRlLXByZWZpeCI+T24gOC8yNS8yNSAxNjo1NiwgSm9uYXRoYW4gVmFzcXVleiB3 cm90ZTo8YnI+DQo8L2Rpdj4NCjxibG9ja3F1b3RlIHR5cGU9ImNpdGUiPg0KPGRpdiBzdHlsZT0i Zm9udC1mYW1pbHk6QXJpYWwsc2Fucy1zZXJpZjsgZm9udC1zaXplOjE0cHgiPkhleSBTdGVwaGFu LDwvZGl2Pg0KPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6QXJpYWwsc2Fucy1zZXJpZjsgZm9udC1z aXplOjE0cHgiPjxicj4NCjwvZGl2Pg0KPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6QXJpYWwsc2Fu cy1zZXJpZjsgZm9udC1zaXplOjE0cHgiPll1cCwgSSd2ZSB0cmllZCBwYXNzaW5nIGJvdGggMy8w LzAgYW5kIDMvMC8xIGFuZCBubyBnbywgYW5kIEkgYWxzbyBtYWtlIHN1cmUgdG8gcmVib290IHRo ZSBob3N0IGluIGJldHdlZW4gcnVucyBkdWUgdG8gdGhlIGFtZCBoYXJkd2FyZSBpc3N1ZS4gSSBk b24ndCBiZWxpZXZlIDMvMC8xIGlzIG5lY2Vzc2FyeSB0aG91Z2ggYmFzZWQgb24gdGhlIGV4YW1w bGVzDQogYnkgQ29ydmluIGluIGhpcyB0YWxrLiBIZSBvbmx5IHBhc3NlZCBpbiAzLzAvMCAoSSdt IGd1ZXNzaW5nIGhpcyBjYXJkIGFsc28gaGFzIGEgMy8wLzEgZnVuY3Rpb24gdGhhdCBoZSBpc24n dCB1c2luZyBzaW5jZSB0aGF0J3MgdGhlIGF1ZGlvIGNoYW5uZWwpLjwvZGl2Pg0KPGRpdiBzdHls ZT0iZm9udC1mYW1pbHk6QXJpYWwsc2Fucy1zZXJpZjsgZm9udC1zaXplOjE0cHgiPjxicj4NCjwv ZGl2Pg0KPGRpdiBjbGFzcz0ieF9wcm90b25tYWlsX3NpZ25hdHVyZV9ibG9jayIgc3R5bGU9ImZv bnQtZmFtaWx5OkFyaWFsLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZToxNHB4Ij4NCjxkaXYgY2xhc3M9 InhfcHJvdG9ubWFpbF9zaWduYXR1cmVfYmxvY2stdXNlciI+DQo8ZGl2PkpvbmF0aGFuIFZhc3F1 ZXo8YnI+DQo8L2Rpdj4NCjxkaXY+UEdQOiAzNERBIDg1OEMgMTQ0NyA1MDlFIEM3N0EgRDQ5RiBG Qjg1IDkwQjcgQzRDQSA1Mjc5PGJyPg0KPC9kaXY+DQo8ZGl2PlNlbnQgd2l0aCBQcm90b25NYWls IFNlY3VyZSBFbWFpbDxicj4NCjwvZGl2Pg0KPGRpdj48YnI+DQo8L2Rpdj4NCjwvZGl2Pg0KPGRp diBjbGFzcz0ieF9wcm90b25tYWlsX3NpZ25hdHVyZV9ibG9jay1wcm90b24geF9wcm90b25tYWls X3NpZ25hdHVyZV9ibG9jay1lbXB0eSI+DQo8L2Rpdj4NCjwvZGl2Pg0KPGRpdiBzdHlsZT0iZm9u dC1mYW1pbHk6QXJpYWwsc2Fucy1zZXJpZjsgZm9udC1zaXplOjE0cHgiPjxicj4NCjwvZGl2Pg0K PGRpdiBjbGFzcz0ieF9wcm90b25tYWlsX3F1b3RlIj5PbiBNb25kYXksIEF1Z3VzdCAyNXRoLCAy MDI1IGF0IDEwOjUyLCBTdGVwaGFuIEFsdGhhdXMNCjxhIGNsYXNzPSJ4X21vei10eHQtbGluay1y ZmMyMzk2RSIgaHJlZj0ibWFpbHRvOlN0ZXBoYW4uQWx0aGF1c0BEdWVkaW5naGF1c2VuLmV1IiBy ZWw9Im5vcmVmZXJyZXIgbm9mb2xsb3cgbm9vcGVuZXIiPg0KJmx0O1N0ZXBoYW4uQWx0aGF1c0BE dWVkaW5naGF1c2VuLmV1Jmd0OzwvYT4gd3JvdGU6PGJyPg0KPGJsb2NrcXVvdGUgY2xhc3M9Inhf cHJvdG9ubWFpbF9xdW90ZSIgdHlwZT0iY2l0ZSI+DQo8ZGl2IGNsYXNzPSJ4X21vei1jaXRlLXBy ZWZpeCI+T24gOC8yNS8yNSAxNjo0NywgU3RlcGhhbiBBbHRoYXVzIHdyb3RlOjxicj4NCjwvZGl2 Pg0KPGJsb2NrcXVvdGUgdHlwZT0iY2l0ZSI+DQo8ZGl2IGNsYXNzPSJ4X21vei1jaXRlLXByZWZp eCI+T24gOC8yNC8yNSAyMzo1OCwgSm9uYXRoYW4gVmFzcXVleiB3cm90ZTo8YnI+DQo8L2Rpdj4N CjxibG9ja3F1b3RlIHR5cGU9ImNpdGUiPg0KPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6QXJpYWws c2Fucy1zZXJpZjsgZm9udC1zaXplOjE0cHgiPjxzcGFuPkhleSBhbGwsPC9zcGFuPjwvZGl2Pg0K PGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6QXJpYWwsc2Fucy1zZXJpZjsgZm9udC1zaXplOjE0cHgi PjxzcGFuPjxicj4NCjwvc3Bhbj48L2Rpdj4NCjxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OkFyaWFs LHNhbnMtc2VyaWY7IGZvbnQtc2l6ZToxNHB4Ij48c3Bhbj5JJ3ZlIGJlZW4gZXhwZXJpbWVudGlu ZyB3aXRoIHRyeWluZyB0byBnZXQgbXkgc2VydmVyJ3MgZGVkaWNhdGVkIEFNRCBSYWRlb24gUlgg NjkwMCBYVCB3b3JraW5nIG9uIGEgYmh5dmUgV2luZG93cyAxMCBQcm8gY2xpZW50IGZvciBnYW1p bmcgcHVycG9zZXMuIEkndmUgYmVlbiByZWFkaW5nIGEgYnVuY2ggb2YgYmxvZyBwb3N0cywgc2l0 ZXMsDQogZmlsZXMsIGFuZCB2aWRlb3MgKHRoYW5rcyBDb3J2aW4pIHRvIHRyeSBhbmQgcGllY2Ug dGhpbmdzIHRvZ2V0aGVyLiBJJ3ZlIGJlZW4gYWJsZSB0byBnZXQgdGhlIFZNIHRvIHJlY29nbml6 ZSB0aGUgY2FyZCwgYnV0IHN0aWxsIHN0dWNrIG9uIHRoZSBDb2RlIDQzIGlzc3VlICh3aXRoIG9y IHdpdGhvdXQgdXNpbmcgdGhlIHZCSU9TIEkndmUgZXh0cmFjdGVkIGZyb20gbXkgZGVkaWNhdGVk IGNhcmQgYW5kIGFsc28gZW5zdXJpbmcgYW55IG9wdGlvbnMNCiBuZWVkZWQgdG8gYmUgb24gaW4g dGhlIFVFRkkgc2V0dGluZ3MgYXJlIGVuYWJsZWQpLiBUaGlzIG1hY2hpbmUgaXMgcnVubmluZyBv biBhbiBBTUQgUnl6ZW4gOSA3OTUwWCAxNi1Db3JlIFByb2Nlc3Nvciwgc28gaXQncyBhIGZ1bGwg QU1EIHNldHVwLCBubyBJbnRlbCBzdHVmZi4gSXQgdGVjaG5pY2FsbHkgc2hvdWxkIGJlIHJlbGF0 aXZlbHkgJnF1b3Q7ZWFzeSZxdW90OyB0byBnZXQgQU1EIHdvcmtpbmcgZnJvbSB3aGF0IEkndmUg cmVhZCAoZXhjbHVkaW5nIHRoZQ0KIGtub3duIEFNRCBIYXJkd2FyZSByZXNldCBpc3N1ZSkuIEkn dmUgZG9jdW1lbnRlZCBldmVyeXRoaW5nIEkndmUgZG9uZSBzbyBmYXIsIGFuZCB3aWxsIGJlIGRv Y3VtZW50aW5nIG1vcmUgYW5kIHNpbXBsaWZ5aW5nIHRoZSBpbnN0cnVjdGlvbnMgYXMgSSBtYWtl IHByb2dyZXNzLiBQbGVhc2UgbGV0IG1lIGtub3cgaWYgeW91IHNlZSBhbnkgdGhpbmcgd2VpcmQg b3IgYW55dGhpbmcgSSBjb3VsZCB0cnkgYmFzZWQgb24gd2hhdCBJJ3ZlIHJld3JpdHRlbi4NCiBJ J2xsIHRyeSB0byBnaXZlIGl0IGEgZ28gYW5kIHByb3ZpZGUgZmVlZGJhY2suIFRoYW5rIHlvdSE8 L3NwYW4+PC9kaXY+DQo8ZGl2IHN0eWxlPSJmb250LWZhbWlseTpBcmlhbCxzYW5zLXNlcmlmOyBm b250LXNpemU6MTRweCI+PHNwYW4+PGJyPg0KPC9zcGFuPjwvZGl2Pg0KPGRpdiBzdHlsZT0iZm9u dC1mYW1pbHk6QXJpYWwsc2Fucy1zZXJpZjsgZm9udC1zaXplOjE0cHgiPjxzcGFuPjxhIHRhcmdl dD0iX2JsYW5rIiByZWw9Im5vcmVmZXJyZXIgbm9mb2xsb3cgbm9vcGVuZXIiIGhyZWY9Imh0dHBz Oi8veHlpbm4ub3JnL2Jsb2cvZnJlZWJzZC9mcmVlYnNkX2JoeXZlX2dwdV9wYXNzdGhyb3VnaF9h bWQiIGNsYXNzPSJ4X21vei10eHQtbGluay1mcmVldGV4dCI+aHR0cHM6Ly94eWlubi5vcmcvYmxv Zy9mcmVlYnNkL2ZyZWVic2RfYmh5dmVfZ3B1X3Bhc3N0aHJvdWdoX2FtZDwvYT48L3NwYW4+PGJy Pg0KPC9kaXY+DQo8ZGl2IHN0eWxlPSJmb250LWZhbWlseTpBcmlhbCxzYW5zLXNlcmlmOyBmb250 LXNpemU6MTRweCI+PGJyPg0KPC9kaXY+DQo8ZGl2IGNsYXNzPSJ4X3Byb3Rvbm1haWxfc2lnbmF0 dXJlX2Jsb2NrIiBzdHlsZT0iZm9udC1mYW1pbHk6QXJpYWwsc2Fucy1zZXJpZjsgZm9udC1zaXpl OjE0cHgiPg0KPGRpdiBjbGFzcz0ieF9wcm90b25tYWlsX3NpZ25hdHVyZV9ibG9jay11c2VyIj4N CjxkaXY+Sm9uYXRoYW4gVmFzcXVlejxicj4NCjwvZGl2Pg0KPGRpdj5QR1A6IDM0REEgODU4QyAx NDQ3IDUwOUUgQzc3QSBENDlGIEZCODUgOTBCNyBDNENBIDUyNzk8YnI+DQo8L2Rpdj4NCjxkaXY+ U2VudCB3aXRoIFByb3Rvbk1haWwgU2VjdXJlIEVtYWlsPGJyPg0KPC9kaXY+DQo8ZGl2Pjxicj4N CjwvZGl2Pg0KPC9kaXY+DQo8ZGl2IGNsYXNzPSJ4X3Byb3Rvbm1haWxfc2lnbmF0dXJlX2Jsb2Nr LXByb3RvbiB4X3Byb3Rvbm1haWxfc2lnbmF0dXJlX2Jsb2NrLWVtcHR5Ij4NCjwvZGl2Pg0KPC9k aXY+DQo8L2Jsb2NrcXVvdGU+DQo8cD5IaSE8L3A+DQo8cD5pIGhhdmUgYSBBTUQgUlg2NDAwIEdQ VSBzZXR1cCBydW5uaW5nIG9uIDE0LjIgd2l0aCB3aW4xMCBndWVzdCwgaG9zdCBpcyBhIGludGVs IHN5c3RlbS48L3A+DQo8cD5pIHRoaW5rIHlvdSBoYXZlIHRvIHBhc3N0aHJvdWdoIHRoZSAzLzAv MSBkZXZpY2UgYXMgd2VsbCE8L3A+DQo8cD5UaGUgYmlvcy5yb20gaXMgZXh0cmFjdGVkIGZyb20g dGhpcyBjYXJkIGluIHBsYWNlID88L3A+DQo8cD48YnI+DQo8L3A+DQo8cD5SZWdhcmRzLDxicj4N ClN0ZXBoYW48L3A+DQo8cD48YnI+DQo8L3A+DQo8L2Jsb2NrcXVvdGU+DQo8cD5BaCwgYW5kIGJl IHNodXJlIHRvIHJlYm9vdCB0aGUgd2hvbGUgc2V0dXAsIGluY2x1c2l2ZSBob3N0LCBmb3IgZXZl cnkgbmV3IHRlc3QtY2FzZSwNCjxicj4NCmF0IGxlYXN0IGFzIGxvbmcgYXQgaXMgbm90IGd1YXJh bnRlZWQgdGhhdCB3ZSBjYW4gbGl2ZSB3aXRob3V0Li48L3A+DQo8cD5SZWdhcnMsPGJyPg0KU3Rl cGhhbjwvcD4NCjxwPjxicj4NCjwvcD4NCjwvYmxvY2txdW90ZT4NCjxicj4NCjwvZGl2Pg0KPC9i bG9ja3F1b3RlPg0KPHA+SGkhPC9wPg0KPHA+TXkgb25seSBuZXh0IGFzc3VtcHRpb24gd291bGQg YmUgdGhhdCB0aGlzIG9ubHkgZG9lcyBub3Qgd29yayBvbiBBTUQgaG9zdC48L3A+DQo8cD5Zb3Ug ZG9uJ3QgaGF2ZSBhbiBpbnRlbCBzeXN0ZW0gdG8gdGVzdCwgeW91IHdvdWxkIGhhdmVkb25lIGl0 LCBpZiBzby4uICg/KTwvcD4NCjxwPlN0ZXBoYW48L3A+DQo8cD48YnI+DQo8L3A+DQo8L2Jsb2Nr cXVvdGU+DQo8YnI+DQo8L2Rpdj4NCjwvYmxvY2txdW90ZT4NCjxicj4NCjwvZGl2Pg0KPC9kaXY+ DQo8L2JvZHk+DQo8L2h0bWw+DQo= --_000_MN2PR20MB3168842FD4AAADEB8A29DC5DFE3EAMN2PR20MB3168namp_-- From nobody Mon Aug 25 18:51:14 2025 X-Original-To: virtualization@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4c9fyf1hxqz65RxR for ; Mon, 25 Aug 2025 18:51:22 +0000 (UTC) (envelope-from jon@xyinn.org) Received: from mail-4323.protonmail.ch (mail-4323.protonmail.ch [185.70.43.23]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "protonmail.com", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4c9fyd4Vdbz46qY for ; Mon, 25 Aug 2025 18:51:21 +0000 (UTC) (envelope-from jon@xyinn.org) Authentication-Results: mx1.freebsd.org; none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=xyinn.org; s=protonmail3; t=1756147878; x=1756407078; bh=5tvwJxS8PmD8khjHpNxyNwzVdJi35pKEm1ORkGjgZdA=; h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References: Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID: Message-ID:BIMI-Selector; b=MzfiomUWw1khQIBedPZiHXcAdN61C2JuJoaDk3xDE3SIEe21BJv63DWYMKO8ytpyZ JYTq33U+iEq1kRTlLRNxC26vVxUiUYvQ+xL6OkxPbjv3LaQ1IOjnNvRjYULN4mYVEB JKoXGiajRgIr9r0QKwk5OUiiO3QeUV595CFSR+0VGPMhZnlZmNjHgCpOZ/BufNYNWa 95sZr8t47n7ESaTvj3IyztRYAQnMOpsqZIZPi6zPjHgsthcE42wAQqGLp9yoFs8Ut0 s6/Qs+Ud2rHMHs2kqvU9QMrikjqKLeBq9u1TfVp+S0dYNs2hFFuE0IiMzUuZ6ecrPC F+LKVVLm9SfZQ== Date: Mon, 25 Aug 2025 18:51:14 +0000 To: Robert Cocker From: Jonathan Vasquez Cc: Stephan Althaus , "virtualization@freebsd.org" Subject: Re: GPU Passthrough on FreeBSD 14.3 (AMD Radeon RX 6900 XT and Windows 10 Pro) Message-ID: In-Reply-To: References: <6CV-OY6BcErrWRit9jSpi6fWsYBG3E_Z3u6eTLPcz6foPAZV1gQpZYaZTR7JA_1ot5RQVqrWQaLxJFySXjspIhSbBJGxmckcDQyzxhALNus=@xyinn.org> <98007d7f-427e-461a-adf1-7cb55f777662@Duedinghausen.eu> <9573a65a-ef25-416b-a5b6-e49b28c6086c@Duedinghausen.eu> <8e7f6904-8188-4941-827b-c874d5da586d@Duedinghausen.eu> Feedback-ID: 12351801:user:proton X-Pm-Message-ID: 6ee63a3bfc4e5bb07f816c48dbe7cdde9bd72497 List-Id: Discussion List-Archive: https://lists.freebsd.org/archives/freebsd-virtualization List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: freebsd-virtualization@freebsd.org Sender: owner-freebsd-virtualization@FreeBSD.org MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="b1=_AXtQ3FpYyxGkfcOkguzjb6LhJYpLbYBtpmvxssJXRAw" X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:62371, ipnet:185.70.43.0/24, country:CH] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Rspamd-Queue-Id: 4c9fyd4Vdbz46qY --b1=_AXtQ3FpYyxGkfcOkguzjb6LhJYpLbYBtpmvxssJXRAw Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: base64 Tm8gZ28gZm9yIG15IHRlc3RpbmcgaW5zaWRlIGEgTGludXggTWludCAyMi4xIFZNLiBGdWxseSB1 cGRhdGVkLCBhbmQgcGFzc2luZyBpbiBib3RoIDMvMC8wIGFuZCAzLzAvMSBmb3IgbXkgQU1EIFJh ZGVvbiBjYXJkLiBJIHdhcyBhYmxlIHRvIGV4dHJhY3Qgc29tZSBvZiB0aGUgImRtZXNnIiBhbmQg ImVnbGluZm8iIG91dHB1dC4gUnVubmluZyAiZ2x4aW5mbyIgYWxzbyBzaG93ZWQgdGhhdCB0aGUg T3BlbkdMIHJlbmRlcmVyIHdhcyBzZXQgdG8gbGx2bXBpcGUsIHNvIHNvZnR3YXJlIHJlbmRlcmlu ZyA6KC4gImxzcGNpIC1rIiBkZXRlY3RlZCBpdCBhbmQgc2hvd2VkIHRoYXQgaXQgd2FzIHVzaW5n IHRoZSAiYW1kZ3B1IiBrZXJuZWwgZHJpdmVyLiBTaW5jZSBJJ20gdXNpbmcgdm0tYmh5dmUgYXRt IEkgZGlkbid0IHRlc3QgdGhpcyB3aXRoIHRoZSBkdW1wZWQgcm9tLCBqdXN0IGRpcmVjdGx5IHBh c3NpbmcgdGhlbSB0aHJvdWdoLiBJJ3ZlIHVwbG9hZGVkIHNvbWUgb2YgdGhlIGxvZ3MgaGVyZSBm b3Igbm93IGluIGNhc2UgYW55b25lIHdhbnRzIHRvIHRha2UgYSBnbGFuY2UgYXQgdGhlbToKCmh0 dHBzOi8veHlpbm4ub3JnL2ZyZWVic2QvZmlsZXMvZ3B1X3Bhc3MvMjAyNS0wOC0yNS8KCkpvbmF0 aGFuIFZhc3F1ZXoKUEdQOiAzNERBIDg1OEMgMTQ0NyA1MDlFIEM3N0EgRDQ5RiBGQjg1IDkwQjcg QzRDQSA1Mjc5ClNlbnQgd2l0aCBQcm90b25NYWlsIFNlY3VyZSBFbWFpbAoKT24gTW9uZGF5LCBB dWd1c3QgMjV0aCwgMjAyNSBhdCAxNDozNywgUm9iZXJ0IENvY2tlciA8cmNvY2tlcjg3QGdtYWls LmNvbT4gd3JvdGU6Cgo+IEhleSBncm91cCBoYXMgYmh2eWUgY29yZSBkZXYgYmFrZWQgb3V0IGFu IHVwZGF0ZSBmb3IgdGhpcwo+Cj4gUm9iZXJ0Cj4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4KPiBGcm9tOiBvd25lci1mcmVl YnNkLXZpcnR1YWxpemF0aW9uQEZyZWVCU0Qub3JnIDxvd25lci1mcmVlYnNkLXZpcnR1YWxpemF0 aW9uQEZyZWVCU0Qub3JnPiBvbiBiZWhhbGYgb2YgSm9uYXRoYW4gVmFzcXVleiA8am9uQHh5aW5u Lm9yZz4KPiBTZW50OiBNb25kYXksIEF1Z3VzdCAyNSwgMjAyNSAxMTozNTozMSBBTQo+IFRvOiBK b25hdGhhbiBWYXNxdWV6IDxqb25AeHlpbm4ub3JnPgo+IENjOiBTdGVwaGFuIEFsdGhhdXMgPFN0 ZXBoYW4uQWx0aGF1c0BEdWVkaW5naGF1c2VuLmV1PjsgdmlydHVhbGl6YXRpb25AZnJlZWJzZC5v cmcgPHZpcnR1YWxpemF0aW9uQGZyZWVic2Qub3JnPgo+IFN1YmplY3Q6IFJlOiBHUFUgUGFzc3Ro cm91Z2ggb24gRnJlZUJTRCAxNC4zIChBTUQgUmFkZW9uIFJYIDY5MDAgWFQgYW5kIFdpbmRvd3Mg MTAgUHJvKQo+Cj4gSSB3YXMgYWJsZSB0byBnZXQgYSBmcmVzaCBXaW4gMTAgUHJvIFZNIHJ1bm5p bmcgdGhyb3VnaCB2bS1iaHl2ZSBidXQgbm8gcHJvZ3Jlc3MuIFN0aWxsIHNhbWUgQ29kZSA0MyBl cnJvciBhcyBiZWZvcmUuIEkgd2Fzbid0IGFibGUgdG8gZmlndXJlIG91dCBob3cgdG8gcGFzcyB0 aGUgcm9tPWJpb3Mucm9t4oCLIHRocm91Z2ggdm0tYmh5dmUsIEkgZGlkbid0IHNlZSBhbnl0aGlu ZyBhYm91dCBpdCBpbiB0aGUgY29uZmlnLnNhbXBsZSBmaWxlIGFuZCBJIGFsc28gdHJpZWQgdG8g YnlwYXNzIHRoYXQgYnkgYWRkaW5nIGl0IGluIGJoeXZlX29wdGlvbnMgYnV0IG5vIGdvLCB0aGUg Vk0gd291bGRuJ3QgZXZlbiBzdGFydCBpZiBJIGRpZCB0aGF0LiBJIHNlZSB0aGVyZSBpcyBhICJi aHl2ZV9kZXZpY2VzIiB0aGF0IGNvbnRhaW5zIGFsbCBvZiB0aGUgc2xvdCBkZXZpY2VzIGJ1dCBJ IGRvbid0IHNlZSB0aGF0IGFzIGFuIGFkanVzdGFibGUgdmFyaWFibGUgYmFzZWQgb24gdGhlIGNv bmZpZy5zYW1wbGUgaW5mby4gSSd2ZSBwYXN0ZWQgbXkgY3VycmVudCB2bS1iaHl2ZSB0ZW1wbGF0 ZSBiZWxvdy4gTXkgbmV4dCB0ZXN0IGlzIHRvIHRyeSB0aGUgc2FtZSB0aGluZyBpbnNpZGUgYSBM aW51eCBndWVzdCB0byBzZWUgd2hhdCBoYXBwZW5zLgo+Cj4gLS0tLS0tLS0tLS0tLS0tLQo+Cj4g bG9hZGVyPSJ1ZWZpIgo+IGNwdT0iNCIKPiBjcHVfc29ja2V0cz0iMSIKPiBjcHVfY29yZXM9IjQi Cj4gY3B1X3RocmVhZHM9IjEiCj4gbWVtb3J5PSIxNkciCj4gd2lyZWRfbWVtb3J5PSJ5ZXMiCj4K PiB1dGN0aW1lPSJubyIKPiBhaGNpX2RldmljZV9saW1pdD0iOCIKPgo+IGRpc2swX3R5cGU9Im52 bWUiCj4gZGlzazBfbmFtZT0iZGlzazAuaW1nIgo+Cj4gbmV0d29yazBfdHlwZT0iZTEwMDAiCj4g bmV0d29yazBfc3dpdGNoPSJwdWJsaWMiCj4KPiBwYXNzdGhydTA9IjMvMC8wPTI6MCIKPiBwYXNz dGhydTE9IjMvMC8xPTI6MSIKPgo+ICNiaHl2ZV9vcHRpb25zPSItcyAyOjAscGFzc3RocnUsMy8w LzAscm9tPWJpb3Mucm9tIgo+Cj4gIyBVc2luZyBSRFAgcG9zdC1pbnN0YWxsLgo+IGdyYXBoaWNz PSJubyIKPiBncmFwaGljc19wb3J0PSI1OTAwIgo+IGdyYXBoaWNzX2xpc3Rlbj0iMC4wLjAuMCIK PiBncmFwaGljc19yZXM9IjE5MjB4MTA4MCIKPiBncmFwaGljc193YWl0PSJ5ZXMiCj4KPiB4aGNp X21vdXNlPSJ5ZXMiCj4gdXVpZD0iNTM1ZDU0YjUtODFjYi0xMWYwLTkzYTItOThiNzg1MDFiZGE4 IiAgbmV0d29yazBfbWFjPSI1ODo5YzpmYzowNDo1YTplYiIKPgo+IC0tLS0tLS0tLS0tLS0tLS0K Pgo+IEpvbmF0aGFuIFZhc3F1ZXoKPiBQR1A6IDM0REEgODU4QyAxNDQ3IDUwOUUgQzc3QSBENDlG IEZCODUgOTBCNyBDNENBIDUyNzkKPiBTZW50IHdpdGggUHJvdG9uTWFpbCBTZWN1cmUgRW1haWwK Pgo+IE9uIE1vbmRheSwgQXVndXN0IDI1dGgsIDIwMjUgYXQgMTE6MDUsIEpvbmF0aGFuIFZhc3F1 ZXogPGpvbkB4eWlubi5vcmc+IHdyb3RlOgo+Cj4+IFVuZm9ydHVuYXRlbHkgSSBkb24ndCBoYXZl IGFuIGludGVsIG1hY2hpbmUgd2l0aCBhbiBhdmFpbGFibGUgUENJZSBzbG90LiBIb3dldmVyIEkn bSB0cnlpbmcgYW5vdGhlciB0aGluZyB3aGljaCBpcyB0byBwYXNzdGhyb3VnaCB0aGUgY2FyZCB0 byBhIExpbnV4IGd1ZXN0LiBJIG5lZWQgdG8gcnVuIG1vcmUgZXhwZXJpbWVudHMgYnV0IGEgcHJl bGltaW5hcnkgYm9vdCBvZiBhIExpbnV4IE1pbnQgSVNPIGRpZCBzaG93IHRoZSBBTUQgUmFkZW9u IFJYIDY5MDAgWFQgY2FyZCBpbiBsc3BjaeKAiyBhbmQgc2hvd2VkIHRoYXQgaXQgd2FzIHVzaW5n IHRoZSBhbWRncHXigIsgZHJpdmVyLiBJIHRoZW4gZGlkIGEgYmFzaWMgZ2x4Z2VhcnPigIsgYW5k IGl0IG9wZW5lZCB1cCBpbiBteSBWTkMgd2luZG93IGFuZCBzaG93ZWQgdGhlIEZQUyBjb3VudGVy IGF0IG92ZXIgMjAwMCBmcHMuIFRoZSBvbmx5IGlzc3VlIEkgbm90aWNlZCB3YXMgd2hlbiBzaHV0 dGluZyBkb3duIHRoZSBsaXZlIENEIGVudmlyb25tZW50IHRoZXJlIHdlcmUgYW1kZ3B14oCLIGZh aWx1cmUgbWVzc2FnZXMgd2hlcmUgaXQgd2FzIGZhaWxpbmcgdG8gd3JpdGUgc29tZXRoaW5nIHRv IGl0LiBJJ20gY3VycmVudGx5IHJlZG9pbmcgbXkgImJhc2ljIGJoeXZlIHNjcmlwdCIgYW5kIG1v dmluZyBpdCBvdmVyIHRvICJ2bS1iaHl2ZSIgc2luY2UgaXQgc2VlbXMgYSBsb3Qgb2YgcGVvcGxl IGFyZSB1c2luZyB0aGF0IGluc3RlYWQgb2YgdGhlIG1vcmUgbWFudWFsIGFwcHJvYWNoLiBUaGlz IHNob3VsZCBob3BlZnVsbHkgaGVscCBzaW1wbGlmeSB0aGluZ3MgZm9yIGRlYnVnZ2luZy4gSWYg dGhlIGNhcmQgd29ya3Mgb24gTGludXggdmlhIHBhc3N0aHJvdWdoIHRoaXMgd291bGQgYWxzbyBi ZSB1c2VmdWwgaW5mbyBhbmQgY2FuIGFsbG93IG1lIHRvIHNlZSB0aGUgcGVyZm9ybWFuY2Ugb2Yg Q3lwZXJwdW5rIDIwNzcsIGFuZCBzb21lIG90aGVyIGdhbWVzIChldmVuIGlmIEknbSBub3QgZ2V0 dGluZyAxMDAlIG9mIHRoZSBjYXJkJ3MgcGVyZm9ybWFuY2UpLgo+Pgo+PiBKb25hdGhhbiBWYXNx dWV6Cj4+IFBHUDogMzREQSA4NThDIDE0NDcgNTA5RSBDNzdBIEQ0OUYgRkI4NSA5MEI3IEM0Q0Eg NTI3OQo+PiBTZW50IHdpdGggUHJvdG9uTWFpbCBTZWN1cmUgRW1haWwKPj4KPj4gT24gTW9uZGF5 LCBBdWd1c3QgMjV0aCwgMjAyNSBhdCAxMTowMCwgU3RlcGhhbiBBbHRoYXVzIDxTdGVwaGFuLkFs dGhhdXNARHVlZGluZ2hhdXNlbi5ldT4gd3JvdGU6Cj4+Cj4+PiBPbiA4LzI1LzI1IDE2OjU2LCBK b25hdGhhbiBWYXNxdWV6IHdyb3RlOgo+Pj4KPj4+PiBIZXkgU3RlcGhhbiwKPj4+Pgo+Pj4+IFl1 cCwgSSd2ZSB0cmllZCBwYXNzaW5nIGJvdGggMy8wLzAgYW5kIDMvMC8xIGFuZCBubyBnbywgYW5k IEkgYWxzbyBtYWtlIHN1cmUgdG8gcmVib290IHRoZSBob3N0IGluIGJldHdlZW4gcnVucyBkdWUg dG8gdGhlIGFtZCBoYXJkd2FyZSBpc3N1ZS4gSSBkb24ndCBiZWxpZXZlIDMvMC8xIGlzIG5lY2Vz c2FyeSB0aG91Z2ggYmFzZWQgb24gdGhlIGV4YW1wbGVzIGJ5IENvcnZpbiBpbiBoaXMgdGFsay4g SGUgb25seSBwYXNzZWQgaW4gMy8wLzAgKEknbSBndWVzc2luZyBoaXMgY2FyZCBhbHNvIGhhcyBh IDMvMC8xIGZ1bmN0aW9uIHRoYXQgaGUgaXNuJ3QgdXNpbmcgc2luY2UgdGhhdCdzIHRoZSBhdWRp byBjaGFubmVsKS4KPj4+Pgo+Pj4+IEpvbmF0aGFuIFZhc3F1ZXoKPj4+PiBQR1A6IDM0REEgODU4 QyAxNDQ3IDUwOUUgQzc3QSBENDlGIEZCODUgOTBCNyBDNENBIDUyNzkKPj4+PiBTZW50IHdpdGgg UHJvdG9uTWFpbCBTZWN1cmUgRW1haWwKPj4+Pgo+Pj4+IE9uIE1vbmRheSwgQXVndXN0IDI1dGgs IDIwMjUgYXQgMTA6NTIsIFN0ZXBoYW4gQWx0aGF1cyBbPFN0ZXBoYW4uQWx0aGF1c0BEdWVkaW5n aGF1c2VuLmV1Pl0obWFpbHRvOlN0ZXBoYW4uQWx0aGF1c0BEdWVkaW5naGF1c2VuLmV1KSB3cm90 ZToKPj4+Pgo+Pj4+PiBPbiA4LzI1LzI1IDE2OjQ3LCBTdGVwaGFuIEFsdGhhdXMgd3JvdGU6Cj4+ Pj4+Cj4+Pj4+PiBPbiA4LzI0LzI1IDIzOjU4LCBKb25hdGhhbiBWYXNxdWV6IHdyb3RlOgo+Pj4+ Pj4KPj4+Pj4+PiBIZXkgYWxsLAo+Pj4+Pj4+Cj4+Pj4+Pj4gSSd2ZSBiZWVuIGV4cGVyaW1lbnRp bmcgd2l0aCB0cnlpbmcgdG8gZ2V0IG15IHNlcnZlcidzIGRlZGljYXRlZCBBTUQgUmFkZW9uIFJY IDY5MDAgWFQgd29ya2luZyBvbiBhIGJoeXZlIFdpbmRvd3MgMTAgUHJvIGNsaWVudCBmb3IgZ2Ft aW5nIHB1cnBvc2VzLiBJJ3ZlIGJlZW4gcmVhZGluZyBhIGJ1bmNoIG9mIGJsb2cgcG9zdHMsIHNp dGVzLCBmaWxlcywgYW5kIHZpZGVvcyAodGhhbmtzIENvcnZpbikgdG8gdHJ5IGFuZCBwaWVjZSB0 aGluZ3MgdG9nZXRoZXIuIEkndmUgYmVlbiBhYmxlIHRvIGdldCB0aGUgVk0gdG8gcmVjb2duaXpl IHRoZSBjYXJkLCBidXQgc3RpbGwgc3R1Y2sgb24gdGhlIENvZGUgNDMgaXNzdWUgKHdpdGggb3Ig d2l0aG91dCB1c2luZyB0aGUgdkJJT1MgSSd2ZSBleHRyYWN0ZWQgZnJvbSBteSBkZWRpY2F0ZWQg Y2FyZCBhbmQgYWxzbyBlbnN1cmluZyBhbnkgb3B0aW9ucyBuZWVkZWQgdG8gYmUgb24gaW4gdGhl IFVFRkkgc2V0dGluZ3MgYXJlIGVuYWJsZWQpLiBUaGlzIG1hY2hpbmUgaXMgcnVubmluZyBvbiBh biBBTUQgUnl6ZW4gOSA3OTUwWCAxNi1Db3JlIFByb2Nlc3Nvciwgc28gaXQncyBhIGZ1bGwgQU1E IHNldHVwLCBubyBJbnRlbCBzdHVmZi4gSXQgdGVjaG5pY2FsbHkgc2hvdWxkIGJlIHJlbGF0aXZl bHkgImVhc3kiIHRvIGdldCBBTUQgd29ya2luZyBmcm9tIHdoYXQgSSd2ZSByZWFkIChleGNsdWRp bmcgdGhlIGtub3duIEFNRCBIYXJkd2FyZSByZXNldCBpc3N1ZSkuIEkndmUgZG9jdW1lbnRlZCBl dmVyeXRoaW5nIEkndmUgZG9uZSBzbyBmYXIsIGFuZCB3aWxsIGJlIGRvY3VtZW50aW5nIG1vcmUg YW5kIHNpbXBsaWZ5aW5nIHRoZSBpbnN0cnVjdGlvbnMgYXMgSSBtYWtlIHByb2dyZXNzLiBQbGVh c2UgbGV0IG1lIGtub3cgaWYgeW91IHNlZSBhbnkgdGhpbmcgd2VpcmQgb3IgYW55dGhpbmcgSSBj b3VsZCB0cnkgYmFzZWQgb24gd2hhdCBJJ3ZlIHJld3JpdHRlbi4gSSdsbCB0cnkgdG8gZ2l2ZSBp dCBhIGdvIGFuZCBwcm92aWRlIGZlZWRiYWNrLiBUaGFuayB5b3UhCj4+Pj4+Pj4KPj4+Pj4+PiBo dHRwczovL3h5aW5uLm9yZy9ibG9nL2ZyZWVic2QvZnJlZWJzZF9iaHl2ZV9ncHVfcGFzc3Rocm91 Z2hfYW1kCj4+Pj4+Pj4KPj4+Pj4+PiBKb25hdGhhbiBWYXNxdWV6Cj4+Pj4+Pj4gUEdQOiAzNERB IDg1OEMgMTQ0NyA1MDlFIEM3N0EgRDQ5RiBGQjg1IDkwQjcgQzRDQSA1Mjc5Cj4+Pj4+Pj4gU2Vu dCB3aXRoIFByb3Rvbk1haWwgU2VjdXJlIEVtYWlsCj4+Pj4+Pgo+Pj4+Pj4gSGkhCj4+Pj4+Pgo+ Pj4+Pj4gaSBoYXZlIGEgQU1EIFJYNjQwMCBHUFUgc2V0dXAgcnVubmluZyBvbiAxNC4yIHdpdGgg d2luMTAgZ3Vlc3QsIGhvc3QgaXMgYSBpbnRlbCBzeXN0ZW0uCj4+Pj4+Pgo+Pj4+Pj4gaSB0aGlu ayB5b3UgaGF2ZSB0byBwYXNzdGhyb3VnaCB0aGUgMy8wLzEgZGV2aWNlIGFzIHdlbGwhCj4+Pj4+ Pgo+Pj4+Pj4gVGhlIGJpb3Mucm9tIGlzIGV4dHJhY3RlZCBmcm9tIHRoaXMgY2FyZCBpbiBwbGFj ZSA/Cj4+Pj4+Pgo+Pj4+Pj4gUmVnYXJkcywKPj4+Pj4+IFN0ZXBoYW4KPj4+Pj4KPj4+Pj4gQWgs IGFuZCBiZSBzaHVyZSB0byByZWJvb3QgdGhlIHdob2xlIHNldHVwLCBpbmNsdXNpdmUgaG9zdCwg Zm9yIGV2ZXJ5IG5ldyB0ZXN0LWNhc2UsCj4+Pj4+IGF0IGxlYXN0IGFzIGxvbmcgYXQgaXMgbm90 IGd1YXJhbnRlZWQgdGhhdCB3ZSBjYW4gbGl2ZSB3aXRob3V0Li4KPj4+Pj4KPj4+Pj4gUmVnYXJz LAo+Pj4+PiBTdGVwaGFuCj4+Pgo+Pj4gSGkhCj4+Pgo+Pj4gTXkgb25seSBuZXh0IGFzc3VtcHRp b24gd291bGQgYmUgdGhhdCB0aGlzIG9ubHkgZG9lcyBub3Qgd29yayBvbiBBTUQgaG9zdC4KPj4+ Cj4+PiBZb3UgZG9uJ3QgaGF2ZSBhbiBpbnRlbCBzeXN0ZW0gdG8gdGVzdCwgeW91IHdvdWxkIGhh dmVkb25lIGl0LCBpZiBzby4uICg/KQo+Pj4KPj4+IFN0ZXBoYW4= --b1=_AXtQ3FpYyxGkfcOkguzjb6LhJYpLbYBtpmvxssJXRAw Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: base64 PGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE0 cHg7Ij5ObyBnbyBmb3IgbXkgdGVzdGluZyBpbnNpZGUgYSBMaW51eCBNaW50IDIyLjEgVk0uIEZ1 bGx5IHVwZGF0ZWQsIGFuZCBwYXNzaW5nIGluIGJvdGggMy8wLzAgYW5kIDMvMC8xIGZvciBteSBB TUQgUmFkZW9uIGNhcmQuIEkgd2FzIGFibGUgdG8gZXh0cmFjdCBzb21lIG9mIHRoZSAiZG1lc2ci IGFuZCAiZWdsaW5mbyIgb3V0cHV0LiBSdW5uaW5nICJnbHhpbmZvIiBhbHNvIHNob3dlZCB0aGF0 IHRoZSBPcGVuR0wgcmVuZGVyZXIgd2FzIHNldCB0byBsbHZtcGlwZSwgc28gc29mdHdhcmUgcmVu ZGVyaW5nIDooLiAibHNwY2kgLWsiIGRldGVjdGVkIGl0IGFuZCBzaG93ZWQgdGhhdCBpdCB3YXMg dXNpbmcgdGhlICJhbWRncHUiIGtlcm5lbCBkcml2ZXIuIFNpbmNlIEknbSB1c2luZyB2bS1iaHl2 ZSBhdG0gSSBkaWRuJ3QgdGVzdCB0aGlzIHdpdGggdGhlIGR1bXBlZCByb20sIGp1c3QgZGlyZWN0 bHkgcGFzc2luZyB0aGVtIHRocm91Z2guIEkndmUgdXBsb2FkZWQgc29tZSBvZiB0aGUgbG9ncyBo ZXJlIGZvciBub3cgaW4gY2FzZSBhbnlvbmUgd2FudHMgdG8gdGFrZSBhIGdsYW5jZSBhdCB0aGVt OjwvZGl2PjxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjsgZm9udC1z aXplOiAxNHB4OyI+PGJyPjwvZGl2PjxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fu cy1zZXJpZjsgZm9udC1zaXplOiAxNHB4OyI+PHNwYW4+PGEgdGFyZ2V0PSJfYmxhbmsiIHJlbD0i bm9yZWZlcnJlciBub2ZvbGxvdyBub29wZW5lciIgaHJlZj0iaHR0cHM6Ly94eWlubi5vcmcvZnJl ZWJzZC9maWxlcy9ncHVfcGFzcy8yMDI1LTA4LTI1LyI+aHR0cHM6Ly94eWlubi5vcmcvZnJlZWJz ZC9maWxlcy9ncHVfcGFzcy8yMDI1LTA4LTI1LzwvYT48L3NwYW4+PGJyPjwvZGl2PjxkaXYgc3R5 bGU9ImZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxNHB4OyI+PGJy PjwvZGl2Pg0KPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmOyBmb250 LXNpemU6IDE0cHg7IiBjbGFzcz0icHJvdG9ubWFpbF9zaWduYXR1cmVfYmxvY2siPg0KICAgIDxk aXYgY2xhc3M9InByb3Rvbm1haWxfc2lnbmF0dXJlX2Jsb2NrLXVzZXIiPg0KICAgICAgICA8ZGl2 PkpvbmF0aGFuIFZhc3F1ZXo8YnI+PC9kaXY+PGRpdj5QR1A6IDM0REEgODU4QyAxNDQ3IDUwOUUg Qzc3QSAgRDQ5RiBGQjg1IDkwQjcgQzRDQSA1Mjc5PGJyPjwvZGl2PjxkaXY+U2VudCB3aXRoIFBy b3Rvbk1haWwgU2VjdXJlIEVtYWlsPGJyPjwvZGl2PjxkaXY+PGJyPjwvZGl2Pg0KICAgIDwvZGl2 Pg0KICAgIA0KICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvdG9ubWFpbF9zaWduYXR1cmVfYmxv Y2stcHJvdG9uIHByb3Rvbm1haWxfc2lnbmF0dXJlX2Jsb2NrLWVtcHR5Ij4NCiAgICAgICAgDQog ICAgICAgICAgICA8L2Rpdj4NCjwvZGl2Pg0KPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6IEFyaWFs LCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE0cHg7Ij48YnI+PC9kaXY+PGRpdiBjbGFzcz0icHJv dG9ubWFpbF9xdW90ZSI+DQogICAgICAgIE9uIE1vbmRheSwgQXVndXN0IDI1dGgsIDIwMjUgYXQg MTQ6MzcsIFJvYmVydCBDb2NrZXIgJmx0O3Jjb2NrZXI4N0BnbWFpbC5jb20mZ3Q7IHdyb3RlOjxi cj4NCiAgICAgICAgPGJsb2NrcXVvdGUgY2xhc3M9InByb3Rvbm1haWxfcXVvdGUiIHR5cGU9ImNp dGUiPg0KICAgICAgICAgICAgDQo8ZGl2IHN0eWxlPSJmb250LWZhbWlseTogQXB0b3MsIC1hcHBs ZS1zeXN0ZW0sIEhlbHZldGljYU5ldWUsIHNhbnMtc2VyaWY7Zm9udC1zaXplOiAxMnB0Ij4NCjxk aXYgc3R5bGU9ImZvbnQtZmFtaWx5OiBBcHRvcywgQXB0b3NfTVNGb250U2VydmljZSwgLWFwcGxl LXN5c3RlbSwgUm9ib3RvLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOyBmb250LXNpemU6 IDEycHQ7IiBkaXI9Imx0ciI+DQpIZXkgZ3JvdXAgaGFzIGJodnllIGNvcmUgZGV2IGJha2VkIG91 dCBhbiB1cGRhdGUgZm9yIHRoaXMmbmJzcDs8L2Rpdj4NCjwvZGl2Pg0KPGRpdiBpZD0ibXMtb3V0 bG9vay1tb2JpbGUtYm9keS1zZXBhcmF0b3ItbGluZSIgc3R5bGU9ImZvbnQtZmFtaWx5OiBBcHRv cywgLWFwcGxlLXN5c3RlbSwgSGVsdmV0aWNhTmV1ZSwgc2Fucy1zZXJpZjtmb250LXNpemU6IDEy cHQiIGRpcj0iYXV0byI+DQo8YnI+DQo8L2Rpdj4NCjxkaXYgaWQ9Im1zLW91dGxvb2stbW9iaWxl LXNpZ25hdHVyZSIgc3R5bGU9ImZvbnQtZmFtaWx5OiBBcHRvcywgLWFwcGxlLXN5c3RlbSwgSGVs dmV0aWNhTmV1ZSwgc2Fucy1zZXJpZjtmb250LXNpemU6IDEycHQiPg0KPGRpdiBkaXI9Imx0ciI+ Um9iZXJ0PC9kaXY+DQo8L2Rpdj4NCjxociBzdHlsZT0iZGlzcGxheTppbmxpbmUtYmxvY2s7d2lk dGg6OTglIiB0YWJpbmRleD0iLTEiPg0KPGRpdiBpZD0iZGl2UnBseUZ3ZE1zZyIgZGlyPSJsdHIi Pjxmb250IGZhY2U9IkNhbGlicmksIHNhbnMtc2VyaWYiIHN0eWxlPSJmb250LXNpemU6MTFwdCIg Y29sb3I9IiMwMDAwMDAiPjxiPkZyb206PC9iPiBvd25lci1mcmVlYnNkLXZpcnR1YWxpemF0aW9u QEZyZWVCU0Qub3JnICZsdDtvd25lci1mcmVlYnNkLXZpcnR1YWxpemF0aW9uQEZyZWVCU0Qub3Jn Jmd0OyBvbiBiZWhhbGYgb2YgSm9uYXRoYW4gVmFzcXVleiAmbHQ7am9uQHh5aW5uLm9yZyZndDs8 YnI+DQo8Yj5TZW50OjwvYj4gTW9uZGF5LCBBdWd1c3QgMjUsIDIwMjUgMTE6MzU6MzEgQU08YnI+ DQo8Yj5Ubzo8L2I+IEpvbmF0aGFuIFZhc3F1ZXogJmx0O2pvbkB4eWlubi5vcmcmZ3Q7PGJyPg0K PGI+Q2M6PC9iPiBTdGVwaGFuIEFsdGhhdXMgJmx0O1N0ZXBoYW4uQWx0aGF1c0BEdWVkaW5naGF1 c2VuLmV1Jmd0OzsgdmlydHVhbGl6YXRpb25AZnJlZWJzZC5vcmcgJmx0O3ZpcnR1YWxpemF0aW9u QGZyZWVic2Qub3JnJmd0Ozxicj4NCjxiPlN1YmplY3Q6PC9iPiBSZTogR1BVIFBhc3N0aHJvdWdo IG9uIEZyZWVCU0QgMTQuMyAoQU1EIFJhZGVvbiBSWCA2OTAwIFhUIGFuZCBXaW5kb3dzIDEwIFBy byk8L2ZvbnQ+DQo8ZGl2PiZuYnNwOzwvZGl2Pg0KPC9kaXY+DQo8ZGl2Pg0KPGRpdiBzdHlsZT0i Zm9udC1mYW1pbHk6QXJpYWwsc2Fucy1zZXJpZjsgZm9udC1zaXplOjE0cHgiPkkgd2FzIGFibGUg dG8gZ2V0IGEgZnJlc2ggV2luIDEwIFBybyBWTSBydW5uaW5nIHRocm91Z2ggdm0tYmh5dmUgYnV0 IG5vIHByb2dyZXNzLiBTdGlsbCBzYW1lIENvZGUgNDMgZXJyb3IgYXMgYmVmb3JlLiBJIHdhc24n dCBhYmxlIHRvIGZpZ3VyZSBvdXQgaG93IHRvIHBhc3MgdGhlDQo8Y29kZT5yb209Ymlvcy5yb208 L2NvZGU+4oCLIHRocm91Z2ggdm0tYmh5dmUsIEkgZGlkbid0IHNlZSBhbnl0aGluZyBhYm91dCBp dCBpbiB0aGUgY29uZmlnLnNhbXBsZSBmaWxlIGFuZCBJIGFsc28gdHJpZWQgdG8gYnlwYXNzIHRo YXQgYnkgYWRkaW5nIGl0IGluIGJoeXZlX29wdGlvbnMgYnV0IG5vIGdvLCB0aGUgVk0gd291bGRu J3QgZXZlbiBzdGFydCBpZiBJIGRpZCB0aGF0LiBJIHNlZSB0aGVyZSBpcyBhICJiaHl2ZV9kZXZp Y2VzIiB0aGF0IGNvbnRhaW5zDQogYWxsIG9mIHRoZSBzbG90IGRldmljZXMgYnV0IEkgZG9uJ3Qg c2VlIHRoYXQgYXMgYW4gYWRqdXN0YWJsZSB2YXJpYWJsZSBiYXNlZCBvbiB0aGUgY29uZmlnLnNh bXBsZSBpbmZvLiBJJ3ZlIHBhc3RlZCBteSBjdXJyZW50IHZtLWJoeXZlIHRlbXBsYXRlIGJlbG93 LiBNeSBuZXh0IHRlc3QgaXMgdG8gdHJ5IHRoZSBzYW1lIHRoaW5nIGluc2lkZSBhIExpbnV4IGd1 ZXN0IHRvIHNlZSB3aGF0IGhhcHBlbnMuPC9kaXY+DQo8ZGl2IHN0eWxlPSJmb250LWZhbWlseTpB cmlhbCxzYW5zLXNlcmlmOyBmb250LXNpemU6MTRweCI+PGJyPg0KPC9kaXY+DQo8ZGl2IHN0eWxl PSJmb250LWZhbWlseTpBcmlhbCxzYW5zLXNlcmlmOyBmb250LXNpemU6MTRweCI+LS0tLS0tLS0t LS0tLS0tLTwvZGl2Pg0KPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6QXJpYWwsc2Fucy1zZXJpZjsg Zm9udC1zaXplOjE0cHgiPjxicj4NCjwvZGl2Pg0KPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6QXJp YWwsc2Fucy1zZXJpZjsgZm9udC1zaXplOjE0cHgiPjxzcGFuPmxvYWRlcj0idWVmaSIgJm5ic3A7 ICZuYnNwOzwvc3Bhbj4NCjxkaXY+PHNwYW4+Y3B1PSI0IiAmbmJzcDsgJm5ic3A7PC9zcGFuPjwv ZGl2Pg0KPGRpdj48c3Bhbj5jcHVfc29ja2V0cz0iMSIgJm5ic3A7ICZuYnNwOzwvc3Bhbj48L2Rp dj4NCjxkaXY+PHNwYW4+Y3B1X2NvcmVzPSI0IiAmbmJzcDsgJm5ic3A7PC9zcGFuPjwvZGl2Pg0K PGRpdj48c3Bhbj5jcHVfdGhyZWFkcz0iMSIgJm5ic3A7ICZuYnNwOzwvc3Bhbj48L2Rpdj4NCjxk aXY+PHNwYW4+bWVtb3J5PSIxNkciICZuYnNwOyAmbmJzcDs8L3NwYW4+PC9kaXY+DQo8ZGl2Pjxz cGFuPndpcmVkX21lbW9yeT0ieWVzIiAmbmJzcDsgJm5ic3A7PC9zcGFuPjwvZGl2Pg0KPGRpdj48 c3Bhbj4mbmJzcDsgJm5ic3A7IDwvc3Bhbj48L2Rpdj4NCjxkaXY+PHNwYW4+dXRjdGltZT0ibm8i ICZuYnNwOyAmbmJzcDs8L3NwYW4+PC9kaXY+DQo8ZGl2PjxzcGFuPmFoY2lfZGV2aWNlX2xpbWl0 PSI4IiAmbmJzcDsgJm5ic3A7PC9zcGFuPjwvZGl2Pg0KPGRpdj48c3Bhbj4mbmJzcDsgJm5ic3A7 IDwvc3Bhbj48L2Rpdj4NCjxkaXY+PHNwYW4+ZGlzazBfdHlwZT0ibnZtZSIgJm5ic3A7ICZuYnNw Ozwvc3Bhbj48L2Rpdj4NCjxkaXY+PHNwYW4+ZGlzazBfbmFtZT0iZGlzazAuaW1nIiAmbmJzcDsg Jm5ic3A7PC9zcGFuPjwvZGl2Pg0KPGRpdj48c3Bhbj4mbmJzcDsgJm5ic3A7IDwvc3Bhbj48L2Rp dj4NCjxkaXY+PHNwYW4+bmV0d29yazBfdHlwZT0iZTEwMDAiICZuYnNwOyAmbmJzcDs8L3NwYW4+ PC9kaXY+DQo8ZGl2PjxzcGFuPm5ldHdvcmswX3N3aXRjaD0icHVibGljIiAmbmJzcDsgJm5ic3A7 PC9zcGFuPjwvZGl2Pg0KPGRpdj48c3Bhbj4mbmJzcDsgJm5ic3A7IDwvc3Bhbj48L2Rpdj4NCjxk aXY+PHNwYW4+cGFzc3RocnUwPSIzLzAvMD0yOjAiICZuYnNwOyAmbmJzcDs8L3NwYW4+PC9kaXY+ DQo8ZGl2PjxzcGFuPnBhc3N0aHJ1MT0iMy8wLzE9MjoxIiAmbmJzcDsgJm5ic3A7PC9zcGFuPjwv ZGl2Pg0KPGRpdj48c3Bhbj4mbmJzcDsgJm5ic3A7IDwvc3Bhbj48L2Rpdj4NCjxkaXY+PHNwYW4+ I2JoeXZlX29wdGlvbnM9Ii1zIDI6MCxwYXNzdGhydSwzLzAvMCxyb209Ymlvcy5yb20iICZuYnNw OyAmbmJzcDs8L3NwYW4+PC9kaXY+DQo8ZGl2PjxzcGFuPjxicj4NCjwvc3Bhbj48L2Rpdj4NCjxk aXY+PHNwYW4+IyBVc2luZyBSRFAgcG9zdC1pbnN0YWxsLiZuYnNwOyAmbmJzcDs8L3NwYW4+PC9k aXY+DQo8ZGl2PjxzcGFuPmdyYXBoaWNzPSJubyIgJm5ic3A7ICZuYnNwOzwvc3Bhbj48L2Rpdj4N CjxkaXY+PHNwYW4+Z3JhcGhpY3NfcG9ydD0iNTkwMCIgJm5ic3A7ICZuYnNwOzwvc3Bhbj48L2Rp dj4NCjxkaXY+PHNwYW4+Z3JhcGhpY3NfbGlzdGVuPSIwLjAuMC4wIiAmbmJzcDsgJm5ic3A7PC9z cGFuPjwvZGl2Pg0KPGRpdj48c3Bhbj5ncmFwaGljc19yZXM9IjE5MjB4MTA4MCIgJm5ic3A7ICZu YnNwOzwvc3Bhbj48L2Rpdj4NCjxkaXY+PHNwYW4+Z3JhcGhpY3Nfd2FpdD0ieWVzIiAmbmJzcDsg Jm5ic3A7PC9zcGFuPjwvZGl2Pg0KPGRpdj48c3Bhbj4mbmJzcDsgJm5ic3A7IDwvc3Bhbj48L2Rp dj4NCjxkaXY+PHNwYW4+eGhjaV9tb3VzZT0ieWVzIiAmbmJzcDsgJm5ic3A7PC9zcGFuPjwvZGl2 Pg0KPGRpdj48c3Bhbj51dWlkPSI1MzVkNTRiNS04MWNiLTExZjAtOTNhMi05OGI3ODUwMWJkYTgi ICZuYnNwOyAmbmJzcDs8L3NwYW4+PC9kaXY+DQo8c3Bhbj5uZXR3b3JrMF9tYWM9IjU4OjljOmZj OjA0OjVhOmViIiZuYnNwOyAmbmJzcDs8L3NwYW4+PC9kaXY+DQo8ZGl2IHN0eWxlPSJmb250LWZh bWlseTpBcmlhbCxzYW5zLXNlcmlmOyBmb250LXNpemU6MTRweCI+PHNwYW4+PGJyPg0KPC9zcGFu PjwvZGl2Pg0KPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6QXJpYWwsc2Fucy1zZXJpZjsgZm9udC1z aXplOjE0cHgiPi0tLS0tLS0tLS0tLS0tLS08L2Rpdj4NCjxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5 OkFyaWFsLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZToxNHB4Ij48YnI+DQo8L2Rpdj4NCjxkaXYgY2xh c3M9InhfcHJvdG9ubWFpbF9zaWduYXR1cmVfYmxvY2siIHN0eWxlPSJmb250LWZhbWlseTpBcmlh bCxzYW5zLXNlcmlmOyBmb250LXNpemU6MTRweCI+DQo8ZGl2IGNsYXNzPSJ4X3Byb3Rvbm1haWxf c2lnbmF0dXJlX2Jsb2NrLXVzZXIiPg0KPGRpdj5Kb25hdGhhbiBWYXNxdWV6PGJyPg0KPC9kaXY+ DQo8ZGl2PlBHUDogMzREQSA4NThDIDE0NDcgNTA5RSBDNzdBIEQ0OUYgRkI4NSA5MEI3IEM0Q0Eg NTI3OTxicj4NCjwvZGl2Pg0KPGRpdj5TZW50IHdpdGggUHJvdG9uTWFpbCBTZWN1cmUgRW1haWw8 YnI+DQo8L2Rpdj4NCjxkaXY+PGJyPg0KPC9kaXY+DQo8L2Rpdj4NCjxkaXYgY2xhc3M9InhfcHJv dG9ubWFpbF9zaWduYXR1cmVfYmxvY2stcHJvdG9uIHhfcHJvdG9ubWFpbF9zaWduYXR1cmVfYmxv Y2stZW1wdHkiPg0KPC9kaXY+DQo8L2Rpdj4NCjxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OkFyaWFs LHNhbnMtc2VyaWY7IGZvbnQtc2l6ZToxNHB4Ij48YnI+DQo8L2Rpdj4NCjxkaXYgY2xhc3M9Inhf cHJvdG9ubWFpbF9xdW90ZSI+T24gTW9uZGF5LCBBdWd1c3QgMjV0aCwgMjAyNSBhdCAxMTowNSwg Sm9uYXRoYW4gVmFzcXVleiAmbHQ7am9uQHh5aW5uLm9yZyZndDsgd3JvdGU6PGJyPg0KPGJsb2Nr cXVvdGUgY2xhc3M9InhfcHJvdG9ubWFpbF9xdW90ZSIgdHlwZT0iY2l0ZSI+DQo8ZGl2IHN0eWxl PSJmb250LWZhbWlseTpBcmlhbCxzYW5zLXNlcmlmOyBmb250LXNpemU6MTRweCI+VW5mb3J0dW5h dGVseSBJIGRvbid0IGhhdmUgYW4gaW50ZWwgbWFjaGluZSB3aXRoIGFuIGF2YWlsYWJsZSBQQ0ll IHNsb3QuIEhvd2V2ZXIgSSdtIHRyeWluZyBhbm90aGVyIHRoaW5nIHdoaWNoIGlzIHRvIHBhc3N0 aHJvdWdoIHRoZSBjYXJkIHRvIGEgTGludXggZ3Vlc3QuIEkgbmVlZCB0byBydW4gbW9yZSBleHBl cmltZW50cyBidXQgYSBwcmVsaW1pbmFyeQ0KIGJvb3Qgb2YgYSBMaW51eCBNaW50IElTTyBkaWQg c2hvdyB0aGUgQU1EIFJhZGVvbiBSWCA2OTAwIFhUIGNhcmQgaW4gPGNvZGU+bHNwY2k8L2NvZGU+ 4oCLIGFuZCBzaG93ZWQgdGhhdCBpdCB3YXMgdXNpbmcgdGhlDQo8Y29kZT5hbWRncHU8L2NvZGU+ 4oCLIGRyaXZlci4gSSB0aGVuIGRpZCBhIGJhc2ljIDxjb2RlPmdseGdlYXJzPC9jb2RlPuKAiyBh bmQgaXQgb3BlbmVkIHVwIGluIG15IFZOQyB3aW5kb3cgYW5kIHNob3dlZCB0aGUgRlBTIGNvdW50 ZXIgYXQgb3ZlciAyMDAwIGZwcy4gVGhlIG9ubHkgaXNzdWUgSSBub3RpY2VkIHdhcyB3aGVuIHNo dXR0aW5nIGRvd24gdGhlIGxpdmUgQ0QgZW52aXJvbm1lbnQgdGhlcmUgd2VyZQ0KPGNvZGU+YW1k Z3B1PC9jb2RlPuKAiyBmYWlsdXJlIG1lc3NhZ2VzIHdoZXJlIGl0IHdhcyBmYWlsaW5nIHRvIHdy aXRlIHNvbWV0aGluZyB0byBpdC4gSSdtIGN1cnJlbnRseSByZWRvaW5nIG15ICJiYXNpYyBiaHl2 ZSBzY3JpcHQiIGFuZCBtb3ZpbmcgaXQgb3ZlciB0byAidm0tYmh5dmUiIHNpbmNlIGl0IHNlZW1z IGEgbG90IG9mIHBlb3BsZSBhcmUgdXNpbmcgdGhhdCBpbnN0ZWFkIG9mIHRoZSBtb3JlIG1hbnVh bCBhcHByb2FjaC4gVGhpcyBzaG91bGQNCiBob3BlZnVsbHkgaGVscCBzaW1wbGlmeSB0aGluZ3Mg Zm9yIGRlYnVnZ2luZy4gSWYgdGhlIGNhcmQgd29ya3Mgb24gTGludXggdmlhIHBhc3N0aHJvdWdo IHRoaXMgd291bGQgYWxzbyBiZSB1c2VmdWwgaW5mbyBhbmQgY2FuIGFsbG93IG1lIHRvIHNlZSB0 aGUgcGVyZm9ybWFuY2Ugb2YgQ3lwZXJwdW5rIDIwNzcsIGFuZCBzb21lIG90aGVyIGdhbWVzIChl dmVuIGlmIEknbSBub3QgZ2V0dGluZyAxMDAlIG9mIHRoZSBjYXJkJ3MgcGVyZm9ybWFuY2UpLjwv ZGl2Pg0KPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6QXJpYWwsc2Fucy1zZXJpZjsgZm9udC1zaXpl OjE0cHgiPjxicj4NCjwvZGl2Pg0KPGRpdiBjbGFzcz0ieF9wcm90b25tYWlsX3NpZ25hdHVyZV9i bG9jayIgc3R5bGU9ImZvbnQtZmFtaWx5OkFyaWFsLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZToxNHB4 Ij4NCjxkaXYgY2xhc3M9InhfcHJvdG9ubWFpbF9zaWduYXR1cmVfYmxvY2stdXNlciI+DQo8ZGl2 PkpvbmF0aGFuIFZhc3F1ZXo8YnI+DQo8L2Rpdj4NCjxkaXY+UEdQOiAzNERBIDg1OEMgMTQ0NyA1 MDlFIEM3N0EgRDQ5RiBGQjg1IDkwQjcgQzRDQSA1Mjc5PGJyPg0KPC9kaXY+DQo8ZGl2PlNlbnQg d2l0aCBQcm90b25NYWlsIFNlY3VyZSBFbWFpbDxicj4NCjwvZGl2Pg0KPGRpdj48YnI+DQo8L2Rp dj4NCjwvZGl2Pg0KPGRpdiBjbGFzcz0ieF9wcm90b25tYWlsX3NpZ25hdHVyZV9ibG9jay1wcm90 b24geF9wcm90b25tYWlsX3NpZ25hdHVyZV9ibG9jay1lbXB0eSI+DQo8L2Rpdj4NCjwvZGl2Pg0K PGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6QXJpYWwsc2Fucy1zZXJpZjsgZm9udC1zaXplOjE0cHgi Pjxicj4NCjwvZGl2Pg0KPGRpdiBjbGFzcz0ieF9wcm90b25tYWlsX3F1b3RlIj5PbiBNb25kYXks IEF1Z3VzdCAyNXRoLCAyMDI1IGF0IDExOjAwLCBTdGVwaGFuIEFsdGhhdXMgJmx0O1N0ZXBoYW4u QWx0aGF1c0BEdWVkaW5naGF1c2VuLmV1Jmd0OyB3cm90ZTo8YnI+DQo8YmxvY2txdW90ZSBjbGFz cz0ieF9wcm90b25tYWlsX3F1b3RlIiB0eXBlPSJjaXRlIj4NCjxkaXYgY2xhc3M9InhfbW96LWNp dGUtcHJlZml4Ij5PbiA4LzI1LzI1IDE2OjU2LCBKb25hdGhhbiBWYXNxdWV6IHdyb3RlOjxicj4N CjwvZGl2Pg0KPGJsb2NrcXVvdGUgdHlwZT0iY2l0ZSI+DQo8ZGl2IHN0eWxlPSJmb250LWZhbWls eTpBcmlhbCxzYW5zLXNlcmlmOyBmb250LXNpemU6MTRweCI+SGV5IFN0ZXBoYW4sPC9kaXY+DQo8 ZGl2IHN0eWxlPSJmb250LWZhbWlseTpBcmlhbCxzYW5zLXNlcmlmOyBmb250LXNpemU6MTRweCI+ PGJyPg0KPC9kaXY+DQo8ZGl2IHN0eWxlPSJmb250LWZhbWlseTpBcmlhbCxzYW5zLXNlcmlmOyBm b250LXNpemU6MTRweCI+WXVwLCBJJ3ZlIHRyaWVkIHBhc3NpbmcgYm90aCAzLzAvMCBhbmQgMy8w LzEgYW5kIG5vIGdvLCBhbmQgSSBhbHNvIG1ha2Ugc3VyZSB0byByZWJvb3QgdGhlIGhvc3QgaW4g YmV0d2VlbiBydW5zIGR1ZSB0byB0aGUgYW1kIGhhcmR3YXJlIGlzc3VlLiBJIGRvbid0IGJlbGll dmUgMy8wLzEgaXMgbmVjZXNzYXJ5IHRob3VnaCBiYXNlZCBvbiB0aGUgZXhhbXBsZXMNCiBieSBD b3J2aW4gaW4gaGlzIHRhbGsuIEhlIG9ubHkgcGFzc2VkIGluIDMvMC8wIChJJ20gZ3Vlc3Npbmcg aGlzIGNhcmQgYWxzbyBoYXMgYSAzLzAvMSBmdW5jdGlvbiB0aGF0IGhlIGlzbid0IHVzaW5nIHNp bmNlIHRoYXQncyB0aGUgYXVkaW8gY2hhbm5lbCkuPC9kaXY+DQo8ZGl2IHN0eWxlPSJmb250LWZh bWlseTpBcmlhbCxzYW5zLXNlcmlmOyBmb250LXNpemU6MTRweCI+PGJyPg0KPC9kaXY+DQo8ZGl2 IGNsYXNzPSJ4X3Byb3Rvbm1haWxfc2lnbmF0dXJlX2Jsb2NrIiBzdHlsZT0iZm9udC1mYW1pbHk6 QXJpYWwsc2Fucy1zZXJpZjsgZm9udC1zaXplOjE0cHgiPg0KPGRpdiBjbGFzcz0ieF9wcm90b25t YWlsX3NpZ25hdHVyZV9ibG9jay11c2VyIj4NCjxkaXY+Sm9uYXRoYW4gVmFzcXVlejxicj4NCjwv ZGl2Pg0KPGRpdj5QR1A6IDM0REEgODU4QyAxNDQ3IDUwOUUgQzc3QSBENDlGIEZCODUgOTBCNyBD NENBIDUyNzk8YnI+DQo8L2Rpdj4NCjxkaXY+U2VudCB3aXRoIFByb3Rvbk1haWwgU2VjdXJlIEVt YWlsPGJyPg0KPC9kaXY+DQo8ZGl2Pjxicj4NCjwvZGl2Pg0KPC9kaXY+DQo8ZGl2IGNsYXNzPSJ4 X3Byb3Rvbm1haWxfc2lnbmF0dXJlX2Jsb2NrLXByb3RvbiB4X3Byb3Rvbm1haWxfc2lnbmF0dXJl X2Jsb2NrLWVtcHR5Ij4NCjwvZGl2Pg0KPC9kaXY+DQo8ZGl2IHN0eWxlPSJmb250LWZhbWlseTpB cmlhbCxzYW5zLXNlcmlmOyBmb250LXNpemU6MTRweCI+PGJyPg0KPC9kaXY+DQo8ZGl2IGNsYXNz PSJ4X3Byb3Rvbm1haWxfcXVvdGUiPk9uIE1vbmRheSwgQXVndXN0IDI1dGgsIDIwMjUgYXQgMTA6 NTIsIFN0ZXBoYW4gQWx0aGF1cw0KPGEgY2xhc3M9InhfbW96LXR4dC1saW5rLXJmYzIzOTZFIiBo cmVmPSJtYWlsdG86U3RlcGhhbi5BbHRoYXVzQER1ZWRpbmdoYXVzZW4uZXUiIHJlbD0ibm9yZWZl cnJlciBub2ZvbGxvdyBub29wZW5lciI+DQombHQ7U3RlcGhhbi5BbHRoYXVzQER1ZWRpbmdoYXVz ZW4uZXUmZ3Q7PC9hPiB3cm90ZTo8YnI+DQo8YmxvY2txdW90ZSBjbGFzcz0ieF9wcm90b25tYWls X3F1b3RlIiB0eXBlPSJjaXRlIj4NCjxkaXYgY2xhc3M9InhfbW96LWNpdGUtcHJlZml4Ij5PbiA4 LzI1LzI1IDE2OjQ3LCBTdGVwaGFuIEFsdGhhdXMgd3JvdGU6PGJyPg0KPC9kaXY+DQo8YmxvY2tx dW90ZSB0eXBlPSJjaXRlIj4NCjxkaXYgY2xhc3M9InhfbW96LWNpdGUtcHJlZml4Ij5PbiA4LzI0 LzI1IDIzOjU4LCBKb25hdGhhbiBWYXNxdWV6IHdyb3RlOjxicj4NCjwvZGl2Pg0KPGJsb2NrcXVv dGUgdHlwZT0iY2l0ZSI+DQo8ZGl2IHN0eWxlPSJmb250LWZhbWlseTpBcmlhbCxzYW5zLXNlcmlm OyBmb250LXNpemU6MTRweCI+PHNwYW4+SGV5IGFsbCw8L3NwYW4+PC9kaXY+DQo8ZGl2IHN0eWxl PSJmb250LWZhbWlseTpBcmlhbCxzYW5zLXNlcmlmOyBmb250LXNpemU6MTRweCI+PHNwYW4+PGJy Pg0KPC9zcGFuPjwvZGl2Pg0KPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6QXJpYWwsc2Fucy1zZXJp ZjsgZm9udC1zaXplOjE0cHgiPjxzcGFuPkkndmUgYmVlbiBleHBlcmltZW50aW5nIHdpdGggdHJ5 aW5nIHRvIGdldCBteSBzZXJ2ZXIncyBkZWRpY2F0ZWQgQU1EIFJhZGVvbiBSWCA2OTAwIFhUIHdv cmtpbmcgb24gYSBiaHl2ZSBXaW5kb3dzIDEwIFBybyBjbGllbnQgZm9yIGdhbWluZyBwdXJwb3Nl cy4gSSd2ZSBiZWVuIHJlYWRpbmcgYSBidW5jaCBvZiBibG9nIHBvc3RzLCBzaXRlcywNCiBmaWxl cywgYW5kIHZpZGVvcyAodGhhbmtzIENvcnZpbikgdG8gdHJ5IGFuZCBwaWVjZSB0aGluZ3MgdG9n ZXRoZXIuIEkndmUgYmVlbiBhYmxlIHRvIGdldCB0aGUgVk0gdG8gcmVjb2duaXplIHRoZSBjYXJk LCBidXQgc3RpbGwgc3R1Y2sgb24gdGhlIENvZGUgNDMgaXNzdWUgKHdpdGggb3Igd2l0aG91dCB1 c2luZyB0aGUgdkJJT1MgSSd2ZSBleHRyYWN0ZWQgZnJvbSBteSBkZWRpY2F0ZWQgY2FyZCBhbmQg YWxzbyBlbnN1cmluZyBhbnkgb3B0aW9ucw0KIG5lZWRlZCB0byBiZSBvbiBpbiB0aGUgVUVGSSBz ZXR0aW5ncyBhcmUgZW5hYmxlZCkuIFRoaXMgbWFjaGluZSBpcyBydW5uaW5nIG9uIGFuIEFNRCBS eXplbiA5IDc5NTBYIDE2LUNvcmUgUHJvY2Vzc29yLCBzbyBpdCdzIGEgZnVsbCBBTUQgc2V0dXAs IG5vIEludGVsIHN0dWZmLiBJdCB0ZWNobmljYWxseSBzaG91bGQgYmUgcmVsYXRpdmVseSAiZWFz eSIgdG8gZ2V0IEFNRCB3b3JraW5nIGZyb20gd2hhdCBJJ3ZlIHJlYWQgKGV4Y2x1ZGluZyB0aGUN CiBrbm93biBBTUQgSGFyZHdhcmUgcmVzZXQgaXNzdWUpLiBJJ3ZlIGRvY3VtZW50ZWQgZXZlcnl0 aGluZyBJJ3ZlIGRvbmUgc28gZmFyLCBhbmQgd2lsbCBiZSBkb2N1bWVudGluZyBtb3JlIGFuZCBz aW1wbGlmeWluZyB0aGUgaW5zdHJ1Y3Rpb25zIGFzIEkgbWFrZSBwcm9ncmVzcy4gUGxlYXNlIGxl dCBtZSBrbm93IGlmIHlvdSBzZWUgYW55IHRoaW5nIHdlaXJkIG9yIGFueXRoaW5nIEkgY291bGQg dHJ5IGJhc2VkIG9uIHdoYXQgSSd2ZSByZXdyaXR0ZW4uDQogSSdsbCB0cnkgdG8gZ2l2ZSBpdCBh IGdvIGFuZCBwcm92aWRlIGZlZWRiYWNrLiBUaGFuayB5b3UhPC9zcGFuPjwvZGl2Pg0KPGRpdiBz dHlsZT0iZm9udC1mYW1pbHk6QXJpYWwsc2Fucy1zZXJpZjsgZm9udC1zaXplOjE0cHgiPjxzcGFu Pjxicj4NCjwvc3Bhbj48L2Rpdj4NCjxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OkFyaWFsLHNhbnMt c2VyaWY7IGZvbnQtc2l6ZToxNHB4Ij48c3Bhbj48YSB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub3Jl ZmVycmVyIG5vZm9sbG93IG5vb3BlbmVyIiBocmVmPSJodHRwczovL3h5aW5uLm9yZy9ibG9nL2Zy ZWVic2QvZnJlZWJzZF9iaHl2ZV9ncHVfcGFzc3Rocm91Z2hfYW1kIiBjbGFzcz0ieF9tb3otdHh0 LWxpbmstZnJlZXRleHQiPmh0dHBzOi8veHlpbm4ub3JnL2Jsb2cvZnJlZWJzZC9mcmVlYnNkX2Jo eXZlX2dwdV9wYXNzdGhyb3VnaF9hbWQ8L2E+PC9zcGFuPjxicj4NCjwvZGl2Pg0KPGRpdiBzdHls ZT0iZm9udC1mYW1pbHk6QXJpYWwsc2Fucy1zZXJpZjsgZm9udC1zaXplOjE0cHgiPjxicj4NCjwv ZGl2Pg0KPGRpdiBjbGFzcz0ieF9wcm90b25tYWlsX3NpZ25hdHVyZV9ibG9jayIgc3R5bGU9ImZv bnQtZmFtaWx5OkFyaWFsLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZToxNHB4Ij4NCjxkaXYgY2xhc3M9 InhfcHJvdG9ubWFpbF9zaWduYXR1cmVfYmxvY2stdXNlciI+DQo8ZGl2PkpvbmF0aGFuIFZhc3F1 ZXo8YnI+DQo8L2Rpdj4NCjxkaXY+UEdQOiAzNERBIDg1OEMgMTQ0NyA1MDlFIEM3N0EgRDQ5RiBG Qjg1IDkwQjcgQzRDQSA1Mjc5PGJyPg0KPC9kaXY+DQo8ZGl2PlNlbnQgd2l0aCBQcm90b25NYWls IFNlY3VyZSBFbWFpbDxicj4NCjwvZGl2Pg0KPGRpdj48YnI+DQo8L2Rpdj4NCjwvZGl2Pg0KPGRp diBjbGFzcz0ieF9wcm90b25tYWlsX3NpZ25hdHVyZV9ibG9jay1wcm90b24geF9wcm90b25tYWls X3NpZ25hdHVyZV9ibG9jay1lbXB0eSI+DQo8L2Rpdj4NCjwvZGl2Pg0KPC9ibG9ja3F1b3RlPg0K PHA+SGkhPC9wPg0KPHA+aSBoYXZlIGEgQU1EIFJYNjQwMCBHUFUgc2V0dXAgcnVubmluZyBvbiAx NC4yIHdpdGggd2luMTAgZ3Vlc3QsIGhvc3QgaXMgYSBpbnRlbCBzeXN0ZW0uPC9wPg0KPHA+aSB0 aGluayB5b3UgaGF2ZSB0byBwYXNzdGhyb3VnaCB0aGUgMy8wLzEgZGV2aWNlIGFzIHdlbGwhPC9w Pg0KPHA+VGhlIGJpb3Mucm9tIGlzIGV4dHJhY3RlZCBmcm9tIHRoaXMgY2FyZCBpbiBwbGFjZSA/ PC9wPg0KPHA+PGJyPg0KPC9wPg0KPHA+UmVnYXJkcyw8YnI+DQpTdGVwaGFuPC9wPg0KPHA+PGJy Pg0KPC9wPg0KPC9ibG9ja3F1b3RlPg0KPHA+QWgsIGFuZCBiZSBzaHVyZSB0byByZWJvb3QgdGhl IHdob2xlIHNldHVwLCBpbmNsdXNpdmUgaG9zdCwgZm9yIGV2ZXJ5IG5ldyB0ZXN0LWNhc2UsDQo8 YnI+DQphdCBsZWFzdCBhcyBsb25nIGF0IGlzIG5vdCBndWFyYW50ZWVkIHRoYXQgd2UgY2FuIGxp dmUgd2l0aG91dC4uPC9wPg0KPHA+UmVnYXJzLDxicj4NClN0ZXBoYW48L3A+DQo8cD48YnI+DQo8 L3A+DQo8L2Jsb2NrcXVvdGU+DQo8YnI+DQo8L2Rpdj4NCjwvYmxvY2txdW90ZT4NCjxwPkhpITwv cD4NCjxwPk15IG9ubHkgbmV4dCBhc3N1bXB0aW9uIHdvdWxkIGJlIHRoYXQgdGhpcyBvbmx5IGRv ZXMgbm90IHdvcmsgb24gQU1EIGhvc3QuPC9wPg0KPHA+WW91IGRvbid0IGhhdmUgYW4gaW50ZWwg c3lzdGVtIHRvIHRlc3QsIHlvdSB3b3VsZCBoYXZlZG9uZSBpdCwgaWYgc28uLiAoPyk8L3A+DQo8 cD5TdGVwaGFuPC9wPg0KPHA+PGJyPg0KPC9wPg0KPC9ibG9ja3F1b3RlPg0KPGJyPg0KPC9kaXY+ DQo8L2Jsb2NrcXVvdGU+DQo8YnI+DQo8L2Rpdj4NCjwvZGl2Pg0KDQoNCg0KICAgICAgICA8L2Js b2NrcXVvdGU+PGJyPg0KICAgIDwvZGl2Pg== --b1=_AXtQ3FpYyxGkfcOkguzjb6LhJYpLbYBtpmvxssJXRAw-- From nobody Wed Aug 27 03:51:22 2025 X-Original-To: virtualization@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cBVvR2j0mz65cRM for ; Wed, 27 Aug 2025 03:51:31 +0000 (UTC) (envelope-from peter.garshtja@ambient-md.com) Received: from mail-qv1-xf2f.google.com (mail-qv1-xf2f.google.com [IPv6:2607:f8b0:4864:20::f2f]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "WR4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cBVvQ1x8kz3sJk for ; Wed, 27 Aug 2025 03:51:30 +0000 (UTC) (envelope-from peter.garshtja@ambient-md.com) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=ambient-md-com.20230601.gappssmtp.com header.s=20230601 header.b=b9+VZg42; dmarc=none; spf=none (mx1.freebsd.org: domain of peter.garshtja@ambient-md.com has no SPF policy when checking 2607:f8b0:4864:20::f2f) smtp.mailfrom=peter.garshtja@ambient-md.com Received: by mail-qv1-xf2f.google.com with SMTP id 6a1803df08f44-70a9f5625b7so57329966d6.2 for ; Tue, 26 Aug 2025 20:51:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ambient-md-com.20230601.gappssmtp.com; s=20230601; t=1756266684; x=1756871484; darn=freebsd.org; h=to:subject:from:content-language:user-agent:mime-version:date :message-id:from:to:cc:subject:date:message-id:reply-to; bh=CGxwCQJWqFJr94ehU/YYt/W8izMwAo6aq3uWTrcJ2Ts=; b=b9+VZg428Tn3lzTPs9g6HDgPukR1HFZhrbREpW8souQemRxJpobim6zL1+k26YKWtX leFoR3zu2vTlyNU4liSwSamp7c+WtBMbrugzkXzymr3wWZDGykZuE8omhoMpa8WfCnC2 RyAzt4OybGbZ9MWw3M5PooAaBUw63nL95MKxycllYhZ1Re+gPQaz2uq1TAMaQaHCVaC8 ZhuQl9qcFBfTYV3CmQaIVh6kBFWlVF0QzQBqhGGTebBuMYH2CkyUpPYCTOg7bphZJJtF ZAEkliL/Fs7Veke95QhffAW/a17yaY4kCL7+8dpIj1UJ/sx0e2Y4QI2wAD7ojfzfD9kT 08Gg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1756266684; x=1756871484; h=to:subject:from:content-language:user-agent:mime-version:date :message-id:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=CGxwCQJWqFJr94ehU/YYt/W8izMwAo6aq3uWTrcJ2Ts=; b=g7wAbQBZtdcNBnQy0Bf0cMEza6W6vSMWC171mDxyhb8hrWuDjMJavzOFYGvnDEmN85 hqd2sDpAG036rI7rFJyfCcJeqBVj62qDEEkhOUq9bXxiffFY07tbOsDeQp+mOXzb7nmW w1SnL3ocnWo9o2zx/khUmkVhbJ6XtWaQrjfnuCYEh6PKgVOVLKMVw6mgzS/NXdfgKdWJ /pt4CFItzZzvqWvKLW1+6CEenjegSgN3gKSUZvm87EfbN3z3wcPXirSLCIV5E2H+Bjg3 mjwrLc0d/U4VQYsbIFO4nBc+cLzopYKiHo1Mbp5YAtowp0W5SdBbdvn2pjnmRaakcGCZ qEnA== X-Gm-Message-State: AOJu0YytMkYNXr+5C9iXdVgWg+XpUGd0BP7Ef6Xvi5QNKKtPoo2Ub1R6 LFWrESVIKCIWciF9p3O/wX9EcTg6+9/3RPqY1vV6HZPN3068f0XlOmyw+/CvgDOe0W5ljPfvjfg k6kiy8c0= X-Gm-Gg: ASbGncswFGA4dB7i8NjOCHgbBDIb00zltvHimKFvohE8uSFX6uCXWIhgNCFWJKY5gt9 u6NJBJ8ONuPD/k89ftouSFhVI2n/I/Q07XVBnAdViWeLmeJFfJuD5FxU0IoHUwhzyBvhCxKekce Hf/36n7+ZeuoFD3HUHjc15OqfwtEQ9der+PhHGMf9x3O6K7ifLNISoNNb+tc9sszZA5aW7BhFWg VOz3q/Z25BTCmWYb87ARXa6lm+GP4W7IGIRbJnS1L2/Jp5ncwO/2fHn/vX8VznTHN+MuzJb8qUb 5tNo+M1fxIo0ZpDejMNiwtxjwBk3qSoXK4RHtlxFOmyCyrdZptA9sJ2k82GuXrId6BLBVsDoa1R TmtMHjjLdFqz2w+kW3bZJG9p5MxPT0LuissBK8CffojjsIx9YPzDP0wFQ3sBTXL6xbEQwKDJzqV F3p0Wbd6fmGiLxHyaNl81VYd/8doRnfTtIkZA= X-Google-Smtp-Source: AGHT+IHV8XulkLRNKt8iZbDrWZgnnfok1B9IbH/97gq2ghrigaaZMd1/RO25FWJcm+lN6irXzfm3YQ== X-Received: by 2002:ad4:5cad:0:b0:70d:7cb2:3993 with SMTP id 6a1803df08f44-70d97112a80mr202248116d6.28.1756266683778; Tue, 26 Aug 2025 20:51:23 -0700 (PDT) Received: from [172.26.26.145] (bras-base-lprrpq1404w-grc-15-174-92-209-34.dsl.bell.ca. [174.92.209.34]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-70da728a11asm76854446d6.46.2025.08.26.20.51.23 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 26 Aug 2025 20:51:23 -0700 (PDT) Content-Type: multipart/alternative; boundary="------------fNgGG00Fd1icAbLeSVN1gK3v" Message-ID: <43c96438-6068-487d-b1ea-583dddf0f6e8@ambient-md.com> Date: Tue, 26 Aug 2025 23:51:22 -0400 List-Id: Discussion List-Archive: https://lists.freebsd.org/archives/freebsd-virtualization List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: freebsd-virtualization@freebsd.org Sender: owner-freebsd-virtualization@FreeBSD.org MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Content-Language: en-US From: Petru Garstea Subject: GPU Passthrough on FreeBSD 14.3(AMD Radeon RX 6700 XT and Debian Linux 12.11) To: virtualization@freebsd.org X-Spamd-Bar: --- X-Spamd-Result: default: False [-3.30 / 15.00]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_SHORT(-1.00)[-1.000]; R_DKIM_ALLOW(-0.20)[ambient-md-com.20230601.gappssmtp.com:s=20230601]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; R_SPF_NA(0.00)[no SPF record]; RCVD_VIA_SMTP_AUTH(0.00)[]; RCPT_COUNT_ONE(0.00)[1]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; DMARC_NA(0.00)[ambient-md.com]; ARC_NA(0.00)[]; MIME_TRACE(0.00)[0:+,1:+,2:~]; MID_RHS_MATCH_FROM(0.00)[]; MLMMJ_DEST(0.00)[virtualization@freebsd.org]; RCVD_TLS_LAST(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; FROM_HAS_DN(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[2607:f8b0:4864:20::f2f:from]; RCVD_COUNT_TWO(0.00)[2]; TO_MATCH_ENVRCPT_ALL(0.00)[]; TO_DN_NONE(0.00)[]; PREVIOUSLY_DELIVERED(0.00)[virtualization@freebsd.org]; DKIM_TRACE(0.00)[ambient-md-com.20230601.gappssmtp.com:+] X-Rspamd-Queue-Id: 4cBVvQ1x8kz3sJk This is a multi-part message in MIME format. --------------fNgGG00Fd1icAbLeSVN1gK3v Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Greetings, I’m running a *Debian Linux 12.11 VM on FreeBSD 14.3* using *bhyve*. Inside the VM, I’ve deployed the *Docker engine* with *Ollama configured for ROCm support*. However, when executing an LLM, the *GPU fails to initialize correctly*, causing the process to fail. Please note on the bare metal this setup works fine. The full log of this behavior is included below. --- > kernel: [drm] PCIE GART of 512M enabled (table at 0x0000008000000000). > kernel: [drm] PSP is resuming... > kernel: [drm] reserve 0xa00000 from 0x82fd000000 for PSP TMR > kernel: amdgpu 0000:00:01.0: amdgpu: RAS: optional ras ta ucode is not > available > kernel: amdgpu 0000:00:01.0: amdgpu: SECUREDISPLAY: securedisplay ta > ucode is not available > kernel: amdgpu 0000:00:01.0: amdgpu: SMU is resuming... > kernel: amdgpu 0000:00:01.0: amdgpu: smu driver if version = > 0x0000000e, smu fw if version = 0x00000012, smu fw program = 0, > version = 0x00413900 (65.57.0) > kernel: amdgpu 0000:00:01.0: amdgpu: SMU driver if version not matched > kernel: amdgpu 0000:00:01.0: amdgpu: use vbios provided pptable > kernel: amdgpu 0000:00:01.0: amdgpu: SMU is resumed successfully! > kernel: [drm] DMUB hardware initialized: version=0x02020017 > kernel: [drm] kiq ring mec 2 pipe 1 q 0 > kernel: [drm] VCN decode and encode initialized successfully(under DPG > Mode). > kernel: [drm] JPEG decode initialized successfully. > kernel: amdgpu 0000:00:01.0: amdgpu: ring gfx_0.0.0 uses VM inv eng 0 > on hub 0 > kernel: amdgpu 0000:00:01.0: amdgpu: ring comp_1.0.0 uses VM inv eng 1 > on hub 0 > kernel: amdgpu 0000:00:01.0: amdgpu: ring comp_1.1.0 uses VM inv eng 4 > on hub 0 > kernel: amdgpu 0000:00:01.0: amdgpu: ring comp_1.2.0 uses VM inv eng 5 > on hub 0 > kernel: amdgpu 0000:00:01.0: amdgpu: ring comp_1.3.0 uses VM inv eng 6 > on hub 0 > kernel: amdgpu 0000:00:01.0: amdgpu: ring comp_1.0.1 uses VM inv eng 7 > on hub 0 > kernel: amdgpu 0000:00:01.0: amdgpu: ring comp_1.1.1 uses VM inv eng 8 > on hub 0 > kernel: amdgpu 0000:00:01.0: amdgpu: ring comp_1.2.1 uses VM inv eng 9 > on hub 0 > kernel: amdgpu 0000:00:01.0: amdgpu: ring comp_1.3.1 uses VM inv eng > 10 on hub 0 > kernel: amdgpu 0000:00:01.0: amdgpu: ring kiq_2.1.0 uses VM inv eng 11 > on hub 0 > kernel: amdgpu 0000:00:01.0: amdgpu: ring sdma0 uses VM inv eng 12 on > hub 0 > kernel: amdgpu 0000:00:01.0: amdgpu: ring sdma1 uses VM inv eng 13 on > hub 0 > kernel: amdgpu 0000:00:01.0: amdgpu: ring vcn_dec_0 uses VM inv eng 0 > on hub 1 > kernel: amdgpu 0000:00:01.0: amdgpu: ring vcn_enc_0.0 uses VM inv eng > 1 on hub 1 > kernel: amdgpu 0000:00:01.0: amdgpu: ring vcn_enc_0.1 uses VM inv eng > 4 on hub 1 > kernel: amdgpu 0000:00:01.0: amdgpu: ring jpeg_dec uses VM inv eng 5 > on hub 1 > kernel: amdgpu 0000:00:01.0: [drm] Cannot find any crtc or sizes > kernel: amdgpu: qcm fence wait loop timeout expired > kernel: amdgpu: The cp might be in an unrecoverable state due to an > unsuccessful queues preemption > kernel: amdgpu: Pasid 0x8002 DQM create queue type 0 failed. ret -62 > kernel: amdgpu 0000:00:01.0: amdgpu: GPU reset begin! > kernel: amdgpu: Failed to suspend process 0x8002 > kernel: amdgpu: Failed to suspend process 0x8001 > kernel: amdgpu 0000:00:01.0: amdgpu: free PSP TMR buffer > kernel: amdgpu 0000:00:01.0: amdgpu: MODE1 reset > kernel: amdgpu 0000:00:01.0: amdgpu: GPU mode1 reset > kernel: amdgpu 0000:00:01.0: amdgpu: GPU smu mode1 reset > kernel: amdgpu 0000:00:01.0: amdgpu: GPU reset succeeded, trying to resume > kernel: clocksource: Long readout interval, skipping watchdog check: > cs_nsec: 12622536057 wd_nsec: 12613480925 > kernel: [drm] PCIE GART of 512M enabled (table at 0x0000008000000000). > kernel: [drm] VRAM is lost due to GPU reset! > kernel: [drm] PSP is resuming... > kernel: [drm:psp_hw_start [amdgpu]] *ERROR* PSP create ring failed! > kernel: [drm:psp_resume [amdgpu]] *ERROR* PSP resume failed > kernel: [drm:amdgpu_device_fw_loading [amdgpu]] *ERROR* resume of IP > block failed -62 > kernel: amdgpu 0000:00:01.0: amdgpu: GPU reset(1) failed > kernel: amdgpu: qcm fence wait loop timeout expired > kernel: amdgpu: The cp might be in an unrecoverable state due to an > unsuccessful queues preemption > kernel: amdgpu 0000:00:01.0: amdgpu: GPU reset end with ret = -62 > kernel: amdgpu 0000:00:01.0: amdgpu: GPU reset begin! > kernel: amdgpu 0000:00:01.0: amdgpu: Failed to disallow df cstate Regards, Petru --------------fNgGG00Fd1icAbLeSVN1gK3v Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 8bit

Greetings,

I’m running a Debian Linux 12.11 VM on FreeBSD 14.3 using bhyve.
Inside the VM, I’ve deployed the Docker engine with Ollama configured for ROCm support.

However, when executing an LLM, the GPU fails to initialize correctly, causing the process to fail.
Please note on the bare metal this setup works fine.

The full log of this behavior is included below.

---

kernel: [drm] PCIE GART of 512M enabled (table at 0x0000008000000000).
kernel: [drm] PSP is resuming...
kernel: [drm] reserve 0xa00000 from 0x82fd000000 for PSP TMR
kernel: amdgpu 0000:00:01.0: amdgpu: RAS: optional ras ta ucode is not available
kernel: amdgpu 0000:00:01.0: amdgpu: SECUREDISPLAY: securedisplay ta ucode is not available
kernel: amdgpu 0000:00:01.0: amdgpu: SMU is resuming...
kernel: amdgpu 0000:00:01.0: amdgpu: smu driver if version = 0x0000000e, smu fw if version = 0x00000012, smu fw program = 0, version = 0x00413900 (65.57.0)
kernel: amdgpu 0000:00:01.0: amdgpu: SMU driver if version not matched
kernel: amdgpu 0000:00:01.0: amdgpu: use vbios provided pptable
kernel: amdgpu 0000:00:01.0: amdgpu: SMU is resumed successfully!
kernel: [drm] DMUB hardware initialized: version=0x02020017
kernel: [drm] kiq ring mec 2 pipe 1 q 0
kernel: [drm] VCN decode and encode initialized successfully(under DPG Mode).
kernel: [drm] JPEG decode initialized successfully.
kernel: amdgpu 0000:00:01.0: amdgpu: ring gfx_0.0.0 uses VM inv eng 0 on hub 0
kernel: amdgpu 0000:00:01.0: amdgpu: ring comp_1.0.0 uses VM inv eng 1 on hub 0
kernel: amdgpu 0000:00:01.0: amdgpu: ring comp_1.1.0 uses VM inv eng 4 on hub 0
kernel: amdgpu 0000:00:01.0: amdgpu: ring comp_1.2.0 uses VM inv eng 5 on hub 0
kernel: amdgpu 0000:00:01.0: amdgpu: ring comp_1.3.0 uses VM inv eng 6 on hub 0
kernel: amdgpu 0000:00:01.0: amdgpu: ring comp_1.0.1 uses VM inv eng 7 on hub 0
kernel: amdgpu 0000:00:01.0: amdgpu: ring comp_1.1.1 uses VM inv eng 8 on hub 0
kernel: amdgpu 0000:00:01.0: amdgpu: ring comp_1.2.1 uses VM inv eng 9 on hub 0
kernel: amdgpu 0000:00:01.0: amdgpu: ring comp_1.3.1 uses VM inv eng 10 on hub 0
kernel: amdgpu 0000:00:01.0: amdgpu: ring kiq_2.1.0 uses VM inv eng 11 on hub 0
kernel: amdgpu 0000:00:01.0: amdgpu: ring sdma0 uses VM inv eng 12 on hub 0
kernel: amdgpu 0000:00:01.0: amdgpu: ring sdma1 uses VM inv eng 13 on hub 0
kernel: amdgpu 0000:00:01.0: amdgpu: ring vcn_dec_0 uses VM inv eng 0 on hub 1
kernel: amdgpu 0000:00:01.0: amdgpu: ring vcn_enc_0.0 uses VM inv eng 1 on hub 1
kernel: amdgpu 0000:00:01.0: amdgpu: ring vcn_enc_0.1 uses VM inv eng 4 on hub 1
kernel: amdgpu 0000:00:01.0: amdgpu: ring jpeg_dec uses VM inv eng 5 on hub 1
kernel: amdgpu 0000:00:01.0: [drm] Cannot find any crtc or sizes
kernel: amdgpu: qcm fence wait loop timeout expired
kernel: amdgpu: The cp might be in an unrecoverable state due to an unsuccessful queues preemption
kernel: amdgpu: Pasid 0x8002 DQM create queue type 0 failed. ret -62
kernel: amdgpu 0000:00:01.0: amdgpu: GPU reset begin!
kernel: amdgpu: Failed to suspend process 0x8002
kernel: amdgpu: Failed to suspend process 0x8001
kernel: amdgpu 0000:00:01.0: amdgpu: free PSP TMR buffer
kernel: amdgpu 0000:00:01.0: amdgpu: MODE1 reset
kernel: amdgpu 0000:00:01.0: amdgpu: GPU mode1 reset
kernel: amdgpu 0000:00:01.0: amdgpu: GPU smu mode1 reset
kernel: amdgpu 0000:00:01.0: amdgpu: GPU reset succeeded, trying to resume
kernel: clocksource: Long readout interval, skipping watchdog check: cs_nsec: 12622536057 wd_nsec: 12613480925
kernel: [drm] PCIE GART of 512M enabled (table at 0x0000008000000000).
kernel: [drm] VRAM is lost due to GPU reset!
kernel: [drm] PSP is resuming...
kernel: [drm:psp_hw_start [amdgpu]] *ERROR* PSP create ring failed!
kernel: [drm:psp_resume [amdgpu]] *ERROR* PSP resume failed
kernel: [drm:amdgpu_device_fw_loading [amdgpu]] *ERROR* resume of IP block <psp> failed -62
kernel: amdgpu 0000:00:01.0: amdgpu: GPU reset(1) failed
kernel: amdgpu: qcm fence wait loop timeout expired
kernel: amdgpu: The cp might be in an unrecoverable state due to an unsuccessful queues preemption
kernel: amdgpu 0000:00:01.0: amdgpu: GPU reset end with ret = -62
kernel: amdgpu 0000:00:01.0: amdgpu: GPU reset begin!
kernel: amdgpu 0000:00:01.0: amdgpu: Failed to disallow df cstate

Regards,
Petru

--------------fNgGG00Fd1icAbLeSVN1gK3v-- From nobody Wed Aug 27 05:18:44 2025 X-Original-To: virtualization@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cBXrB6lyvz65k1g for ; Wed, 27 Aug 2025 05:18:50 +0000 (UTC) (envelope-from Stephan.Althaus@Duedinghausen.eu) Received: from mo4-p05-ob.smtp.rzone.de (mo4-p05-ob.smtp.rzone.de [85.215.255.131]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "*.smtp.rzone.de", Issuer "Telekom Security ServerID OV Class 2 CA" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cBXr90mNWz3yfd for ; Wed, 27 Aug 2025 05:18:48 +0000 (UTC) (envelope-from Stephan.Althaus@Duedinghausen.eu) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=hoewweken.de header.s=strato-dkim-0002 header.b=sBq47O0w; dkim=pass header.d=hoewweken.de header.s=strato-dkim-0003 header.b=5oIYkRy2; dkim=pass header.d=duedinghausen.eu header.s=default header.b=c3fsbCuv; dmarc=pass (policy=reject) header.from=duedinghausen.eu; spf=none (mx1.freebsd.org: domain of Stephan.Althaus@Duedinghausen.eu has no SPF policy when checking 85.215.255.131) smtp.mailfrom=Stephan.Althaus@Duedinghausen.eu; arc=pass ("strato.com:s=strato-dkim-0002:i=1") ARC-Seal: i=1; a=rsa-sha256; t=1756271926; cv=none; d=strato.com; s=strato-dkim-0002; b=qEySTxbKLU08NWH/wun/5+Q/IdlMK+Qsj5gbLEIVb1603nsVlOAs58QdpcXsScfvwr ludGydiTaYtL1O+Uu+06Aw0NYxB80BpoTERDowF33WsWcHc8gDqfdPdYGL7JWSRthyYX fbV96eJvAuPRPPEMpJDwjiw2sTnnsN1Ny+1HuhrDnTi0PCn8Ff5YTsNwHb+cSoGvY7V/ 0vVtuPcC0hdBhALirtnIef4PBdp548w8MX/v72XBtIFvuaCTw/H4O2EUdIiihBOeoAKU gsGwT91FR8/LNgucMcstFccQVKJqUEqMhm2zbSR3r6JvU7CuUEhRfud6SiPoXy7IyNyl rAAg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; t=1756271926; s=strato-dkim-0002; d=strato.com; h=In-Reply-To:From:References:To:Subject:Date:Message-ID:Cc:Date:From: Subject:Sender; bh=HAC005ipCLf3dXAhXTHqiEpDc8/g6yDG/7PZ9jx7PGE=; b=mJd0wOTNeDp9fNbUwk9dbYrk5Glk+oqVPB4hq/W7pJ/DT7ZWKaHhwfWWHd25Jx6eGE ddPSV2CCvXTWvGcm5FoL7IBN76PvFb1fN0EiZ2tnkTD5lq87mzlm+y9cbPgmZyI1k0N4 MPiE/8ZwaXRU32W2huElU0dO4Yy3dTSQNktI9GdLNdo4CXNZnOfLbT9y8PFvvV9iKQFP 1SWqApGtPkiJ0LD8FiG1+i81yVaA1gkLCnbgYwpVnwZ6yOHGoptng1H5+fvlOl23dsNK 6RzdU25figf/WDGrg6ayVO5D5I3mZ+GhE2jI6p4aFGUeByE6kvcdQCTF91C6qd/wniVz eQvA== ARC-Authentication-Results: i=1; strato.com; arc=none; dkim=pass header.d="duedinghausen.eu" header.s="default" header.a="rsa-sha256" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1756271926; s=strato-dkim-0002; d=hoewweken.de; h=In-Reply-To:From:References:To:Subject:Date:Message-ID:Cc:Date:From: Subject:Sender; bh=HAC005ipCLf3dXAhXTHqiEpDc8/g6yDG/7PZ9jx7PGE=; b=sBq47O0wn59J1KJv2IFKh/Y6JKu0Mi7sVsdJF6PAk2NzAYksVAxUz2jg2d6g/fFoCw WzB8GpVOvgex5qOynnub1J0tOe1p5NsnYnKaeLL25zlqrO5keaI+3zAFrJXgSH5oPvuZ uKL8WrjRJIdJIjMG3Bp0R6hAt/FTWtrdGR8uncDO8LJWiVAzYYP0Lq9qc+Ht/oVzbvhv lumJGcbu+GhPsv8Lr9Y2fGdh0cW+L0M1HSpYO+ct5uyTKTJMPh1MA84xTWwuM81buZ4a bi+siyIwoJQCzSug/IMuuJOmraZQeHvtLWgNeIWvB/t4Nuw8CcHFoXhuxskH+a1hUByB cN6A== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; t=1756271926; s=strato-dkim-0003; d=hoewweken.de; h=In-Reply-To:From:References:To:Subject:Date:Message-ID:Cc:Date:From: Subject:Sender; bh=HAC005ipCLf3dXAhXTHqiEpDc8/g6yDG/7PZ9jx7PGE=; b=5oIYkRy2VeMLXrWoBIljr4PSGwrDgW+MMme4ci9a0icrvUdjss/5N0wivZhGAyJLhh +PvFqlUAMIQxIJ1pjJCA== X-RZG-AUTH: ":O2kGeEG7b/pS1EW2TmikjLDsYYueHLp2aWg0q38nsxvThUrH35SBpgREu1OVr06TMgNQOGA=" X-RZG-CLASS-ID: mo05 Received: from www.duedinghausen.eu by smtp.strato.de (RZmta 52.1.2 DYNA|AUTH) with ESMTPSA id q9bf2e17R5IkG3h (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256 bits)) (Client did not present a certificate) for ; Wed, 27 Aug 2025 07:18:46 +0200 (CEST) Received: from [192.168.2.63] (p5dde9411.dip0.t-ipconnect.de [93.222.148.17]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384) (No client certificate requested) (Authenticated sender: steven) by www.duedinghausen.eu (Postfix) with ESMTPSA id C516114DE17 for ; Wed, 27 Aug 2025 07:18:45 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=duedinghausen.eu; s=default; t=1756271925; bh=JJLgSGVXFQqf1xchDwblA5jyqc3YCom3LmmH8hXllTQ=; h=Date:Subject:To:References:From:In-Reply-To; b=c3fsbCuvJoZNdHfLfJuEgJBjg2N38Rzg9uelijsTxqGRXtEQHFMws1OgHaryLjP0z JOB3PtWYWOMa2wi5QKlHY0setvlGDXifCNxy07aXF6rIVbW8zq+lRcOTFV/MeiU8x5 EBUsNzLAc4IlXRW4VRRAUn1pewNBCp6FZIebwYVJjOawE0f5bFKCQZHsQHUzoZIGyD Y0yRd0CsZXuKU/S1FD8pjbE+/L29jcXnfC5biqw+lGnUgmOi8wx2l5iRJ9EA44DL+U q9MxLXoBb9OIKOilmfbyRxdeDQSA9HU9CEBfGj5FPCqNr1A5AYVMhHEx2xargmHObC 0EwSiHSpEXkg/xEdjuzozCC3wWH9RzO6Mg3DoqTbUgpxvlue5R5XVm252FbKIaTbsc ORn6ekUZfnG2loFTYYCbK5YRH3KXzsTHJzEQcxRTLKz3QCvnvW+aHaMOHQ1Ji8tvNS Voro7t7Ffaec3kI1UQfh4435J0NoX4VQJNdTKWHRiWy3Tavynv0QCxyymdss4083nR 2lcZhL/eCdwjOoMqqXaOYuAFshW2NNdW4hWNSawVsh3OQTZH/px2V75sRv1VGcuIHs p+1M2dZH7uaw6a2pn5aFRegC/OCYMEE80+5JSL410TKXbnhQUAx8KcEnoOmakknfQi oB9obTaDkdzJCqZNfzaa5aks= Content-Type: multipart/alternative; boundary="------------2GAnctWoAxrslocHuDbOtxZO" Message-ID: <1117706a-6680-4f00-8728-16ae195f02ca@Duedinghausen.eu> Date: Wed, 27 Aug 2025 07:18:44 +0200 List-Id: Discussion List-Archive: https://lists.freebsd.org/archives/freebsd-virtualization List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: freebsd-virtualization@freebsd.org Sender: owner-freebsd-virtualization@FreeBSD.org MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: GPU Passthrough on FreeBSD 14.3(AMD Radeon RX 6700 XT and Debian Linux 12.11) To: virtualization@freebsd.org References: <43c96438-6068-487d-b1ea-583dddf0f6e8@ambient-md.com> Content-Language: en-US From: Stephan Althaus In-Reply-To: <43c96438-6068-487d-b1ea-583dddf0f6e8@ambient-md.com> Content-Transfer-Encoding: 8bit X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.61 / 15.00]; ARC_ALLOW(-1.00)[strato.com:s=strato-dkim-0002:i=1]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_SHORT(-0.81)[-0.811]; DMARC_POLICY_ALLOW(-0.50)[duedinghausen.eu,reject]; R_DKIM_ALLOW(-0.20)[hoewweken.de:s=strato-dkim-0002,hoewweken.de:s=strato-dkim-0003,duedinghausen.eu:s=default]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; DKIM_TRACE(0.00)[hoewweken.de:+,duedinghausen.eu:+]; RCVD_TLS_ALL(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; ASN(0.00)[asn:6724, ipnet:85.215.255.0/24, country:DE]; RCPT_COUNT_ONE(0.00)[1]; R_SPF_NA(0.00)[no SPF record]; RCVD_VIA_SMTP_AUTH(0.00)[]; MID_RHS_MATCH_FROM(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; FROM_HAS_DN(0.00)[]; MIME_TRACE(0.00)[0:+,1:+,2:~]; RCVD_COUNT_TWO(0.00)[2]; PREVIOUSLY_DELIVERED(0.00)[virtualization@freebsd.org]; TO_DN_NONE(0.00)[]; MLMMJ_DEST(0.00)[virtualization@freebsd.org]; RCVD_IN_DNSWL_NONE(0.00)[85.215.255.131:from] X-Rspamd-Queue-Id: 4cBXr90mNWz3yfd This is a multi-part message in MIME format. --------------2GAnctWoAxrslocHuDbOtxZO Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit On 8/27/25 05:51, Petru Garstea wrote: > > Greetings, > > I’m running a *Debian Linux 12.11 VM on FreeBSD 14.3* using *bhyve*. > Inside the VM, I’ve deployed the *Docker engine* with *Ollama > configured for ROCm support*. > > However, when executing an LLM, the *GPU fails to initialize > correctly*, causing the process to fail. > Please note on the bare metal this setup works fine. > > The full log of this behavior is included below. > > --- > >> kernel: [drm] PCIE GART of 512M enabled (table at 0x0000008000000000). >> kernel: [drm] PSP is resuming... >> kernel: [drm] reserve 0xa00000 from 0x82fd000000 for PSP TMR >> kernel: amdgpu 0000:00:01.0: amdgpu: RAS: optional ras ta ucode is >> not available >> kernel: amdgpu 0000:00:01.0: amdgpu: SECUREDISPLAY: securedisplay ta >> ucode is not available >> kernel: amdgpu 0000:00:01.0: amdgpu: SMU is resuming... >> kernel: amdgpu 0000:00:01.0: amdgpu: smu driver if version = >> 0x0000000e, smu fw if version = 0x00000012, smu fw program = 0, >> version = 0x00413900 (65.57.0) >> kernel: amdgpu 0000:00:01.0: amdgpu: SMU driver if version not matched >> kernel: amdgpu 0000:00:01.0: amdgpu: use vbios provided pptable >> kernel: amdgpu 0000:00:01.0: amdgpu: SMU is resumed successfully! >> kernel: [drm] DMUB hardware initialized: version=0x02020017 >> kernel: [drm] kiq ring mec 2 pipe 1 q 0 >> kernel: [drm] VCN decode and encode initialized successfully(under >> DPG Mode). >> kernel: [drm] JPEG decode initialized successfully. >> kernel: amdgpu 0000:00:01.0: amdgpu: ring gfx_0.0.0 uses VM inv eng 0 >> on hub 0 >> kernel: amdgpu 0000:00:01.0: amdgpu: ring comp_1.0.0 uses VM inv eng >> 1 on hub 0 >> kernel: amdgpu 0000:00:01.0: amdgpu: ring comp_1.1.0 uses VM inv eng >> 4 on hub 0 >> kernel: amdgpu 0000:00:01.0: amdgpu: ring comp_1.2.0 uses VM inv eng >> 5 on hub 0 >> kernel: amdgpu 0000:00:01.0: amdgpu: ring comp_1.3.0 uses VM inv eng >> 6 on hub 0 >> kernel: amdgpu 0000:00:01.0: amdgpu: ring comp_1.0.1 uses VM inv eng >> 7 on hub 0 >> kernel: amdgpu 0000:00:01.0: amdgpu: ring comp_1.1.1 uses VM inv eng >> 8 on hub 0 >> kernel: amdgpu 0000:00:01.0: amdgpu: ring comp_1.2.1 uses VM inv eng >> 9 on hub 0 >> kernel: amdgpu 0000:00:01.0: amdgpu: ring comp_1.3.1 uses VM inv eng >> 10 on hub 0 >> kernel: amdgpu 0000:00:01.0: amdgpu: ring kiq_2.1.0 uses VM inv eng >> 11 on hub 0 >> kernel: amdgpu 0000:00:01.0: amdgpu: ring sdma0 uses VM inv eng 12 on >> hub 0 >> kernel: amdgpu 0000:00:01.0: amdgpu: ring sdma1 uses VM inv eng 13 on >> hub 0 >> kernel: amdgpu 0000:00:01.0: amdgpu: ring vcn_dec_0 uses VM inv eng 0 >> on hub 1 >> kernel: amdgpu 0000:00:01.0: amdgpu: ring vcn_enc_0.0 uses VM inv eng >> 1 on hub 1 >> kernel: amdgpu 0000:00:01.0: amdgpu: ring vcn_enc_0.1 uses VM inv eng >> 4 on hub 1 >> kernel: amdgpu 0000:00:01.0: amdgpu: ring jpeg_dec uses VM inv eng 5 >> on hub 1 >> kernel: amdgpu 0000:00:01.0: [drm] Cannot find any crtc or sizes >> kernel: amdgpu: qcm fence wait loop timeout expired >> kernel: amdgpu: The cp might be in an unrecoverable state due to an >> unsuccessful queues preemption >> kernel: amdgpu: Pasid 0x8002 DQM create queue type 0 failed. ret -62 >> kernel: amdgpu 0000:00:01.0: amdgpu: GPU reset begin! >> kernel: amdgpu: Failed to suspend process 0x8002 >> kernel: amdgpu: Failed to suspend process 0x8001 >> kernel: amdgpu 0000:00:01.0: amdgpu: free PSP TMR buffer >> kernel: amdgpu 0000:00:01.0: amdgpu: MODE1 reset >> kernel: amdgpu 0000:00:01.0: amdgpu: GPU mode1 reset >> kernel: amdgpu 0000:00:01.0: amdgpu: GPU smu mode1 reset >> kernel: amdgpu 0000:00:01.0: amdgpu: GPU reset succeeded, trying to >> resume >> kernel: clocksource: Long readout interval, skipping watchdog check: >> cs_nsec: 12622536057 wd_nsec: 12613480925 >> kernel: [drm] PCIE GART of 512M enabled (table at 0x0000008000000000). >> kernel: [drm] VRAM is lost due to GPU reset! >> kernel: [drm] PSP is resuming... >> kernel: [drm:psp_hw_start [amdgpu]] *ERROR* PSP create ring failed! >> kernel: [drm:psp_resume [amdgpu]] *ERROR* PSP resume failed >> kernel: [drm:amdgpu_device_fw_loading [amdgpu]] *ERROR* resume of IP >> block failed -62 >> kernel: amdgpu 0000:00:01.0: amdgpu: GPU reset(1) failed >> kernel: amdgpu: qcm fence wait loop timeout expired >> kernel: amdgpu: The cp might be in an unrecoverable state due to an >> unsuccessful queues preemption >> kernel: amdgpu 0000:00:01.0: amdgpu: GPU reset end with ret = -62 >> kernel: amdgpu 0000:00:01.0: amdgpu: GPU reset begin! >> kernel: amdgpu 0000:00:01.0: amdgpu: Failed to disallow df cstate > > Regards, > Petru > Hello! Before you start docker, are you able to verify that the GPU is actually working in the vm? How did you verify ? (for AMD i don't know tho tooling) Regards, Stephan --------------2GAnctWoAxrslocHuDbOtxZO Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 8bit
On 8/27/25 05:51, Petru Garstea wrote:

Greetings,

I’m running a Debian Linux 12.11 VM on FreeBSD 14.3 using bhyve.
Inside the VM, I’ve deployed the Docker engine with Ollama configured for ROCm support.

However, when executing an LLM, the GPU fails to initialize correctly, causing the process to fail.
Please note on the bare metal this setup works fine.

The full log of this behavior is included below.

---

kernel: [drm] PCIE GART of 512M enabled (table at 0x0000008000000000).
kernel: [drm] PSP is resuming...
kernel: [drm] reserve 0xa00000 from 0x82fd000000 for PSP TMR
kernel: amdgpu 0000:00:01.0: amdgpu: RAS: optional ras ta ucode is not available
kernel: amdgpu 0000:00:01.0: amdgpu: SECUREDISPLAY: securedisplay ta ucode is not available
kernel: amdgpu 0000:00:01.0: amdgpu: SMU is resuming...
kernel: amdgpu 0000:00:01.0: amdgpu: smu driver if version = 0x0000000e, smu fw if version = 0x00000012, smu fw program = 0, version = 0x00413900 (65.57.0)
kernel: amdgpu 0000:00:01.0: amdgpu: SMU driver if version not matched
kernel: amdgpu 0000:00:01.0: amdgpu: use vbios provided pptable
kernel: amdgpu 0000:00:01.0: amdgpu: SMU is resumed successfully!
kernel: [drm] DMUB hardware initialized: version=0x02020017
kernel: [drm] kiq ring mec 2 pipe 1 q 0
kernel: [drm] VCN decode and encode initialized successfully(under DPG Mode).
kernel: [drm] JPEG decode initialized successfully.
kernel: amdgpu 0000:00:01.0: amdgpu: ring gfx_0.0.0 uses VM inv eng 0 on hub 0
kernel: amdgpu 0000:00:01.0: amdgpu: ring comp_1.0.0 uses VM inv eng 1 on hub 0
kernel: amdgpu 0000:00:01.0: amdgpu: ring comp_1.1.0 uses VM inv eng 4 on hub 0
kernel: amdgpu 0000:00:01.0: amdgpu: ring comp_1.2.0 uses VM inv eng 5 on hub 0
kernel: amdgpu 0000:00:01.0: amdgpu: ring comp_1.3.0 uses VM inv eng 6 on hub 0
kernel: amdgpu 0000:00:01.0: amdgpu: ring comp_1.0.1 uses VM inv eng 7 on hub 0
kernel: amdgpu 0000:00:01.0: amdgpu: ring comp_1.1.1 uses VM inv eng 8 on hub 0
kernel: amdgpu 0000:00:01.0: amdgpu: ring comp_1.2.1 uses VM inv eng 9 on hub 0
kernel: amdgpu 0000:00:01.0: amdgpu: ring comp_1.3.1 uses VM inv eng 10 on hub 0
kernel: amdgpu 0000:00:01.0: amdgpu: ring kiq_2.1.0 uses VM inv eng 11 on hub 0
kernel: amdgpu 0000:00:01.0: amdgpu: ring sdma0 uses VM inv eng 12 on hub 0
kernel: amdgpu 0000:00:01.0: amdgpu: ring sdma1 uses VM inv eng 13 on hub 0
kernel: amdgpu 0000:00:01.0: amdgpu: ring vcn_dec_0 uses VM inv eng 0 on hub 1
kernel: amdgpu 0000:00:01.0: amdgpu: ring vcn_enc_0.0 uses VM inv eng 1 on hub 1
kernel: amdgpu 0000:00:01.0: amdgpu: ring vcn_enc_0.1 uses VM inv eng 4 on hub 1
kernel: amdgpu 0000:00:01.0: amdgpu: ring jpeg_dec uses VM inv eng 5 on hub 1
kernel: amdgpu 0000:00:01.0: [drm] Cannot find any crtc or sizes
kernel: amdgpu: qcm fence wait loop timeout expired
kernel: amdgpu: The cp might be in an unrecoverable state due to an unsuccessful queues preemption
kernel: amdgpu: Pasid 0x8002 DQM create queue type 0 failed. ret -62
kernel: amdgpu 0000:00:01.0: amdgpu: GPU reset begin!
kernel: amdgpu: Failed to suspend process 0x8002
kernel: amdgpu: Failed to suspend process 0x8001
kernel: amdgpu 0000:00:01.0: amdgpu: free PSP TMR buffer
kernel: amdgpu 0000:00:01.0: amdgpu: MODE1 reset
kernel: amdgpu 0000:00:01.0: amdgpu: GPU mode1 reset
kernel: amdgpu 0000:00:01.0: amdgpu: GPU smu mode1 reset
kernel: amdgpu 0000:00:01.0: amdgpu: GPU reset succeeded, trying to resume
kernel: clocksource: Long readout interval, skipping watchdog check: cs_nsec: 12622536057 wd_nsec: 12613480925
kernel: [drm] PCIE GART of 512M enabled (table at 0x0000008000000000).
kernel: [drm] VRAM is lost due to GPU reset!
kernel: [drm] PSP is resuming...
kernel: [drm:psp_hw_start [amdgpu]] *ERROR* PSP create ring failed!
kernel: [drm:psp_resume [amdgpu]] *ERROR* PSP resume failed
kernel: [drm:amdgpu_device_fw_loading [amdgpu]] *ERROR* resume of IP block <psp> failed -62
kernel: amdgpu 0000:00:01.0: amdgpu: GPU reset(1) failed
kernel: amdgpu: qcm fence wait loop timeout expired
kernel: amdgpu: The cp might be in an unrecoverable state due to an unsuccessful queues preemption
kernel: amdgpu 0000:00:01.0: amdgpu: GPU reset end with ret = -62
kernel: amdgpu 0000:00:01.0: amdgpu: GPU reset begin!
kernel: amdgpu 0000:00:01.0: amdgpu: Failed to disallow df cstate

Regards,
Petru

Hello!

Before you start docker, are you able to verify that the GPU is actually working in the vm?

How did you verify ? (for AMD i don't know tho tooling)

Regards,
Stephan


--------------2GAnctWoAxrslocHuDbOtxZO-- From nobody Thu Aug 28 17:12:05 2025 X-Original-To: virtualization@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cCScj58hcz66KHm for ; Thu, 28 Aug 2025 17:12:05 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cCScj4VcCz3PVQ for ; Thu, 28 Aug 2025 17:12:05 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756401125; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=eY6goBJJKP1lg0nnuHlPu2iWWKmC1hxiXfTianYBYq0=; b=fzPYYPB88n5YhXxiiJWBVrX19rMhvIhq1WlTtLTA0AbqRp7ICjk+vkD7Zzf/Qn7F3Cnsnt HEwRL6jZ1rz3vhC12Z8QwdefOJZGp6G/KkBpy7jhWRMmk913J3daAXPnsgxkAS2Y3stkSr ufbVlvjSBga2NXmHUdzpCia14pcHM2CxrLxtsz0O2Py9FiA22jDYbBPVlEN8DY6DI5wlTJ xEGvj6oU4JpbZGSxVEmDV0vAnUwWmr1GksoM0vXD9E3M/0dxnQAqp4jIS+BFY1ni+FQOIE HqtiOqsavBzBa06zkXjTMUl+rcuHiR4eh6NSUFFrx6oj1Jbi1ElMvWiNLgY9Qw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756401125; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=eY6goBJJKP1lg0nnuHlPu2iWWKmC1hxiXfTianYBYq0=; b=imCIlHN7DEQbhe695Y1UU/XiYMk1CtlN9CKeccynPL+9TOM4YpEkzNa8bWysa4AVp8cm+b MZzqbUZlvPGQSmQQNygRPF83eyMQfzguhgAeFwg0ucmJySK4JH/v2m+5SzIfok1asH55pF QAMCS+3MFoHFNrxr9Iwwh+dEu3TsNTK/QdGREpwTAJ7f+uapqWKIb4T6x3ywbqxW3cvFRK A3iZrHoKWOeb9jfIKJqMYwagvoD6awxwkWUL8lqga1YwaZ24gtkmIYrV30J8wGy/yGeCqO tE7WvKDZdQWluCR51ctZuJuxDLte62ivAfgitaDpYrdRcHBLUtz4fryUg3tg+A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1756401125; a=rsa-sha256; cv=none; b=qheapjHdtEOhhEXm/JqMC7OS7UihE2ha+tws4t4y+G8y7RB+Ba0b8cD2odOp/NXkugjWhg h1EYfLSOS9ZkJVt7hOY8ylgpgiNZ21+exaYPna2XdzkLUwwWV+p5zJxHQ5pn6dGlbLyEuL tIeuIGm7V3WJ7RySw5/FnZEXbgxrequV9kCGFJTXRnQKs3ob+Cv7pk8DKZI++KsLqHsU7o dsOkqKVnP8h+esLmwmA7g5D7C9j7zO9B2zyIIyAiDKHvZ0eYJ4Hy03ItVzJkwZDx3gjrdD RjDVzNkiL2thrwMOfCrh+0cD9xYefp/TwnJoW4vgDz2WxggpBNM0brZbLM3QLQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from kenobi.freebsd.org (kenobi.freebsd.org [IPv6:2610:1c1:1:606c::50:1d]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cCScj3y2Pz1HKs for ; Thu, 28 Aug 2025 17:12:05 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from kenobi.freebsd.org ([127.0.1.5]) by kenobi.freebsd.org (8.15.2/8.15.2) with ESMTP id 57SHC5vI002120 for ; Thu, 28 Aug 2025 17:12:05 GMT (envelope-from bugzilla-noreply@freebsd.org) Received: (from www@localhost) by kenobi.freebsd.org (8.15.2/8.15.2/Submit) id 57SHC5f4002119 for virtualization@FreeBSD.org; Thu, 28 Aug 2025 17:12:05 GMT (envelope-from bugzilla-noreply@freebsd.org) X-Authentication-Warning: kenobi.freebsd.org: www set sender to bugzilla-noreply@freebsd.org using -f From: bugzilla-noreply@freebsd.org To: virtualization@FreeBSD.org Subject: [Bug 288873] Windows 11 VM hangs on boot when using more than one vCPU Date: Thu, 28 Aug 2025 17:12:05 +0000 X-Bugzilla-Reason: AssignedTo X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: Base System X-Bugzilla-Component: bhyve X-Bugzilla-Version: 14.3-RELEASE X-Bugzilla-Keywords: X-Bugzilla-Severity: Affects Some People X-Bugzilla-Who: hayzam@alchemilla.io X-Bugzilla-Status: New X-Bugzilla-Resolution: X-Bugzilla-Priority: --- X-Bugzilla-Assigned-To: virtualization@FreeBSD.org X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: short_desc Message-ID: In-Reply-To: References: Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="UTF-8" X-Bugzilla-URL: https://bugs.freebsd.org/bugzilla/ Auto-Submitted: auto-generated List-Id: Discussion List-Archive: https://lists.freebsd.org/archives/freebsd-virtualization List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: freebsd-virtualization@freebsd.org Sender: owner-freebsd-virtualization@FreeBSD.org MIME-Version: 1.0 https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D288873 Hayzam Sherif changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|Windows 11 VM with GPU |Windows 11 VM hangs on boot |passthrough hangs on boot |when using more than one |when using more than one |vCPU |vCPU | --=20 You are receiving this mail because: You are the assignee for the bug.= From nobody Thu Aug 28 17:42:18 2025 X-Original-To: virtualization@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cCTHw074zz66Mdx for ; Thu, 28 Aug 2025 17:42:36 +0000 (UTC) (envelope-from peter.garshtja@ambient-md.com) Received: from mail-qk1-x734.google.com (mail-qk1-x734.google.com [IPv6:2607:f8b0:4864:20::734]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "WR4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cCTHv1hdGz3T0d for ; Thu, 28 Aug 2025 17:42:35 +0000 (UTC) (envelope-from peter.garshtja@ambient-md.com) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=ambient-md-com.20230601.gappssmtp.com header.s=20230601 header.b=ZyDNkRe+; dmarc=none; spf=none (mx1.freebsd.org: domain of peter.garshtja@ambient-md.com has no SPF policy when checking 2607:f8b0:4864:20::734) smtp.mailfrom=peter.garshtja@ambient-md.com Received: by mail-qk1-x734.google.com with SMTP id af79cd13be357-7e9f7c46edbso198413485a.0 for ; Thu, 28 Aug 2025 10:42:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ambient-md-com.20230601.gappssmtp.com; s=20230601; t=1756402949; x=1757007749; darn=freebsd.org; h=content-transfer-encoding:in-reply-to:content-language:references :to:from:subject:user-agent:mime-version:date:message-id:from:to:cc :subject:date:message-id:reply-to; bh=meYy7OjJpXr3XCBsepEJwpLBYOJ9Jr3PRI/Pn7eIVaQ=; b=ZyDNkRe+nVMIDB4XXp0C12SWduY2t40eXdhmzppFcqTbwUzyAkB3CYsTWsfcGTAAs2 RL1G631Gm8vI7I6HZr0agDZHKjbcUfZ+iN1DlMnSopRgG6t1vdUYsKvyShU3+tR0eqrr o3rD/zoygRtPGuP63P415icUC/6x4u7v+k8oLEs4qH009vENuviPXjdwBnp5phjgPXC7 FiA9+5QcKbG7ukmrKmpz3ZkSwskK8YmYivf+6Guzu4urdlfijniFdCKV2z+Q+ZATisGM bYEvJnN2QWJ0CRxbVSectg0uSOJnTrMvXF8jGzQ5f75V1Pg79hYzQAOyCc5K1f/MMp1v WM7Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1756402949; x=1757007749; h=content-transfer-encoding:in-reply-to:content-language:references :to:from:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=meYy7OjJpXr3XCBsepEJwpLBYOJ9Jr3PRI/Pn7eIVaQ=; b=UUE/PEw/DHbMKqmZfmn3dkTBrqo65hd5rdDUm1oY9AHsnP/IovkYrT48dMctxVIX+v AqOxliDPnGAyndOLXprhOVQvdF9U9BduL/aYhoD1zBBA8dMoyiJU9SJ78cEKB02dXo7c qRk3PqnyJu55rVMKvlcvtuz0OWPuQJT5yErLUmWgVtniirNQHnkYgITwZ55Qr31NFxgQ PcFyk863g1efX08ma443k5o1QtXBHH3uLpqp3wwv4XKJm1Qyk8T0ssEGZEWQe80LcQ6h USKeyoHW396tGJ+Vq0GI5XMNDq5LgbOrAmSb4zHUMof8JXziWQKeAfKAk7Lho3UN16Dw 8dfw== X-Forwarded-Encrypted: i=1; AJvYcCVP7AG4o3J0mmfLP9Z5uaNaRh/W7uIdeAJpUgEqY2o12bJ0UGRP2zFAMfJD++Gma902k3iwODv5NXub2qmqqA==@freebsd.org X-Gm-Message-State: AOJu0YwVhhO0IAEJXHO2fi77Zdm0JDWjQDSgWiyBrD7qY5GNcKbwPcHZ D70ckM0w+wdg+Im7bPdeZ2kfU+y5x5R0YiDh3/LH1ioX560xo39gnSSkmwwW2svHBtITQfEYr3U XUgtS5NE= X-Gm-Gg: ASbGnctBofAGsZhP19c6oZqOyg6XBwmV7micEL0C6g6wMelqssX4GimcPyyTV7nr1I9 ANimciDXWu8vc2b8ZUmZUUss5gb7OHq52miWZ3qMsFqenaqk9NbWbf+qzLsnCMLccu9UXoi8xBW cp74D5avKvOU58hNEpdHsHCXkMGBv3oSvswI7UsP0kyOA/I79sePHZGAUllrwtrKlQTEqcCL8DV bHYwOEzp04OF+Qds4dhYzLyLj6Y+DAlmjx8a5x6U4XYlYv2ExaQttAwEYRylq6xCzGh3sq1wcdZ s7N6FM45xkbi4xR4F4zvjSAq9tXxnmiwggsQhs2JZ7hNhPy9NNSI6XiXefSRvO4+Dos/hfX3Vk0 2Aukqchb4IREMMwjNXMu0smIqTA4AOrZxsDI0SJ4AG/hbnRRjaTDDSVsvsQ== X-Google-Smtp-Source: AGHT+IF83sbEBRAB7uhTUEYgzgATUvAx2Mw+7YD8/73ToODJimhbkRDIT5yKNbCSOZe1wBRpDYx0fA== X-Received: by 2002:a05:620a:a490:b0:7f7:4f00:aff with SMTP id af79cd13be357-7f74f000ed4mr873752185a.30.1756402949529; Thu, 28 Aug 2025 10:42:29 -0700 (PDT) Received: from [172.26.26.145] ([174.92.209.34]) by smtp.gmail.com with ESMTPSA id af79cd13be357-7fc0e6f0e2dsm22673385a.19.2025.08.28.10.42.28 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 28 Aug 2025 10:42:29 -0700 (PDT) Message-ID: Date: Thu, 28 Aug 2025 13:42:18 -0400 List-Id: Discussion List-Archive: https://lists.freebsd.org/archives/freebsd-virtualization List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: freebsd-virtualization@freebsd.org Sender: owner-freebsd-virtualization@FreeBSD.org MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: GPU Passthrough on FreeBSD 14.3(AMD Radeon RX 6700 XT and Debian Linux 12.11) From: Petru Garstea To: Stephan Althaus , virtualization@freebsd.org References: <43c96438-6068-487d-b1ea-583dddf0f6e8@ambient-md.com> <1117706a-6680-4f00-8728-16ae195f02ca@Duedinghausen.eu> <5f35e974-2d26-407e-886e-ff12ea024350@Duedinghausen.eu> <1b273b65-02c1-485f-94f2-7b0b9fb50877@ambient-md.com> <1ccff3ab-ca3d-423a-bcbc-613a4ec7dafd@ambient-md.com> Content-Language: en-US In-Reply-To: <1ccff3ab-ca3d-423a-bcbc-613a4ec7dafd@ambient-md.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spamd-Bar: --- X-Spamd-Result: default: False [-3.30 / 15.00]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_SHORT(-1.00)[-1.000]; R_DKIM_ALLOW(-0.20)[ambient-md-com.20230601.gappssmtp.com:s=20230601]; MIME_GOOD(-0.10)[text/plain]; DKIM_TRACE(0.00)[ambient-md-com.20230601.gappssmtp.com:+]; RCVD_TLS_LAST(0.00)[]; R_SPF_NA(0.00)[no SPF record]; RCPT_COUNT_TWO(0.00)[2]; DMARC_NA(0.00)[ambient-md.com]; MIME_TRACE(0.00)[0:+]; ARC_NA(0.00)[]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; RCVD_VIA_SMTP_AUTH(0.00)[]; MID_RHS_MATCH_FROM(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; RCVD_COUNT_TWO(0.00)[2]; PREVIOUSLY_DELIVERED(0.00)[virtualization@freebsd.org]; TO_MATCH_ENVRCPT_SOME(0.00)[]; MLMMJ_DEST(0.00)[virtualization@freebsd.org]; RCVD_IN_DNSWL_NONE(0.00)[2607:f8b0:4864:20::734:from] X-Rspamd-Queue-Id: 4cCTHv1hdGz3T0d I want to mention also that GPU is connected as eGPU via thunderbolt3. From nobody Thu Aug 28 17:45:23 2025 X-Original-To: virtualization@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cCTMP3qY3z66N7W for ; Thu, 28 Aug 2025 17:45:37 +0000 (UTC) (envelope-from peter.garshtja@ambient-md.com) Received: from mail-qv1-xf35.google.com (mail-qv1-xf35.google.com [IPv6:2607:f8b0:4864:20::f35]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "WR4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cCTMN60qYz3TG7 for ; Thu, 28 Aug 2025 17:45:36 +0000 (UTC) (envelope-from peter.garshtja@ambient-md.com) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=ambient-md-com.20230601.gappssmtp.com header.s=20230601 header.b=3T148JkE; dmarc=none; spf=none (mx1.freebsd.org: domain of peter.garshtja@ambient-md.com has no SPF policy when checking 2607:f8b0:4864:20::f35) smtp.mailfrom=peter.garshtja@ambient-md.com Received: by mail-qv1-xf35.google.com with SMTP id 6a1803df08f44-70dd6c93071so10514656d6.3 for ; Thu, 28 Aug 2025 10:45:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ambient-md-com.20230601.gappssmtp.com; s=20230601; t=1756403135; x=1757007935; darn=freebsd.org; h=content-transfer-encoding:in-reply-to:content-language:references :to:from:subject:user-agent:mime-version:date:message-id:from:to:cc :subject:date:message-id:reply-to; bh=359qZi6oJ9x8ra+20PLDDF8b911bKM3pefJhVNjoN+A=; b=3T148JkEoLQAj4+fg5ZSk3Y7gZIf3MGgIhPKb+t66Ytq76EFvGD+Isoxspc6wndLrQ unSAzo9QgCEQiiGpQucZS44qumlauUDP7RUw/BVSdPgOu4JblqzBYyLyLR+DxqLTGYo/ X6fuBqx4pQlBTMflTk8nlQmo3aLSp3b/TYpNnfnOtHUncm4cPNYuEafVHKDq1ccvJOBR hKnbb+chkH46apJfhpciUYe0liM7qKrJ+XvEbXFNXtAuV/VcczQbOvkqDEKIkJkNi5zQ M2Gl1uooeEyMxyMjQurmeOeyivNx1hS9Dzps69n5igEm2ITZv2CSZK8dWs2Mq4nqY607 FWOA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1756403135; x=1757007935; h=content-transfer-encoding:in-reply-to:content-language:references :to:from:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=359qZi6oJ9x8ra+20PLDDF8b911bKM3pefJhVNjoN+A=; b=u9O4Pl3CCXSb6AxLfOlp3rMqRV8WSwrL6xQKoDbWEF2eTB1Cqb0GJ2QypfetwRO2uG +7FT5QJaj0mCBjfkzNKQy+L5zPQviCS1nbv+p8oOYx4Ag25BBd7bdRrzDqgh8OhemreW cJw3geOPaHASSW/g19WyDDD/EP5ObsK5g9VRB7ntXTQaqeu6CZC998wFzIDKGfU4HMNG bzk8OTEljBWlmr097vRfL8JtSuS9hSfavOU9Z16e7ehUspIcWlT0Rw6uA9vrvzVssHR6 U/4tTnDpNTyLVjFcqj2HkaRY7uIJ6i9/kfTnP/MCf9I/SFrC+3UyQDWlXDvEGT8SPJBA I5Fg== X-Gm-Message-State: AOJu0Yz58UaFJQFYhZR6/8Uw6ttIdwMyU7TvUpmHhLcRy5WmDIZeaDil Ga5iitbfO5E7H4a9muhQ0C8G6OofQL9VfZEn0lSA9mfLCKV+sMk0pz+kWIKvpgxvn/jdde46246 JSNbDPwo= X-Gm-Gg: ASbGncu9NfmECtxeN4Lg25BvTv3prVZpQYQ3WZClhQIDgdeLvA2+D6tUmyyJxYbkfyL HwGNrl2pm0maS9zcc9FujPEJ2QYwNBmVaCeSncXyQ2mAvNCiF0HfZXpB6Q2Im1xgIM6eR6jAr0u RipCEowCUKCt2b2ysVLrtEpTqz7hG/fb+0noP6umF6bzAG77CiCbQw4VWW/QqQpJjOV94OT2flf LEl9FXk8Ts/8NtXchHIk7p9W4mcpVr4sBbXGgDmuYemQXmVL2zYXZwrMgdH3lVoq4SpAiDds3o1 sV1IGTpKUxDPQQVEDFS8drIPkXHVfj7g6+QIng362zHm7b7cIFxdcb87zfuYWTTvTTSgEgcG0Zr boH1QcAeg0yiFKc4epM/J2GqV3Vdat1Wshix+PfZX1G2hbYE= X-Google-Smtp-Source: AGHT+IErJWsQxzb+2VBqY68coCrDwXL+7v2AEr+5B1R4ZNVD+Iyxn5ysJeXUcb+/gOtsht1nryxVvQ== X-Received: by 2002:a05:6214:d6d:b0:70d:fd26:f234 with SMTP id 6a1803df08f44-70dfd26fc03mr20055376d6.59.1756403134577; Thu, 28 Aug 2025 10:45:34 -0700 (PDT) Received: from [172.26.26.145] ([174.92.209.34]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-70da728a11asm109925306d6.46.2025.08.28.10.45.34 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 28 Aug 2025 10:45:34 -0700 (PDT) Message-ID: <40ea255b-8d9c-4843-ad90-4f9c12bd7883@ambient-md.com> Date: Thu, 28 Aug 2025 13:45:23 -0400 List-Id: Discussion List-Archive: https://lists.freebsd.org/archives/freebsd-virtualization List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: freebsd-virtualization@freebsd.org Sender: owner-freebsd-virtualization@FreeBSD.org MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: GPU Passthrough on FreeBSD 14.3(AMD Radeon RX 6700 XT and Debian Linux 12.11) From: Petru Garstea To: virtualization@freebsd.org References: <43c96438-6068-487d-b1ea-583dddf0f6e8@ambient-md.com> <1117706a-6680-4f00-8728-16ae195f02ca@Duedinghausen.eu> <5f35e974-2d26-407e-886e-ff12ea024350@Duedinghausen.eu> <1b273b65-02c1-485f-94f2-7b0b9fb50877@ambient-md.com> <1ccff3ab-ca3d-423a-bcbc-613a4ec7dafd@ambient-md.com> Content-Language: en-US In-Reply-To: <1ccff3ab-ca3d-423a-bcbc-613a4ec7dafd@ambient-md.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Spamd-Bar: --- X-Spamd-Result: default: False [-3.30 / 15.00]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_SHORT(-1.00)[-1.000]; R_DKIM_ALLOW(-0.20)[ambient-md-com.20230601.gappssmtp.com:s=20230601]; MIME_GOOD(-0.10)[text/plain]; R_SPF_NA(0.00)[no SPF record]; RCVD_VIA_SMTP_AUTH(0.00)[]; RCPT_COUNT_ONE(0.00)[1]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; DMARC_NA(0.00)[ambient-md.com]; ARC_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; MID_RHS_MATCH_FROM(0.00)[]; MLMMJ_DEST(0.00)[virtualization@freebsd.org]; RCVD_TLS_LAST(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; FROM_HAS_DN(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[2607:f8b0:4864:20::f35:from]; RCVD_COUNT_TWO(0.00)[2]; TO_MATCH_ENVRCPT_ALL(0.00)[]; TO_DN_NONE(0.00)[]; PREVIOUSLY_DELIVERED(0.00)[virtualization@freebsd.org]; DKIM_TRACE(0.00)[ambient-md-com.20230601.gappssmtp.com:+] X-Rspamd-Queue-Id: 4cCTMN60qYz3TG7 On 8/28/25 1:28 AM, Petru Garstea wrote: > I tried today ubuntu 25.04 vm which comes with the different graphic > stack. > still not working, here is the new error log: > >> Aug 28 01:16:04 docker kernel:   AMD AuthenticAMD >> Aug 28 01:16:04 docker kernel: RAMDISK: [mem 0xb40b1000-0xb8d4dfff] >> Aug 28 01:16:09 docker kernel: [drm] amdgpu kernel modesetting enabled. >> Aug 28 01:16:09 docker kernel: amdgpu: Virtual CRAT table created for >> CPU >> Aug 28 01:16:09 docker kernel: amdgpu: Topology: Add CPU node >> Aug 28 01:16:12 docker kernel: amdgpu 0000:00:01.0: amdgpu: detected >> ip block number 0 >> Aug 28 01:16:12 docker kernel: amdgpu 0000:00:01.0: amdgpu: detected >> ip block number 1 >> Aug 28 01:16:12 docker kernel: amdgpu 0000:00:01.0: amdgpu: detected >> ip block number 2 >> Aug 28 01:16:12 docker kernel: amdgpu 0000:00:01.0: amdgpu: detected >> ip block number 3 >> Aug 28 01:16:12 docker kernel: amdgpu 0000:00:01.0: amdgpu: detected >> ip block number 4 >> Aug 28 01:16:12 docker kernel: amdgpu 0000:00:01.0: amdgpu: detected >> ip block number 5 >> Aug 28 01:16:12 docker kernel: amdgpu 0000:00:01.0: amdgpu: detected >> ip block number 6 >> Aug 28 01:16:12 docker kernel: amdgpu 0000:00:01.0: amdgpu: detected >> ip block number 7 >> Aug 28 01:16:12 docker kernel: amdgpu 0000:00:01.0: amdgpu: detected >> ip block number 8 >> Aug 28 01:16:12 docker kernel: amdgpu 0000:00:01.0: amdgpu: detected >> ip block number 9 >> Aug 28 01:16:12 docker kernel: amdgpu 0000:00:01.0: Invalid PCI ROM >> header signature: expecting 0xaa55, got 0x4556 >> Aug 28 01:16:12 docker kernel: amdgpu 0000:00:01.0: amdgpu: Fetched >> VBIOS from ROM >> Aug 28 01:16:12 docker kernel: amdgpu: ATOM BIOS: 113-D5121100-L03 >> Aug 28 01:16:12 docker kernel: amdgpu 0000:00:01.0: amdgpu: Trusted >> Memory Zone (TMZ) feature disabled as experimental (default) >> Aug 28 01:16:12 docker kernel: amdgpu 0000:00:01.0: amdgpu: MODE1 reset >> Aug 28 01:16:12 docker kernel: amdgpu 0000:00:01.0: amdgpu: GPU mode1 >> reset >> Aug 28 01:16:28 docker kernel: amdgpu 0000:00:01.0: amdgpu: SMU: I'm >> not done with your previous command: SMN_C2PMSG_66:0x00000002 >> SMN_C2PMSG_82:0x00000000 >> Aug 28 01:16:28 docker kernel: amdgpu 0000:00:01.0: amdgpu: GPU psp >> mode1 reset >> Aug 28 01:16:29 docker kernel: amdgpu 0000:00:01.0: amdgpu: GPU mode1 >> reset failed >> Aug 28 01:16:29 docker kernel: amdgpu 0000:00:01.0: amdgpu: asic >> reset on init failed >> Aug 28 01:16:29 docker kernel: amdgpu 0000:00:01.0: amdgpu: Fatal >> error during GPU init >> Aug 28 01:16:29 docker kernel: amdgpu 0000:00:01.0: amdgpu: amdgpu: >> finishing device. >> Aug 28 01:16:29 docker kernel: amdgpu 0000:00:01.0: probe with driver >> amdgpu failed with error -22 I apologize in advance, I forgot to include the above snippet to the main virtualization@freebsd.org mail thread. From nobody Fri Aug 29 03:25:52 2025 X-Original-To: freebsd-virtualization@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cCkFC6pXMz65wWn for ; Fri, 29 Aug 2025 03:26:07 +0000 (UTC) (envelope-from marklmi@yahoo.com) Received: from sonic308-8.consmr.mail.gq1.yahoo.com (sonic308-8.consmr.mail.gq1.yahoo.com [98.137.68.32]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4cCkFB443Dz3bnL for ; Fri, 29 Aug 2025 03:26:06 +0000 (UTC) (envelope-from marklmi@yahoo.com) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=yahoo.com header.s=s2048 header.b=sKgAqgLL; dmarc=pass (policy=reject) header.from=yahoo.com; spf=pass (mx1.freebsd.org: domain of marklmi@yahoo.com designates 98.137.68.32 as permitted sender) smtp.mailfrom=marklmi@yahoo.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1756437964; bh=vZmoDMkaXsaHtiDwpZcHFcHCGqXZ/EtlGsAK34XRDtU=; h=From:Subject:Date:To:References:From:Subject:Reply-To; b=sKgAqgLLtU15ONPLE+e75SBRU71vG/mkoM9FGOWVrd2F7UuqiOuWA8BaPc3CzaXbRxNL07g9sMG6zE34xdttfBEnd6Kr2c8aDKfci+Em8KFsOuRB4JvhfU9z56UAjglwzXwPNvIsT3gbDhUwhglP1Ju/EZTTtskGfZ4u2xdRWy0FaBnaj2vhEgXHnVvmUpOouMw35ToFPKVlZ4KMs6jZ71TPWm0OcwnrPCGVEkhf6U8il45i8S3gy9fVBLkC4NBrHfR9J3a1kWFej2jOh+aoEYSq/x72GxuMFfLDKvCqc+EwFiQIaDQQeMVwpHvLRSZn9mWZp+bopEBuGUjOxP9GYQ== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1756437964; bh=oXa0MSAbL9Pp0KNeN2Wckdqx6lkHSRFHZ45VOvu6AYO=; h=X-Sonic-MF:From:Subject:Date:To:From:Subject; b=f4PAxkp39DEXdpp9cwoa4NaD5NtPEq+c3suT/BViUeD5LZcDavfDOPS5wvrDucssTK0FaiqY4C9IwFW6FmIxZxNiZJRxbxAXeaQ4kAMQjhrh8w4DO0jNkcFq3ojKwFPht29qC3oS97ZxaNV+ZGNtisiD9r8OHGeZeuEki37tKERlF6QH7/IWgmSnm2JfxkNo8+v4gLXBgMRmzqzQ34tKoRZaW0vWZGqamG+jXW6ZSfBMqtRJ2WIPAn695zZ30e0jYeFIJSmjOVZeaKezx5J5b/dy/xRimABcwOiXdkGTlIjtxZnf7zwwDiykTsYD8mSVgfs3rJlw7xP0mJ0c7OPsjg== X-YMail-OSG: 55WzHPYVM1lV1B986oDUhVkS_st78y9UFpGLViITT_9KMESYNjTZbL0eSJi2HcB xZzfR5YIz9w4VqvsBtEqfyv5odRfETHTQ3PGM32w.wNNkowdeaPH.KThQGxgupq0I.OKgv4wdCcQ yx_ATDS2PdEY6P8nrtGt8EhZSutnAzgdpqg7qQXzHgNg2CjJ4HwkcAjgDkDgUGHmkQpc2drkO.EP .sUzR8EM.7G3guHiXqZIyIcuo5iH.bMM_NvD0.mSYwECaj04bNTa1.kB.UKlWGjtly.db6JfKJlh ZqyqWNt8tENCeTF1rYvPR22zOiOzWeqMMygvbPo9BXEDYdhT42jjw0SaMCYUfXeeLJbvxr.eb4qE hRLbWCtF46eFCSTw39Cw6cNdrxbFVMSE1Mq3d0.nt0QjGFfKcW2r2t5zk8A4fShAMfFCMzQke6Yd uL3Ea76mJVZhFngN97y.vK7eV7z0G72.AklFDn4EdAfQiuG.KCLAGTGa4drp6q1kRY14Nv.FnQ.y AIcx3uQyclJhdxlauyVsMsp6Squ3RPlXr01JJgsVxvxZEkskg8FP5w2S9.HGVwoxHJ.gg2PeAyLS Reyhwnr4B6lqIB0zqSImGFvCGtQnkPfRjEmtwNGNnmw9YGlydqN1T13YTqEFku57YmTTOaFGqpMt hFLqHgpfA3zIV1UDxsH_4q94H4_H.ihoHOtAeAtvnX83ML_RAkUrXPb.vmr.zhjDWIOC12yvwQZr oFjXWcb8b8SGkF3PZIRvg1GwBfhdtT0rkK8Gedz6r2tSEZSb.QDZAMymPq2wMNbEb3r.xZIppC0m 9kB2RlnvPyb0WoYmo_q.dn9HUWNO4i9OIrlcaeTp46tMcRUyAtPON0xrBsszDmTwfJt8FdqytDim QRro9shB6jKlBz9CwJTPklCSszVA8WIpcrBFl3LTYj_R37RCreygNSGwG4B_jR0fYfursDdi27Qg a9xYmOkKYRy.wt_Ha6_FYi.aEYmsv5f3Kstin.nHWxqYRYIXINHHWJPWvIi4SaGBH_6fM87gF3sQ _xH9GY7o3W7fzjX737Dmq8tUvVTnY0EwDsyn_NbGTfGLXphz48tW6C05DkifCiKQivinRLOHr6N1 jlp4H67eOHAZHA6LcS3aUfpn2KtiDMJbAXT_Yw1xljcpEEM2JV.xFdfxLSGlAaueAcuvpxe5QR4x RKv5WVWdQKaUOpfH.KEeCQIW3nxt7r.c4k6sfFMhtTlyVqjw.i7mkpgmIaH4qvw84bk9tCa.U9Zp XPRi4Gt03Zm1RMOVX_WkQgA4dJw8G2PM0IH9gwvyfhmqEQuxSmWayJY0G1H1_XMVQ80UIQjsVxxH IWlkxiZYNv45DXkP1gdHRZxUB5f6Ha9L9xoDXCR5iixR267s1MOPq._O2kidxFP_dADd5ed4pObV PoLbpW4oKDLJwWeDPNa579ot7XFq4ZjAgBzgtulANA5J9.mj214GJ0PnFrs0LD4iIfM_4Kj1wkFX erQYtz.EsuCKUk9ir84nGT2lSXVbiriXWPdGUsEdNxQYWUWa4agSTCMGxTgNk7KZ_yinnJ86aWzx 5XSC_.wurNEoUfZwAju7YF7hWzXTWBrOCphnt3ECRc9.unDQBFvFsORQzgfRp8syVJCNNwo0lPT_ YzJxK0vxiAo0dssH7w1sIX6_EYUPbb2rBE7RtYonDjAZNpVqDTvEHOXkw2AFQIQTiwif3hbttrn5 qkRabwj.8BabS2Lx57.mSIZ3QSAMiiK09bnHb8ZPTHbYJD6K0dRAs2fhqyQxAajamxGStypkvmtA 1m0iaTcvgUjeIyDvlPxYGN2vrPuJFqZ3JCbESTTqeXlNgCnB6EaKM9n0QN3qXX3p75HGlY1g7yc6 Nv2lVejZrf0TF.vRkT9X_e19cUd3NlUO.qg9wX_eSbqD1O45VbiT1x1LH9BUqDr5shXbaMEGfmSn 7qhgpuZRdjOWEHDQA6i8De1LV6bCyzW5O42f4W548oYoCcMN7_YmTKEWme_YFPYDoycZbLyhQoN2 aJrK3I5atF7tccAZz6UVLC8VtG1JHLb7NQfy1bGY1ed6XzSC6XRCssIkC1sG6yda_a_yaNMDt_Mm yT6J8iX.RHJYk88PTv6_0LbLghrGBVJ5jWldfRGZXNJmx_i4xFifS0f3jhHnPn9I5m7Bcig9AreZ EAEb4Vw9synhR7Yfc9PCoWd_2.XN3Om_7Jt3jZU15a84Z3zeK3Rjttp6UucewxdFYE.Qo8cCet42 gM11fUfid9pVpZcgMHVnU5KYPEFforSzRGPM6ffmwPnUDHieO159mH.jvyA5ks8ZQrkSH14loBZ9 VWsdIZg-- X-Sonic-MF: X-Sonic-ID: f24106cf-9cf5-4551-b53a-64e456d67062 Received: from sonic.gate.mail.ne1.yahoo.com by sonic308.consmr.mail.gq1.yahoo.com with HTTP; Fri, 29 Aug 2025 03:26:04 +0000 Received: by hermes--production-gq1-7bfc77444d-b6q6r (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID 8ffae9cdf8f9dd91659b57e39fe883c3; Fri, 29 Aug 2025 03:26:02 +0000 (UTC) From: Mark Millard Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit List-Id: Discussion List-Archive: https://lists.freebsd.org/archives/freebsd-virtualization List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: freebsd-virtualization@freebsd.org Sender: owner-freebsd-virtualization@FreeBSD.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3826.700.81\)) Subject: Re: GPU Passthrough on FreeBSD 14.3(AMD Radeon RX 6700 XT and Debian Linux 12.11) Message-Id: <3F9D5D27-B5BA-408D-B577-9625080838BB@yahoo.com> Date: Thu, 28 Aug 2025 20:25:52 -0700 To: peter.garshtja@ambient-md.com, Virtualisation on FreeBSD X-Mailer: Apple Mail (2.3826.700.81) References: <3F9D5D27-B5BA-408D-B577-9625080838BB.ref@yahoo.com> X-Spamd-Bar: --- X-Spamd-Result: default: False [-4.00 / 15.00]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_SHORT(-1.00)[-1.000]; DMARC_POLICY_ALLOW(-0.50)[yahoo.com,reject]; R_DKIM_ALLOW(-0.20)[yahoo.com:s=s2048]; R_SPF_ALLOW(-0.20)[+ptr:yahoo.com]; MIME_GOOD(-0.10)[text/plain]; RCVD_TLS_LAST(0.00)[]; FROM_HAS_DN(0.00)[]; ARC_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; FREEMAIL_ENVFROM(0.00)[yahoo.com]; RCPT_COUNT_TWO(0.00)[2]; FREEMAIL_FROM(0.00)[yahoo.com]; TO_DN_SOME(0.00)[]; DKIM_TRACE(0.00)[yahoo.com:+]; ASN(0.00)[asn:36647, ipnet:98.137.64.0/20, country:US]; RCVD_VIA_SMTP_AUTH(0.00)[]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_COUNT_TWO(0.00)[2]; FROM_EQ_ENVFROM(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[98.137.68.32:from]; MLMMJ_DEST(0.00)[freebsd-virtualization@freebsd.org]; APPLE_MAILER_COMMON(0.00)[]; MID_RHS_MATCH_FROM(0.00)[]; RWL_MAILSPIKE_POSSIBLE(0.00)[98.137.68.32:from]; DWL_DNSWL_NONE(0.00)[yahoo.com:dkim] X-Rspamd-Queue-Id: 4cCkFB443Dz3bnL Petru Garstea write on Date: Thu, 28 Aug 2025 17:42:18 UTC : > I want to mention also that GPU is connected as eGPU via thunderbolt3. [Do not take the below as claims of an expert. So believe folks with expertise if they report I'm wrong about anything.] Mostly this note is about watching out for assuming too much of an analogous context with folks that do not have thunderbolt involved at all in their context. If any aspect of what you are doing requires FreeBSD to support thunderbolt3: I'm not aware that any version of FreeBSD claims to support any version of thunderbolt yet. Also, if I understand right, the effort is going into thunderbolt4+ without initially having general backward compatibility with thunderbolt3. (That, of itself, makes the thunderbolt4 incomplete, if I understand right.) As I understand, the details even involve if the EFI software has builtin support for parts of the handling vs. if the operating system kernel must do those support activities on on its own. Sometimes some things appear to work for some contexts because of the EFI dealing with aspects that the kernel does not deal with (yet). (As I understand, FreeBSD does not yet face the alternative of both the EFI and the kernel being able to support such and guiding which way things should go.) === Mark Millard marklmi at yahoo.com From nobody Fri Aug 29 17:07:21 2025 X-Original-To: freebsd-virtualization@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cD4VQ1hXwz65sNX for ; Fri, 29 Aug 2025 17:08:46 +0000 (UTC) (envelope-from nospam@ofloo.net) Received: from loki.ofloo.net (loki.ofloo.net [IPv6:2001:470:7fdf:cafe:5a9c:fcff:fe08:28f7]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "loki.ofloo.net", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cD4VP6sJFz3FFq for ; Fri, 29 Aug 2025 17:08:45 +0000 (UTC) (envelope-from nospam@ofloo.net) Authentication-Results: mx1.freebsd.org; none Received: from [IPV6:fc03:1337:dead:cafe:c13e:b460:e22d:c2be] ([IPv6:fc03:1337:dead:cafe:c13e:b460:e22d:c2be]) by loki.ofloo.net (8.18.1/8.18.1) with ESMTPS id 57TH7LCZ039158 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NO); Fri, 29 Aug 2025 19:07:21 +0200 (CEST) (envelope-from nospam@ofloo.net) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ofloo.net; s=default; t=1756487243; bh=TazwHcudm3uQot4SoGviWg21H3Mo356sMlC/9SuCWQA=; h=Date:Subject:To:References:From:In-Reply-To:From; b=RWzOoWLSFhBzHKNTeCuxhFv1YK3alzInlgWJjfuJOKx09CB6/p9DLI7MkBqs2LITQ ApKH8MDdY3EJDhRDZmk0oMnYcBuRBb+A69LxiJJqP637cYFiU2V/o/sRqMNjobYBbs RZ8euteJSu8JYEfccFZalmHOU43xl9I7ZStXcqNeqrYzMEeIbjqU8Av2zkn+g3zqrT IJNoUBWmfywO1cb4JPgeHIrgnDx8k9iUfozEXTm3AVhV1Wg29ssXo3iZEJBClmXTWj PniUchTRyms/NjPYv6DQGpS4V3MR1uCMs1oAFUaQyiqLINjTRFmO/xhfQtlY1Z8fin 7ga7g0fBX1ytKpmHaSjpF1wRxNtKBS000NHOqSMRLu8g+DWlmRI1q75Pasuapbnvsl HrkRR4YcMiMC7c7bBFXnCJpMK77eiDLu6CTMfXoVUVGJcKmZtMqRv/LPTNxdFb2FbC BrmhbfRZZVyC0y0FapuT/X2cplNdGGDgMGonbC2x4GWM0TiIns9Wrun7hus9vxu2T0 /olQkb6SItrJb92g1D2uX94WZM05tg2IxTPsZyK+NwlSks3HkmMvLcfZ4Am8AuG8q3 9o6RcpqkNham+hDm+rC+J8DkFVkZ7DLS7r69Ur5F14hgxe79SOmwLuyDGqfe4pV3TW FiT89h/WdL9SVQEDgAmC1bHk= Message-ID: <17b83af1-06c7-4e2d-9445-034444b78342@ofloo.net> Date: Fri, 29 Aug 2025 19:07:21 +0200 List-Id: Discussion List-Archive: https://lists.freebsd.org/archives/freebsd-virtualization List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: freebsd-virtualization@freebsd.org Sender: owner-freebsd-virtualization@FreeBSD.org MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: GPU Passthrough on FreeBSD 14.3(AMD Radeon RX 6700 XT and Debian Linux 12.11) To: Mark Millard , peter.garshtja@ambient-md.com, Virtualisation on FreeBSD References: <3F9D5D27-B5BA-408D-B577-9625080838BB.ref@yahoo.com> <3F9D5D27-B5BA-408D-B577-9625080838BB@yahoo.com> Content-Language: en-US, nl-BE From: Wouter Snels In-Reply-To: <3F9D5D27-B5BA-408D-B577-9625080838BB@yahoo.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-99.6 required=5.0 tests=ALL_TRUSTED,HELO_NO_DOMAIN, RDNS_NONE,TW_KL,USER_IN_WELCOMELIST,USER_IN_WHITELIST autolearn=no autolearn_force=no version=4.0.1 X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on loki.ofloo.net X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:6939, ipnet:2001:470::/32, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Rspamd-Queue-Id: 4cD4VP6sJFz3FFq I haven't passed through a gpu, not sure how a thunderbolt gpu shows up but, .. you need to tell freebsd not to attach to that gpu, .. put something like this in /boot/loader.conf, the numbers below depend on what pci slot your gpu is. #pptdevs="179/0/0 179/0/1" Note your host system requires a gpu for this to work. Then pass it on to bhyve. For me the easiest way to manage bhyve from console is through vm-bhyve. It also has an command vm passthru # vm passthru DEVICE     BHYVE ID     READY        DESCRIPTION hostb0     0/0/0        No           Sky Lake-E DMI3 Registers ioat0      0/4/0        No           Sky Lake-E CBDMA Registers ioat1      0/4/1        No           Sky Lake-E CBDMA Registers ioat2      0/4/2        No           Sky Lake-E CBDMA Registers If you done it correctly Ready will show yes If you check their example config .. less /usr/local/share/examples/vm-bhyve/config.sample # passthru0 # Add a pass-through PCI device to the virtual machine. This allows the guest # to access a hardware device no differently than if it was running on bare # metal. The value of this option is the B/S/F of the appropriate device. # e.g "3/0/0" # # The slot to use in bhyve can be specified as below. This example will # force the host device 6/0/0 to use slot 2:0 in the guest # # passthru0="6/0/0=2:0" # # Please note that in order to stop the bhyve host from attaching to the device, # there are some steps required to reserve the device in /boot/loader.conf. # # The 'vm passthru' command provides a convinient way of seeing the BSF of each # device in your system, and whether any have been reserved ready for use # in bhyve # # More details can be found in the FreeBSD bhyve wiki pages # passthru0="" And yes your boot loader in your config needs to be uefi, with thunderbolt egpu you might need to pass through the entire controller just like when you want to pass through an usb device, there is ways around that but i doubt this can be done with an egpu. Regards, .. Op 29/08/2025 om 05:25 schreef Mark Millard: > Petru Garstea write on > Date: Thu, 28 Aug 2025 17:42:18 UTC : > >> I want to mention also that GPU is connected as eGPU via thunderbolt3. > > [Do not take the below as claims of an expert. So > believe folks with expertise if they report I'm > wrong about anything.] > > Mostly this note is about watching out for assuming > too much of an analogous context with folks that do > not have thunderbolt involved at all in their > context. > > If any aspect of what you are doing requires FreeBSD to > support thunderbolt3: I'm not aware that any version > of FreeBSD claims to support any version of thunderbolt > yet. Also, if I understand right, the effort is going > into thunderbolt4+ without initially having general > backward compatibility with thunderbolt3. (That, of > itself, makes the thunderbolt4 incomplete, if I > understand right.) > > As I understand, the details even involve if the EFI > software has builtin support for parts of the handling > vs. if the operating system kernel must do those support > activities on on its own. Sometimes some things appear > to work for some contexts because of the EFI dealing > with aspects that the kernel does not deal with (yet). > > (As I understand, FreeBSD does not yet face the > alternative of both the EFI and the kernel being able > to support such and guiding which way things should > go.) > > === > Mark Millard > marklmi at yahoo.com > From nobody Fri Aug 29 18:48:57 2025 X-Original-To: freebsd-virtualization@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cD6kM18KZz6616c for ; Fri, 29 Aug 2025 18:49:15 +0000 (UTC) (envelope-from peter.garshtja@ambient-md.com) Received: from mail-qk1-x732.google.com (mail-qk1-x732.google.com [IPv6:2607:f8b0:4864:20::732]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "WR4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cD6kL6MJFz3S5R for ; Fri, 29 Aug 2025 18:49:14 +0000 (UTC) (envelope-from peter.garshtja@ambient-md.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-qk1-x732.google.com with SMTP id af79cd13be357-7f8ea864d54so221035785a.0 for ; Fri, 29 Aug 2025 11:49:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ambient-md-com.20230601.gappssmtp.com; s=20230601; t=1756493349; x=1757098149; darn=freebsd.org; h=in-reply-to:from:content-language:references:to:subject:user-agent :mime-version:date:message-id:from:to:cc:subject:date:message-id :reply-to; bh=sN8nhD9fMOpsw6zz8SCGUJdXTL8sTCMVo2hedfF57kE=; b=I6Meh5sAT6Lr12BTcNvrUKD9ZUbqeXoC7jCJY8jL9arS4eMANJvbXIA8KTW6x3uw6l CLOKxLSBka3Do58YaF1QPHYh7ggcWo1jdy18MdgqGf0ZFd2wcDYDih/+zAGkh9RLLrzM fSfkhGktramtC0+rD+FtQ6rIV2q/GOeVrBxgRrqscNdQ08LqvOjBPvKW5wY0kwYNEMM/ cBeTo3fV+k2xiDJFGUTVocwHBG1t4DVwkHG8k5NI6ccEd05w888z7PPeZsfj9vTuJ/28 GrVMAxf0ckg1oGv8LAfCPQ9ld5u1/lBTLBckRofN3eoUO/Hz2a3/tCFCWRHCO/LGvKn1 lyEA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1756493349; x=1757098149; h=in-reply-to:from:content-language:references:to:subject:user-agent :mime-version:date:message-id:x-gm-message-state:from:to:cc:subject :date:message-id:reply-to; bh=sN8nhD9fMOpsw6zz8SCGUJdXTL8sTCMVo2hedfF57kE=; b=J9e3q7ZW6q8EF5yodR98fRCzE4Dhx3eMImdrB3coEqp0ZfBuORtBE/hZ7UFnKMZ++v /THw8ew2X3niYuWf4WCz4b40q4fSGbTmpB8PCBp87spAZkFkznUkvLWMMqDBZ0S3yn+I JVDUguaN3qQx+mxC8FNUXM8XSy8A9PJdjFegXIchUPDFqnzH4T/juy7ls96ulf0wpJsJ t9wQbrXekoz99One+2HuAzHg2NSeLejbf+x9dtQCNcjUsrSyKfEJ1gC07yW3+NbouU7w eNYVTeA1s3oVsVlDDqckU69wmZYAU0Y45kK507SII7gbslZWG0hSL++XWSCOeJHFm1Pg DqnA== X-Forwarded-Encrypted: i=1; AJvYcCWlB4bwvoEYGufFZgMR7TWvADzHAFo2J04b+ZzA+ovynMV4nIbZvhQWGoz1XH2SXdeWGqQlLBfgfOACUrqoxuwXKSuWuoj+@freebsd.org X-Gm-Message-State: AOJu0YxtzXgNs7XTFy2oHuoRFUjMGnTqMD9uTFhDrJA+CGsg9XgjhJKf AUyl4eG1NjQPraCJDVje5zsHv1sW3AA0msCK3ToJ1224kTWlqP5/uG51NRZProNM3M9/AXWuD5a JhEUFciw= X-Gm-Gg: ASbGncuSvGCSDbVrTVE3ehSozWBp2zuHDFqFxonkGhpy6Ux1ls3qHX8xDUPwByrdzL2 TIf/BFH/Ozthl40GZ1ZdZ//08tFYLtTzdyTykQ9l/YhQ4vMMg21LJey74Kz6WfUs51ZvlRTZrym 0a2wFYRylLVPPdn5QG/Lt+NZM0OovmAGthX4GXm17+RncOyuX0VOD+TIuq3Nbq4OXXOGxU/rB51 FF+qrJK755gZm7a9L+dTwo6SP3wxE/vkZIG9YWOKU040D5nxWpb4G8afpcES76EB3lEEcafZS8B L8ywfegythIpBc30XAJf/TzaBoYQC5tJWzbtsin5gvFhqeQXb50ZS1hvALgJikYh4XFWhxNy0FS 6TsHl+5bEtSqz91xFHKU43+aiquXQ3STV63lpO4U= X-Google-Smtp-Source: AGHT+IHJMEK/u2P7t03twhn4354gK/rCmmbovsYX6ih1ibAuaYc27Di5JZHF3vHL+Io+m1ysZhiUgA== X-Received: by 2002:a05:620a:390a:b0:7f4:b7e9:23e2 with SMTP id af79cd13be357-7f4b7e926f0mr1840481585a.3.1756493348404; Fri, 29 Aug 2025 11:49:08 -0700 (PDT) Received: from [172.26.26.145] ([184.145.247.137]) by smtp.gmail.com with ESMTPSA id af79cd13be357-7fc16536012sm226021385a.66.2025.08.29.11.49.07 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 29 Aug 2025 11:49:07 -0700 (PDT) Content-Type: multipart/alternative; boundary="------------aWnDCmA9rs0Q6PhGkbgVwX9m" Message-ID: Date: Fri, 29 Aug 2025 14:48:57 -0400 List-Id: Discussion List-Archive: https://lists.freebsd.org/archives/freebsd-virtualization List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: freebsd-virtualization@freebsd.org Sender: owner-freebsd-virtualization@FreeBSD.org MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: GPU Passthrough on FreeBSD 14.3(AMD Radeon RX 6700 XT and Debian Linux 12.11) To: Wouter Snels , Mark Millard , Virtualisation on FreeBSD References: <3F9D5D27-B5BA-408D-B577-9625080838BB.ref@yahoo.com> <3F9D5D27-B5BA-408D-B577-9625080838BB@yahoo.com> <17b83af1-06c7-4e2d-9445-034444b78342@ofloo.net> Content-Language: en-US From: Petru Garstea In-Reply-To: <17b83af1-06c7-4e2d-9445-034444b78342@ofloo.net> X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Rspamd-Queue-Id: 4cD6kL6MJFz3S5R This is a multi-part message in MIME format. --------------aWnDCmA9rs0Q6PhGkbgVwX9m Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 8/29/25 1:07 PM, Wouter Snels wrote: > put something like this in /boot/loader.conf, the numbers below depend > on what pci slot your gpu is. > > #pptdevs="179/0/0 179/0/1" That portion of the configuration has already been applied on my end -- Below is the complete list of arguments passed to bhyve. > /usr/sbin/bhyve -H -P -A -S -c 4 -m 4096M \ > -s 0,hostbridge \ > -s 1:0,passthru,12/0/0,rom=rx6700xt.rom \ > -s 1:1,passthru,12/0/1 \ > -s 2,nvme,debian.img \ > -s 3,virtio-net,tap0 \ > -s 4,ahci-cd,debian.iso \ > -s 29,fbuf,tcp=0.0.0.0:5900,w=1920,h=1080 -s 30,xhci,tablet \ > -s 31,lpc \ > -l com1,/dev/nmdm2A \ > -l bootrom,BHYVE_UEFI_CODE.fd,BHYVE_UEFI_VARS.fd,fwcfg=qemu \ > debian_vm The following VM snippets ensures the GPU passthrough to the VM is functioning as expected. > lspci -D | grep -i amd > 0000:00:01.0 VGA compatible controller: Advanced Micro Devices, Inc. > [AMD/ATI] Navi 22 [Radeon RX 6700/6700 XT/6750 XT / 6800M/6850M XT] > (rev c1) > 0000:00:01.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Navi > 21/23 HDMI/DP Audio Controller The GPU resets as soon as a computation task is executed. > Aug 29 14:38:32 docker kernel: amdgpu: qcm fence wait loop timeout expired > Aug 29 14:38:32 docker kernel: amdgpu: The cp might be in an > unrecoverable state due to an unsuccessful queues preemption > Aug 29 14:38:32 docker kernel: amdgpu: Pasid 0x8003 DQM create queue > type 0 failed. ret -62 > Aug 29 14:38:32 docker kernel: amdgpu 0000:00:01.0: amdgpu: GPU reset > begin! > Aug 29 14:38:32 docker kernel: amdgpu: Failed to suspend process 0x8003 > Aug 29 14:38:32 docker kernel: amdgpu: Failed to suspend process 0x8002 > Aug 29 14:38:33 docker kernel: amdgpu 0000:00:01.0: amdgpu: free PSP > TMR buffer > Aug 29 14:38:33 docker kernel: amdgpu 0000:00:01.0: amdgpu: MODE1 reset > Aug 29 14:38:33 docker kernel: amdgpu 0000:00:01.0: amdgpu: GPU mode1 > reset > Aug 29 14:38:33 docker kernel: amdgpu 0000:00:01.0: amdgpu: GPU smu > mode1 reset > Aug 29 14:38:48 docker kernel: amdgpu 0000:00:01.0: amdgpu: GPU reset > succeeded, trying to resume > Aug 29 14:38:48 docker kernel: [drm] PCIE GART of 512M enabled (table > at 0x0000008000000000). > Aug 29 14:38:48 docker kernel: [drm] VRAM is lost due to GPU reset! > Aug 29 14:38:48 docker kernel: [drm] PSP is resuming... > Aug 29 14:38:49 docker kernel: [drm:psp_hw_start [amdgpu]] *ERROR* PSP > create ring failed! > Aug 29 14:38:49 docker kernel: [drm:psp_resume [amdgpu]] *ERROR* PSP > resume failed > Aug 29 14:38:49 docker kernel: [drm:amdgpu_device_fw_loading [amdgpu]] > *ERROR* resume of IP block failed -62 > Aug 29 14:38:49 docker kernel: amdgpu 0000:00:01.0: amdgpu: GPU > reset(1) failed > Aug 29 14:38:58 docker kernel: amdgpu: qcm fence wait loop timeout expired > Aug 29 14:38:58 docker kernel: amdgpu: The cp might be in an > unrecoverable state due to an unsuccessful queues preemption > Aug 29 14:38:58 docker kernel: amdgpu 0000:00:01.0: amdgpu: GPU reset > end with ret = -62 > Aug 29 14:38:58 docker kernel: amdgpu 0000:00:01.0: amdgpu: GPU reset > begin! > Aug 29 14:38:59 docker kernel: amdgpu 0000:00:01.0: amdgpu: Failed to > disallow df cstate The vm is still up and running however the GPUs capabilities are lost. Regards, Petru --------------aWnDCmA9rs0Q6PhGkbgVwX9m Content-Type: multipart/related; boundary="------------7HBVSpFE1QKi6n0EkxSFzaGo" --------------7HBVSpFE1QKi6n0EkxSFzaGo Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 7bit
On 8/29/25 1:07 PM, Wouter Snels wrote:
put something like this in /boot/loader.conf, the numbers below depend on what pci slot your gpu is.

#pptdevs="179/0/0 179/0/1"
That portion of the configuration has already been applied on my end
--

Below is the complete list of arguments passed to bhyve.
/usr/sbin/bhyve -H -P -A -S -c 4 -m 4096M \
-s 0,hostbridge \
-s 1:0,passthru,12/0/0,rom=rx6700xt.rom \
-s 1:1,passthru,12/0/1 \
-s 2,nvme,debian.img \
-s 3,virtio-net,tap0 \
-s 4,ahci-cd,debian.iso \
-s 29,fbuf,tcp=0.0.0.0:5900,w=1920,h=1080 -s 30,xhci,tablet \
-s 31,lpc \
-l com1,/dev/nmdm2A \
-l bootrom,BHYVE_UEFI_CODE.fd,BHYVE_UEFI_VARS.fd,fwcfg=qemu \
debian_vm

The following VM snippets ensures the GPU passthrough to the VM is functioning as expected.

lspci -D | grep -i amd
0000:00:01.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Navi 22 [Radeon RX 6700/6700 XT/6750 XT / 6800M/6850M XT] (rev c1)
0000:00:01.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Navi 21/23 HDMI/DP Audio Controller




The GPU resets as soon as a computation task is executed.

Aug 29 14:38:32 docker kernel: amdgpu: qcm fence wait loop timeout expired
Aug 29 14:38:32 docker kernel: amdgpu: The cp might be in an unrecoverable state due to an unsuccessful queues preemption
Aug 29 14:38:32 docker kernel: amdgpu: Pasid 0x8003 DQM create queue type 0 failed. ret -62
Aug 29 14:38:32 docker kernel: amdgpu 0000:00:01.0: amdgpu: GPU reset begin!
Aug 29 14:38:32 docker kernel: amdgpu: Failed to suspend process 0x8003
Aug 29 14:38:32 docker kernel: amdgpu: Failed to suspend process 0x8002
Aug 29 14:38:33 docker kernel: amdgpu 0000:00:01.0: amdgpu: free PSP TMR buffer
Aug 29 14:38:33 docker kernel: amdgpu 0000:00:01.0: amdgpu: MODE1 reset
Aug 29 14:38:33 docker kernel: amdgpu 0000:00:01.0: amdgpu: GPU mode1 reset
Aug 29 14:38:33 docker kernel: amdgpu 0000:00:01.0: amdgpu: GPU smu mode1 reset
Aug 29 14:38:48 docker kernel: amdgpu 0000:00:01.0: amdgpu: GPU reset succeeded, trying to resume
Aug 29 14:38:48 docker kernel: [drm] PCIE GART of 512M enabled (table at 0x0000008000000000).
Aug 29 14:38:48 docker kernel: [drm] VRAM is lost due to GPU reset!
Aug 29 14:38:48 docker kernel: [drm] PSP is resuming...
Aug 29 14:38:49 docker kernel: [drm:psp_hw_start [amdgpu]] *ERROR* PSP create ring failed!
Aug 29 14:38:49 docker kernel: [drm:psp_resume [amdgpu]] *ERROR* PSP resume failed
Aug 29 14:38:49 docker kernel: [drm:amdgpu_device_fw_loading [amdgpu]] *ERROR* resume of IP block <psp> failed -62
Aug 29 14:38:49 docker kernel: amdgpu 0000:00:01.0: amdgpu: GPU reset(1) failed
Aug 29 14:38:58 docker kernel: amdgpu: qcm fence wait loop timeout expired
Aug 29 14:38:58 docker kernel: amdgpu: The cp might be in an unrecoverable state due to an unsuccessful queues preemption
Aug 29 14:38:58 docker kernel: amdgpu 0000:00:01.0: amdgpu: GPU reset end with ret = -62
Aug 29 14:38:58 docker kernel: amdgpu 0000:00:01.0: amdgpu: GPU reset begin!
Aug 29 14:38:59 docker kernel: amdgpu 0000:00:01.0: amdgpu: Failed to disallow df cstate

The vm is still up and running however the GPUs capabilities are lost.

Regards,
Petru

--------------7HBVSpFE1QKi6n0EkxSFzaGo Content-Type: image/jpeg; name="utbbWjODDrnd05hc.jpg" Content-Disposition: inline; filename="utbbWjODDrnd05hc.jpg" Content-Id: Content-Transfer-Encoding: base64 /9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoHBwYIDAoM DAsKCwsNDhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRT/2wBDAQMEBAUEBQkFBQkUDQsN FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBT/wAAR CAGzAeUDAREAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAA AgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkK FhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWG h4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl 5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREA AgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYk NOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOE hYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk 5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwAoAKACgAoAKAA9KAPNdD1PVLBfF+o6z4ov JdM0G4mhUG1t8mNbdJC8myIFmUucBdv3RndmgDFbxz4gsJtX0yS9vInB0sR3mqxWhmtRdXDx O5EB2YCqpUOMgn5sjFAFJ9c1nw/rmvWFlf3Wp3F54igspdRt0tRchRp6SbQJNkAkygTJAHXC lsCgDoLDWvE+pX2l6JqWoTeHJnhvrhrwpavcTrFLGsYYDzIlOyTc4XuvG0ZoAyLbxt4m17SN U1KPVzp4sPDFvqyx29tEyTzlrr5jvVj5biBTtBBwRhhySAb0Fneah8WLW6/t6/tkl0aO6FpG luYyvnDdF80RbYeMnO7nhhxQBBYeLdZe70vUn1XzVv8AW7nS30XyYwsMcbTKCpC+Z5iiJXYs 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 oAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoA KACgAoAKACgAoAKACgAoAKACgAoAKACgAoAms50trqKWS3ju40YM0ExYJIP7pKlWwfYg+9AF rXtbuPEWqS31yscbuFRYoV2xxIihERRk4VVVVGSeB1NAGfQAUAFABQAUAFABQBs+Cjer4y0E 6cIW1AX9v9mFxnyzL5i7N2OducZx2oAxqACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgA oAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoA KACgAoAKACgAoAKACgAoAKACgAoA6T4af8lH8K/9ha0/9HLQBzdABQAUAFABQAUAFABQAUAF ABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFAB QAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAbPgq5uLLxloNxaWpvrqK/t5IbU OEMziRSqbj0ycDPbNAGNQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAU AFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQB7Dq9naazc6toDaXptvBZeHrK /tru3s44JYZvs1szF5EUFw7SMDv3cuCMYoAddfB3QYfE9lon9plJ11q20qcjVLSaS6R5DHJJ HDHl4SpA+WTdw3OCCKAMHRPDnhyW60DU1tNRm0+TV/7MuLS4uYwzt8jLIG8rAU7juQqen3ue ADT0/wD4R5NT+JSQ2F9Z6VDphWW3F1G8juupW2BGwiVY1PyjBVtvJ+bpQBw3jbQrTQdYhjsH mayurO3vYVuWDSIssSvsYgAEgsRkAZxnA6UAehfCuz02Twzov219DjW716a3uIdS09Z572IR 2+IYZTG3ln52wTJGAXBz1wAc7aahqH/CtfFulXFxdCzsr20ENjNMzJbkyTbgq5wDnrjqaAHX /gXR4LXUtPhkvv7c07SodUluXkQ20u9InaNU27lwsow5Y7iv3RkYALa6JonhX4oaJodnHfy6 rp+tW0FzeTzoYJWWRQ+yIIGUbuhLtkemaAMf4l+FofCt7BHI0k2pXjS3csiOrW6oZGVY0IHz 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 AKACgAoAKACgAoAKACgAoAKAOk+Gn/JR/Cv/AGFrT/0ctAHN0AFABQAUAFABQAUAFABQAUAF ABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFAB QAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQBs+Crm4svGWg3Fpam+uor+3khtQ4Q zOJFKpuPTJwM9s0AY1ABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAU AFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAF ABQAUAFABQAUAdJ8NP8Ako/hX/sLWn/o5aAOboAKACgAoAKACgAoAKACgAoAKACgAoAKACgA oAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoA KACgAoAKACgAoAKACgAoAKACgAoAKACgDpPhp/yUfwr/ANha0/8ARy0Ac3QAUAFABQAUAFAB QAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFAH//2Q== --------------7HBVSpFE1QKi6n0EkxSFzaGo-- --------------aWnDCmA9rs0Q6PhGkbgVwX9m-- From nobody Sun Aug 31 00:10:33 2025 X-Original-To: virtualization@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cDspt4cCMz65FR6 for ; Sun, 31 Aug 2025 00:10:46 +0000 (UTC) (envelope-from jon@xyinn.org) Received: from mail-24420.protonmail.ch (mail-24420.protonmail.ch [109.224.244.20]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "protonmail.com", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cDspr0GrDz3ZnG for ; Sun, 31 Aug 2025 00:10:43 +0000 (UTC) (envelope-from jon@xyinn.org) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=xyinn.org header.s=protonmail3 header.b=o3Hepm+o; dmarc=pass (policy=none) header.from=xyinn.org; spf=pass (mx1.freebsd.org: domain of jon@xyinn.org designates 109.224.244.20 as permitted sender) smtp.mailfrom=jon@xyinn.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=xyinn.org; s=protonmail3; t=1756599038; x=1756858238; bh=/mcx6ZFae9J1XgR3gxS98xsYvpjHle1B95o703NboFg=; h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References: Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID: Message-ID:BIMI-Selector; b=o3Hepm+oa7+D1FyijurzutFx7zpXhaF4bepI75OyGUC+ilHV6M7JLl3OTbndqAaEs zeyKVnJRwxbOhm1zh2lSLGvit4lyfnJ5ceAaqP/XGCKv9jk2dUrTkD/GyDkrr31Wg6 A92QzvbRK255UAUzAeAHbqW8e2bjn802JgASpvrLTeK9TV8x5d9gYVcolPQmcfSyUu CmstOEgyMTRdWybo7nOngS4d+FhdIo5+4ZhCpGyTRJPYYqo2nbdvV/x3zbaxQ8SUVH UNrpM7DQfnY5fpH63i06HOfTlNa/ICTsKMmfTLvMuQh7EYdHGhJMQukuceya4c5EZA xATkXKefb6j+g== Date: Sun, 31 Aug 2025 00:10:33 +0000 To: Jonathan Vasquez From: Jonathan Vasquez Cc: Robert Cocker , Stephan Althaus , "virtualization@freebsd.org" Subject: Re: GPU Passthrough on FreeBSD 14.3 (AMD Radeon RX 6900 XT and Windows 10 Pro) Message-ID: In-Reply-To: References: <6CV-OY6BcErrWRit9jSpi6fWsYBG3E_Z3u6eTLPcz6foPAZV1gQpZYaZTR7JA_1ot5RQVqrWQaLxJFySXjspIhSbBJGxmckcDQyzxhALNus=@xyinn.org> <98007d7f-427e-461a-adf1-7cb55f777662@Duedinghausen.eu> <9573a65a-ef25-416b-a5b6-e49b28c6086c@Duedinghausen.eu> <8e7f6904-8188-4941-827b-c874d5da586d@Duedinghausen.eu> Feedback-ID: 12351801:user:proton X-Pm-Message-ID: a326d86d4b2a2b843a9a108cd988a0bdd02584db List-Id: Discussion List-Archive: https://lists.freebsd.org/archives/freebsd-virtualization List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: freebsd-virtualization@freebsd.org Sender: owner-freebsd-virtualization@FreeBSD.org MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="b1=_nrTGfkXPZ6YZAlq8ymU4wOviXSgzcTvp03jDTHts" X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.26 / 15.00]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_SHORT(-0.96)[-0.961]; DMARC_POLICY_ALLOW(-0.50)[xyinn.org,none]; RWL_MAILSPIKE_EXCELLENT(-0.40)[109.224.244.20:from]; R_SPF_ALLOW(-0.20)[+ip4:109.224.244.0/24]; R_DKIM_ALLOW(-0.20)[xyinn.org:s=protonmail3]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; MIME_BASE64_TEXT(0.10)[]; MIME_TRACE(0.00)[0:+,1:+,2:~]; DKIM_TRACE(0.00)[xyinn.org:+]; ARC_NA(0.00)[]; FREEMAIL_CC(0.00)[gmail.com,Duedinghausen.eu,freebsd.org]; TO_DN_EQ_ADDR_SOME(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; FREEFALL_USER(0.00)[jon]; TO_DN_SOME(0.00)[]; TO_MATCH_ENVRCPT_SOME(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; FROM_HAS_DN(0.00)[]; MISSING_XM_UA(0.00)[]; MLMMJ_DEST(0.00)[virtualization@freebsd.org]; RCVD_COUNT_ZERO(0.00)[0]; MID_RHS_MATCH_FROM(0.00)[]; ASN(0.00)[asn:62371, ipnet:109.224.244.0/24, country:CH]; RCVD_IN_DNSWL_NONE(0.00)[109.224.244.20:from] X-Rspamd-Queue-Id: 4cDspr0GrDz3ZnG --b1=_nrTGfkXPZ6YZAlq8ymU4wOviXSgzcTvp03jDTHts Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: base64 SGV5IGFsbCwKCkkndmUgdXBkYXRlZCBteSBibG9nIHBvc3Qgd2l0aCBtb3JlIGluZm9ybWF0aW9u IGFuZCBzb21lIHVzZWZ1bCBzY3JlZW5zaG90czogaHR0cHM6Ly94eWlubi5vcmcvYmxvZy9mcmVl YnNkL2ZyZWVic2RfYmh5dmVfZ3B1X3Bhc3N0aHJvdWdoX2FtZAoKVGhlIGltcG9ydGFudCBzdHVm ZiB0byBtZW50aW9uIGlzIHRoYXQgSSd2ZSBhbHNvIGdvdHRlbiBhIGNoYW5jZSB0byBwbGF5IHdp dGggdm0tYmh5dmUsIGJ1dCBmb3IgdGhlIHB1cnBvc2VzIG9mIG1ha2luZyBzdXJlIHdlIGdldCBh cyBjbGVhciBpbmZvcm1hdGlvbiBhcyBwb3NzaWJsZSB3aXRob3V0IGhhdmluZyB0byB1bndyYXAg dGhlIHZtLWJoeXZlIHNjcmlwdHMsIEknbGwgY29udGludWUgdG8gdXNlIGJoeXZlIGRpcmVjdGx5 LiBXaXRoIHRoYXQgc2FpZCwgc29tZSB1c2VmdWwgaW5mbzoKCi0gVGhlIHZCSU9TIGlzIG5vdCBy ZXF1aXJlZCB3aGVuIHJ1bm5pbmcgb24gV2luZG93cyBhcyBtZW50aW9uZWQgYnkgQ29ydmluIGhl cmU6IGh0dHBzOi8vbGlzdHMuZnJlZWJzZC5vcmcvYXJjaGl2ZXMvZnJlZWJzZC12aXJ0dWFsaXph dGlvbi8yMDIyLUp1bmUvMDAwNzk3Lmh0bWwsIHRodXMgSSd2ZSBzdG9wcGVkIHVzaW5nIGl0LiBJ IHdhcyBob3dldmVyIGFsc28gYWJsZSB0byBzdWNjZXNzZnVsbHkgdXNlIGhpcyAiZWNobyAxIC4u LiIgcmVjb21tZW5kYXRpb24gdG8gZHVtcCB0aGUgYmlvcyBmcm9tIHdpdGhpbiBMaW51eCAoRmVk b3JhIDQyKS4gSSBhY3R1YWxseSBmYWlsZWQgdG8gZXh0cmFjdCB0aGUgYmlvcyBiZWZvcmUgKHdp dGhvdXQgdXNpbmcgYW1kdmJmbGFzaCkgYmVjYXVzZSBtb3N0IGxpa2VseSBteSBMaW51eCBNaW50 IDIyLjEncyBLZXJuZWwgd2FzIHRvbyBvbGQgdG8gZXh0cmFjdCB0aGUgUk9NLiBXaGVuIEkgdHJp ZWQgdG8gZG8gdGhlIHNhbWUgZXhhY3QgdGhpbmcgdG9kYXkgd2l0aCBGZWRvcmEgNDIsIGl0IHdv cmtlZCwgYW5kIEkgd2FzIGFibGUgdG8gc2VlIHRoZSAicm9tIiBmaWxlIGZyb20gRmVkb3JhIDQy LCBidXQgbm90IGZyb20gTGludXggTWludCAyMi4xLgotIEkgd2FzIGFibGUgdG8gZ2V0IHRoZSBH UFUgdG8gbG9hZCB3aXRob3V0IGEgQ29kZSA0MyBlcnJvci4gQnV0IGl0J3Mgc3RpbGwgdW51c2Fi bGUuIEkgd2FzIGFjdHVhbGx5IGFibGUgdG8gZ2V0IHRvIHRoaXMgc3RhdGUgYmVmb3JlIGJ1dCBp dCB3YXMgaW5jb25zaXN0ZW50LiBUaHJvdWdoIG1vcmUgcmVzZWFyY2ggSSB3YXMgYWJsZSB0byBn ZXQgaXQgdG8gYmUgcmVwcm9kdWNpYmxlLiBUaGVyZSBhcmUgYSBmZXcgdGhpbmdzIHRvIG1lbnRp b24gaGVyZToKCi0gVGhlIGNhcmQgd2lsbCBhbHdheXMgc3RhcnQgaW4gYSBDb2RlIDQzIGZhaWxl ZCBzdGF0ZSByZWdhcmRsZXNzIG9mIHdoYXQgSSBtZW50aW9uIGJlbG93IChpbmNsdWRpbmcgaWYg SSByZWJvb3QgdGhlIGhvc3QpLgotIElmIHlvdSB1c2UgUkRQLCB0aGUgY2FyZCB3aWxsIGFsd2F5 cyBiZSBpbiBhIENvZGUgNDMgc3RhdGUuCi0gSWYgSSB1c2UgVk5DLCB0aGUgY2FyZCB3aWxsIHN0 YXJ0IGluIGEgZmFpbGVkIHN0YXRlIChhcyBtZW50aW9uZWQgYWJvdmUpLCBIT1dFVkVSLCB5b3Ug d2lsbCBiZSBhYmxlIHRvIGdvIGludG8gdGhlIERldmljZSBNYW5hZ2VyLCBEaXNhYmxlIHRoZSBj YXJkLCBhbmQgdGhlbiBFbmFibGUgdGhlIGNhcmQsIGFuZCBpdCB3aWxsIGJlIGVuYWJsZWQgc3Vj Y2Vzc2Z1bGx5IGFzIHlvdSBjYW4gc2VlIGluIG15IHNjcmVlbnNob3RzLiBUaGUgT1Mgd2lsbCBh bHNvIGdpdmUgaXQgcmVzb3VyY2VzIGZyb20gd2hhdCB3ZSBjYW4gc2VlIGluIHRoZSBEZXZpY2Un cyBQcm9wZXJ0aWVzJyBSZXNvdXJjZXMgVGFiLgoKR2l2ZW4gd2hhdCBJIG1lbnRpb25lZCBhYm92 ZSwgSSB3b3VsZCByZWNvbW1lbmQgKGFzIHNvbWUgb3RoZXIgcGVvcGxlIHJlY29tbWVuZGVkIGlu IG90aGVyIGxpbmtzIEkndmUgZm91bmQpLCB0byBkaXNhYmxlIHRoZSBjYXJkIGluIHRoZSBWTSBi ZWZvcmUgeW91IHNodXQgaXQgZG93biwgYW5kIHRoZW4gZW5hYmxlIGl0IGZyb20gaW5zaWRlIG9m IFdpbmRvd3Mgd2hlbiB5b3UgdHVybiBpdCBiYWNrIG9uLiBBbHRob3VnaCBJIGRvbid0IGtub3cg aG93IG5lY2Vzc2FyeSB0aGlzIGlzIGdpdmVuIHRoYXQgaWYgSSB1c2UgVk5DLCBldmVuIGlmIGl0 IHN0YXJ0cyBvZmYgaW4gYSBmYWlsZWQgc3RhdGUgKGxldCdzIHNheSBmcm9tIGEgZnJlc2ggaG9z dCByZWJvb3QpLCBkb2luZyB0aGUgImRldmljZSByZS1uYWJsaW5nIHRyaWNrIiB3aWxsIGxldCBp dCBsb2FkIHN1Y2Nlc3NmdWxseSBhZ2Fpbi4gQXQgdGhpcyBwb2ludCBzaW5jZSBJJ3ZlIGdvdHRl biB0aGUgY2FyZCB0byBzYXkgaXQgd29ya2VkLCBJJ20gbm90IHN1cmUgaG93IHRvIHRlbGwgV2lu ZG93cyB0byB1c2UgdGhhdCBhcyB0aGUgbWFpbiBHUFUgd2hlbiBJIHJ1biBteSBhcHBzLiBJJ3Zl IGxvb2tlZCBhdCBzb21lIGV4YW1wbGVzIG9ubGluZSBvZiB1c2luZyBkaXNwbGF5IHNldHRpbmdz IHRvIGNoYW5nZSB0aGUgcHJlZmVycmVkIGNhcmQsIGJ1dCBJIGRvbid0IHNlZSBpdCBsaXN0ZWQg dGhlcmUuIEFtIEkgc3VwcG9zZSB0byBzZWUgdGhlIGNhcmQgaW4gZHhkaWFnIGlmIEknbSB1c2lu ZyBWTkM/IEknbSBqdXN0IHJ1bm5pbmcgdGhlIGJoeXZlIFZNIG9uIG15IHNlcnZlciwgYW5kIEkg Vk5DIG92ZXIgZnJvbSBteSBsYXB0b3Agb24gdGhlIHNhbWUgTEFOIG5ldHdvcmsuIEknbSBndWVz c2luZyBpZiB0aGluZ3MgYXJlIHdvcmtpbmcgY29ycmVjdGx5IEkgc2hvdWxkIGJlIGFibGUgdG8g ZG8gdGhhdCByaWdodD8gSSBrbm93IHRoZXJlIGFyZSBhbHNvIHNvbWUgYmVuY2htYXJraW5nIGFw cHMgdGhhdCBzaG93IHlvdSB3aGF0IEdQVXMgaXRzIGRldGVjdGVkIGFuZCBtYXliZSBhbGxvdyB5 b3UgdG8gcGljayBvbmUgdG8gcnVuIGEgYmVuY2htYXJrIG9uLiBJIHRyaWVkIG9wZW5pbmcgRnVy TWFyayBidXQgaXQgZmFpbHMgc2F5aW5nIHRoYXQgaXQgb25seSBkZXRlY3RzIE9wZW4gR0wgMS4x IGFuZCBhbGwgb2YgdGhhdC4uLiBJIGFjdHVhbGx5IHRyaWVkIGluc3RhbGxpbmcgTWVzYSBmb3Ig d2luZG93cyB0byBzZWUgd2hhdCBoYXBwZW5zIGFuZCB0aGF0IGRvZXMgaGVscCBidXQgaXQncyBz bG93IGFuZCBpdCdzIGNsZWFybHkgbm90IHVzaW5nIHRoZSBjYXJkIGFuZCBtb3N0IGxpa2VseSBk b2luZyBzb21lIHNvcnQgb2Ygc29mdHdhcmUgcmVuZGVyaW5nIChtYXliZSBsaWtlIGEgV2luZG93 cyBsbHZtcGlwZSkuCgpKb25hdGhhbiBWYXNxdWV6ClBHUDogMzREQSA4NThDIDE0NDcgNTA5RSBD NzdBIEQ0OUYgRkI4NSA5MEI3IEM0Q0EgNTI3OQpTZW50IHdpdGggUHJvdG9uTWFpbCBTZWN1cmUg RW1haWwKCk9uIE1vbmRheSwgQXVndXN0IDI1dGgsIDIwMjUgYXQgMTQ6NTEsIEpvbmF0aGFuIFZh c3F1ZXogPGpvbkB4eWlubi5vcmc+IHdyb3RlOgoKPiBObyBnbyBmb3IgbXkgdGVzdGluZyBpbnNp ZGUgYSBMaW51eCBNaW50IDIyLjEgVk0uIEZ1bGx5IHVwZGF0ZWQsIGFuZCBwYXNzaW5nIGluIGJv dGggMy8wLzAgYW5kIDMvMC8xIGZvciBteSBBTUQgUmFkZW9uIGNhcmQuIEkgd2FzIGFibGUgdG8g ZXh0cmFjdCBzb21lIG9mIHRoZSAiZG1lc2ciIGFuZCAiZWdsaW5mbyIgb3V0cHV0LiBSdW5uaW5n ICJnbHhpbmZvIiBhbHNvIHNob3dlZCB0aGF0IHRoZSBPcGVuR0wgcmVuZGVyZXIgd2FzIHNldCB0 byBsbHZtcGlwZSwgc28gc29mdHdhcmUgcmVuZGVyaW5nIDooLiAibHNwY2kgLWsiIGRldGVjdGVk IGl0IGFuZCBzaG93ZWQgdGhhdCBpdCB3YXMgdXNpbmcgdGhlICJhbWRncHUiIGtlcm5lbCBkcml2 ZXIuIFNpbmNlIEknbSB1c2luZyB2bS1iaHl2ZSBhdG0gSSBkaWRuJ3QgdGVzdCB0aGlzIHdpdGgg dGhlIGR1bXBlZCByb20sIGp1c3QgZGlyZWN0bHkgcGFzc2luZyB0aGVtIHRocm91Z2guIEkndmUg dXBsb2FkZWQgc29tZSBvZiB0aGUgbG9ncyBoZXJlIGZvciBub3cgaW4gY2FzZSBhbnlvbmUgd2Fu dHMgdG8gdGFrZSBhIGdsYW5jZSBhdCB0aGVtOgo+Cj4gaHR0cHM6Ly94eWlubi5vcmcvZnJlZWJz ZC9maWxlcy9ncHVfcGFzcy8yMDI1LTA4LTI1Lwo+Cj4gSm9uYXRoYW4gVmFzcXVlego+IFBHUDog MzREQSA4NThDIDE0NDcgNTA5RSBDNzdBIEQ0OUYgRkI4NSA5MEI3IEM0Q0EgNTI3OQo+IFNlbnQg d2l0aCBQcm90b25NYWlsIFNlY3VyZSBFbWFpbAo+Cj4gT24gTW9uZGF5LCBBdWd1c3QgMjV0aCwg MjAyNSBhdCAxNDozNywgUm9iZXJ0IENvY2tlciA8cmNvY2tlcjg3QGdtYWlsLmNvbT4gd3JvdGU6 Cj4KPj4gSGV5IGdyb3VwIGhhcyBiaHZ5ZSBjb3JlIGRldiBiYWtlZCBvdXQgYW4gdXBkYXRlIGZv ciB0aGlzCj4+Cj4+IFJvYmVydAo+PiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPj4KPj4gRnJvbTogb3duZXItZnJlZWJzZC12 aXJ0dWFsaXphdGlvbkBGcmVlQlNELm9yZyA8b3duZXItZnJlZWJzZC12aXJ0dWFsaXphdGlvbkBG cmVlQlNELm9yZz4gb24gYmVoYWxmIG9mIEpvbmF0aGFuIFZhc3F1ZXogPGpvbkB4eWlubi5vcmc+ Cj4+IFNlbnQ6IE1vbmRheSwgQXVndXN0IDI1LCAyMDI1IDExOjM1OjMxIEFNCj4+IFRvOiBKb25h dGhhbiBWYXNxdWV6IDxqb25AeHlpbm4ub3JnPgo+PiBDYzogU3RlcGhhbiBBbHRoYXVzIDxTdGVw aGFuLkFsdGhhdXNARHVlZGluZ2hhdXNlbi5ldT47IHZpcnR1YWxpemF0aW9uQGZyZWVic2Qub3Jn IDx2aXJ0dWFsaXphdGlvbkBmcmVlYnNkLm9yZz4KPj4gU3ViamVjdDogUmU6IEdQVSBQYXNzdGhy b3VnaCBvbiBGcmVlQlNEIDE0LjMgKEFNRCBSYWRlb24gUlggNjkwMCBYVCBhbmQgV2luZG93cyAx MCBQcm8pCj4+Cj4+IEkgd2FzIGFibGUgdG8gZ2V0IGEgZnJlc2ggV2luIDEwIFBybyBWTSBydW5u aW5nIHRocm91Z2ggdm0tYmh5dmUgYnV0IG5vIHByb2dyZXNzLiBTdGlsbCBzYW1lIENvZGUgNDMg ZXJyb3IgYXMgYmVmb3JlLiBJIHdhc24ndCBhYmxlIHRvIGZpZ3VyZSBvdXQgaG93IHRvIHBhc3Mg dGhlIHJvbT1iaW9zLnJvbeKAiyB0aHJvdWdoIHZtLWJoeXZlLCBJIGRpZG4ndCBzZWUgYW55dGhp bmcgYWJvdXQgaXQgaW4gdGhlIGNvbmZpZy5zYW1wbGUgZmlsZSBhbmQgSSBhbHNvIHRyaWVkIHRv IGJ5cGFzcyB0aGF0IGJ5IGFkZGluZyBpdCBpbiBiaHl2ZV9vcHRpb25zIGJ1dCBubyBnbywgdGhl IFZNIHdvdWxkbid0IGV2ZW4gc3RhcnQgaWYgSSBkaWQgdGhhdC4gSSBzZWUgdGhlcmUgaXMgYSAi Ymh5dmVfZGV2aWNlcyIgdGhhdCBjb250YWlucyBhbGwgb2YgdGhlIHNsb3QgZGV2aWNlcyBidXQg SSBkb24ndCBzZWUgdGhhdCBhcyBhbiBhZGp1c3RhYmxlIHZhcmlhYmxlIGJhc2VkIG9uIHRoZSBj b25maWcuc2FtcGxlIGluZm8uIEkndmUgcGFzdGVkIG15IGN1cnJlbnQgdm0tYmh5dmUgdGVtcGxh dGUgYmVsb3cuIE15IG5leHQgdGVzdCBpcyB0byB0cnkgdGhlIHNhbWUgdGhpbmcgaW5zaWRlIGEg TGludXggZ3Vlc3QgdG8gc2VlIHdoYXQgaGFwcGVucy4KPj4KPj4gLS0tLS0tLS0tLS0tLS0tLQo+ Pgo+PiBsb2FkZXI9InVlZmkiCj4+IGNwdT0iNCIKPj4gY3B1X3NvY2tldHM9IjEiCj4+IGNwdV9j b3Jlcz0iNCIKPj4gY3B1X3RocmVhZHM9IjEiCj4+IG1lbW9yeT0iMTZHIgo+PiB3aXJlZF9tZW1v cnk9InllcyIKPj4KPj4gdXRjdGltZT0ibm8iCj4+IGFoY2lfZGV2aWNlX2xpbWl0PSI4Igo+Pgo+ PiBkaXNrMF90eXBlPSJudm1lIgo+PiBkaXNrMF9uYW1lPSJkaXNrMC5pbWciCj4+Cj4+IG5ldHdv cmswX3R5cGU9ImUxMDAwIgo+PiBuZXR3b3JrMF9zd2l0Y2g9InB1YmxpYyIKPj4KPj4gcGFzc3Ro cnUwPSIzLzAvMD0yOjAiCj4+IHBhc3N0aHJ1MT0iMy8wLzE9MjoxIgo+Pgo+PiAjYmh5dmVfb3B0 aW9ucz0iLXMgMjowLHBhc3N0aHJ1LDMvMC8wLHJvbT1iaW9zLnJvbSIKPj4KPj4gIyBVc2luZyBS RFAgcG9zdC1pbnN0YWxsLgo+PiBncmFwaGljcz0ibm8iCj4+IGdyYXBoaWNzX3BvcnQ9IjU5MDAi Cj4+IGdyYXBoaWNzX2xpc3Rlbj0iMC4wLjAuMCIKPj4gZ3JhcGhpY3NfcmVzPSIxOTIweDEwODAi Cj4+IGdyYXBoaWNzX3dhaXQ9InllcyIKPj4KPj4geGhjaV9tb3VzZT0ieWVzIgo+PiB1dWlkPSI1 MzVkNTRiNS04MWNiLTExZjAtOTNhMi05OGI3ODUwMWJkYTgiICBuZXR3b3JrMF9tYWM9IjU4Ojlj OmZjOjA0OjVhOmViIgo+Pgo+PiAtLS0tLS0tLS0tLS0tLS0tCj4+Cj4+IEpvbmF0aGFuIFZhc3F1 ZXoKPj4gUEdQOiAzNERBIDg1OEMgMTQ0NyA1MDlFIEM3N0EgRDQ5RiBGQjg1IDkwQjcgQzRDQSA1 Mjc5Cj4+IFNlbnQgd2l0aCBQcm90b25NYWlsIFNlY3VyZSBFbWFpbAo+Pgo+PiBPbiBNb25kYXks IEF1Z3VzdCAyNXRoLCAyMDI1IGF0IDExOjA1LCBKb25hdGhhbiBWYXNxdWV6IDxqb25AeHlpbm4u b3JnPiB3cm90ZToKPj4KPj4+IFVuZm9ydHVuYXRlbHkgSSBkb24ndCBoYXZlIGFuIGludGVsIG1h Y2hpbmUgd2l0aCBhbiBhdmFpbGFibGUgUENJZSBzbG90LiBIb3dldmVyIEknbSB0cnlpbmcgYW5v dGhlciB0aGluZyB3aGljaCBpcyB0byBwYXNzdGhyb3VnaCB0aGUgY2FyZCB0byBhIExpbnV4IGd1 ZXN0LiBJIG5lZWQgdG8gcnVuIG1vcmUgZXhwZXJpbWVudHMgYnV0IGEgcHJlbGltaW5hcnkgYm9v dCBvZiBhIExpbnV4IE1pbnQgSVNPIGRpZCBzaG93IHRoZSBBTUQgUmFkZW9uIFJYIDY5MDAgWFQg Y2FyZCBpbiBsc3BjaeKAiyBhbmQgc2hvd2VkIHRoYXQgaXQgd2FzIHVzaW5nIHRoZSBhbWRncHXi gIsgZHJpdmVyLiBJIHRoZW4gZGlkIGEgYmFzaWMgZ2x4Z2VhcnPigIsgYW5kIGl0IG9wZW5lZCB1 cCBpbiBteSBWTkMgd2luZG93IGFuZCBzaG93ZWQgdGhlIEZQUyBjb3VudGVyIGF0IG92ZXIgMjAw MCBmcHMuIFRoZSBvbmx5IGlzc3VlIEkgbm90aWNlZCB3YXMgd2hlbiBzaHV0dGluZyBkb3duIHRo ZSBsaXZlIENEIGVudmlyb25tZW50IHRoZXJlIHdlcmUgYW1kZ3B14oCLIGZhaWx1cmUgbWVzc2Fn ZXMgd2hlcmUgaXQgd2FzIGZhaWxpbmcgdG8gd3JpdGUgc29tZXRoaW5nIHRvIGl0LiBJJ20gY3Vy cmVudGx5IHJlZG9pbmcgbXkgImJhc2ljIGJoeXZlIHNjcmlwdCIgYW5kIG1vdmluZyBpdCBvdmVy IHRvICJ2bS1iaHl2ZSIgc2luY2UgaXQgc2VlbXMgYSBsb3Qgb2YgcGVvcGxlIGFyZSB1c2luZyB0 aGF0IGluc3RlYWQgb2YgdGhlIG1vcmUgbWFudWFsIGFwcHJvYWNoLiBUaGlzIHNob3VsZCBob3Bl ZnVsbHkgaGVscCBzaW1wbGlmeSB0aGluZ3MgZm9yIGRlYnVnZ2luZy4gSWYgdGhlIGNhcmQgd29y a3Mgb24gTGludXggdmlhIHBhc3N0aHJvdWdoIHRoaXMgd291bGQgYWxzbyBiZSB1c2VmdWwgaW5m byBhbmQgY2FuIGFsbG93IG1lIHRvIHNlZSB0aGUgcGVyZm9ybWFuY2Ugb2YgQ3lwZXJwdW5rIDIw NzcsIGFuZCBzb21lIG90aGVyIGdhbWVzIChldmVuIGlmIEknbSBub3QgZ2V0dGluZyAxMDAlIG9m IHRoZSBjYXJkJ3MgcGVyZm9ybWFuY2UpLgo+Pj4KPj4+IEpvbmF0aGFuIFZhc3F1ZXoKPj4+IFBH UDogMzREQSA4NThDIDE0NDcgNTA5RSBDNzdBIEQ0OUYgRkI4NSA5MEI3IEM0Q0EgNTI3OQo+Pj4g U2VudCB3aXRoIFByb3Rvbk1haWwgU2VjdXJlIEVtYWlsCj4+Pgo+Pj4gT24gTW9uZGF5LCBBdWd1 c3QgMjV0aCwgMjAyNSBhdCAxMTowMCwgU3RlcGhhbiBBbHRoYXVzIDxTdGVwaGFuLkFsdGhhdXNA RHVlZGluZ2hhdXNlbi5ldT4gd3JvdGU6Cj4+Pgo+Pj4+IE9uIDgvMjUvMjUgMTY6NTYsIEpvbmF0 aGFuIFZhc3F1ZXogd3JvdGU6Cj4+Pj4KPj4+Pj4gSGV5IFN0ZXBoYW4sCj4+Pj4+Cj4+Pj4+IFl1 cCwgSSd2ZSB0cmllZCBwYXNzaW5nIGJvdGggMy8wLzAgYW5kIDMvMC8xIGFuZCBubyBnbywgYW5k IEkgYWxzbyBtYWtlIHN1cmUgdG8gcmVib290IHRoZSBob3N0IGluIGJldHdlZW4gcnVucyBkdWUg dG8gdGhlIGFtZCBoYXJkd2FyZSBpc3N1ZS4gSSBkb24ndCBiZWxpZXZlIDMvMC8xIGlzIG5lY2Vz c2FyeSB0aG91Z2ggYmFzZWQgb24gdGhlIGV4YW1wbGVzIGJ5IENvcnZpbiBpbiBoaXMgdGFsay4g SGUgb25seSBwYXNzZWQgaW4gMy8wLzAgKEknbSBndWVzc2luZyBoaXMgY2FyZCBhbHNvIGhhcyBh IDMvMC8xIGZ1bmN0aW9uIHRoYXQgaGUgaXNuJ3QgdXNpbmcgc2luY2UgdGhhdCdzIHRoZSBhdWRp byBjaGFubmVsKS4KPj4+Pj4KPj4+Pj4gSm9uYXRoYW4gVmFzcXVlego+Pj4+PiBQR1A6IDM0REEg ODU4QyAxNDQ3IDUwOUUgQzc3QSBENDlGIEZCODUgOTBCNyBDNENBIDUyNzkKPj4+Pj4gU2VudCB3 aXRoIFByb3Rvbk1haWwgU2VjdXJlIEVtYWlsCj4+Pj4+Cj4+Pj4+IE9uIE1vbmRheSwgQXVndXN0 IDI1dGgsIDIwMjUgYXQgMTA6NTIsIFN0ZXBoYW4gQWx0aGF1cyBbPFN0ZXBoYW4uQWx0aGF1c0BE dWVkaW5naGF1c2VuLmV1Pl0obWFpbHRvOlN0ZXBoYW4uQWx0aGF1c0BEdWVkaW5naGF1c2VuLmV1 KSB3cm90ZToKPj4+Pj4KPj4+Pj4+IE9uIDgvMjUvMjUgMTY6NDcsIFN0ZXBoYW4gQWx0aGF1cyB3 cm90ZToKPj4+Pj4+Cj4+Pj4+Pj4gT24gOC8yNC8yNSAyMzo1OCwgSm9uYXRoYW4gVmFzcXVleiB3 cm90ZToKPj4+Pj4+Pgo+Pj4+Pj4+PiBIZXkgYWxsLAo+Pj4+Pj4+Pgo+Pj4+Pj4+PiBJJ3ZlIGJl ZW4gZXhwZXJpbWVudGluZyB3aXRoIHRyeWluZyB0byBnZXQgbXkgc2VydmVyJ3MgZGVkaWNhdGVk IEFNRCBSYWRlb24gUlggNjkwMCBYVCB3b3JraW5nIG9uIGEgYmh5dmUgV2luZG93cyAxMCBQcm8g Y2xpZW50IGZvciBnYW1pbmcgcHVycG9zZXMuIEkndmUgYmVlbiByZWFkaW5nIGEgYnVuY2ggb2Yg YmxvZyBwb3N0cywgc2l0ZXMsIGZpbGVzLCBhbmQgdmlkZW9zICh0aGFua3MgQ29ydmluKSB0byB0 cnkgYW5kIHBpZWNlIHRoaW5ncyB0b2dldGhlci4gSSd2ZSBiZWVuIGFibGUgdG8gZ2V0IHRoZSBW TSB0byByZWNvZ25pemUgdGhlIGNhcmQsIGJ1dCBzdGlsbCBzdHVjayBvbiB0aGUgQ29kZSA0MyBp c3N1ZSAod2l0aCBvciB3aXRob3V0IHVzaW5nIHRoZSB2QklPUyBJJ3ZlIGV4dHJhY3RlZCBmcm9t IG15IGRlZGljYXRlZCBjYXJkIGFuZCBhbHNvIGVuc3VyaW5nIGFueSBvcHRpb25zIG5lZWRlZCB0 byBiZSBvbiBpbiB0aGUgVUVGSSBzZXR0aW5ncyBhcmUgZW5hYmxlZCkuIFRoaXMgbWFjaGluZSBp cyBydW5uaW5nIG9uIGFuIEFNRCBSeXplbiA5IDc5NTBYIDE2LUNvcmUgUHJvY2Vzc29yLCBzbyBp dCdzIGEgZnVsbCBBTUQgc2V0dXAsIG5vIEludGVsIHN0dWZmLiBJdCB0ZWNobmljYWxseSBzaG91 bGQgYmUgcmVsYXRpdmVseSAiZWFzeSIgdG8gZ2V0IEFNRCB3b3JraW5nIGZyb20gd2hhdCBJJ3Zl IHJlYWQgKGV4Y2x1ZGluZyB0aGUga25vd24gQU1EIEhhcmR3YXJlIHJlc2V0IGlzc3VlKS4gSSd2 ZSBkb2N1bWVudGVkIGV2ZXJ5dGhpbmcgSSd2ZSBkb25lIHNvIGZhciwgYW5kIHdpbGwgYmUgZG9j dW1lbnRpbmcgbW9yZSBhbmQgc2ltcGxpZnlpbmcgdGhlIGluc3RydWN0aW9ucyBhcyBJIG1ha2Ug cHJvZ3Jlc3MuIFBsZWFzZSBsZXQgbWUga25vdyBpZiB5b3Ugc2VlIGFueSB0aGluZyB3ZWlyZCBv ciBhbnl0aGluZyBJIGNvdWxkIHRyeSBiYXNlZCBvbiB3aGF0IEkndmUgcmV3cml0dGVuLiBJJ2xs IHRyeSB0byBnaXZlIGl0IGEgZ28gYW5kIHByb3ZpZGUgZmVlZGJhY2suIFRoYW5rIHlvdSEKPj4+ Pj4+Pj4KPj4+Pj4+Pj4gaHR0cHM6Ly94eWlubi5vcmcvYmxvZy9mcmVlYnNkL2ZyZWVic2RfYmh5 dmVfZ3B1X3Bhc3N0aHJvdWdoX2FtZAo+Pj4+Pj4+Pgo+Pj4+Pj4+PiBKb25hdGhhbiBWYXNxdWV6 Cj4+Pj4+Pj4+IFBHUDogMzREQSA4NThDIDE0NDcgNTA5RSBDNzdBIEQ0OUYgRkI4NSA5MEI3IEM0 Q0EgNTI3OQo+Pj4+Pj4+PiBTZW50IHdpdGggUHJvdG9uTWFpbCBTZWN1cmUgRW1haWwKPj4+Pj4+ Pgo+Pj4+Pj4+IEhpIQo+Pj4+Pj4+Cj4+Pj4+Pj4gaSBoYXZlIGEgQU1EIFJYNjQwMCBHUFUgc2V0 dXAgcnVubmluZyBvbiAxNC4yIHdpdGggd2luMTAgZ3Vlc3QsIGhvc3QgaXMgYSBpbnRlbCBzeXN0 ZW0uCj4+Pj4+Pj4KPj4+Pj4+PiBpIHRoaW5rIHlvdSBoYXZlIHRvIHBhc3N0aHJvdWdoIHRoZSAz LzAvMSBkZXZpY2UgYXMgd2VsbCEKPj4+Pj4+Pgo+Pj4+Pj4+IFRoZSBiaW9zLnJvbSBpcyBleHRy YWN0ZWQgZnJvbSB0aGlzIGNhcmQgaW4gcGxhY2UgPwo+Pj4+Pj4+Cj4+Pj4+Pj4gUmVnYXJkcywK Pj4+Pj4+PiBTdGVwaGFuCj4+Pj4+Pgo+Pj4+Pj4gQWgsIGFuZCBiZSBzaHVyZSB0byByZWJvb3Qg dGhlIHdob2xlIHNldHVwLCBpbmNsdXNpdmUgaG9zdCwgZm9yIGV2ZXJ5IG5ldyB0ZXN0LWNhc2Us Cj4+Pj4+PiBhdCBsZWFzdCBhcyBsb25nIGF0IGlzIG5vdCBndWFyYW50ZWVkIHRoYXQgd2UgY2Fu IGxpdmUgd2l0aG91dC4uCj4+Pj4+Pgo+Pj4+Pj4gUmVnYXJzLAo+Pj4+Pj4gU3RlcGhhbgo+Pj4+ Cj4+Pj4gSGkhCj4+Pj4KPj4+PiBNeSBvbmx5IG5leHQgYXNzdW1wdGlvbiB3b3VsZCBiZSB0aGF0 IHRoaXMgb25seSBkb2VzIG5vdCB3b3JrIG9uIEFNRCBob3N0Lgo+Pj4+Cj4+Pj4gWW91IGRvbid0 IGhhdmUgYW4gaW50ZWwgc3lzdGVtIHRvIHRlc3QsIHlvdSB3b3VsZCBoYXZlZG9uZSBpdCwgaWYg c28uLiAoPykKPj4+Pgo+Pj4+IFN0ZXBoYW4= --b1=_nrTGfkXPZ6YZAlq8ymU4wOviXSgzcTvp03jDTHts Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: base64 PGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE0 cHg7Ij5IZXkgYWxsLDwvZGl2PjxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1z ZXJpZjsgZm9udC1zaXplOiAxNHB4OyI+PGJyPjwvZGl2PjxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5 OiBBcmlhbCwgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxNHB4OyI+SSd2ZSB1cGRhdGVkIG15IGJs b2cgcG9zdCB3aXRoIG1vcmUgaW5mb3JtYXRpb24gYW5kIHNvbWUgdXNlZnVsIHNjcmVlbnNob3Rz OiZuYnNwOzxzcGFuPjxhIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vcmVmZXJyZXIgbm9mb2xsb3cg bm9vcGVuZXIiIGhyZWY9Imh0dHBzOi8veHlpbm4ub3JnL2Jsb2cvZnJlZWJzZC9mcmVlYnNkX2Jo eXZlX2dwdV9wYXNzdGhyb3VnaF9hbWQiPmh0dHBzOi8veHlpbm4ub3JnL2Jsb2cvZnJlZWJzZC9m cmVlYnNkX2JoeXZlX2dwdV9wYXNzdGhyb3VnaF9hbWQ8L2E+PC9zcGFuPjwvZGl2PjxkaXYgc3R5 bGU9ImZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxNHB4OyI+PGJy PjwvZGl2PjxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjsgZm9udC1z aXplOiAxNHB4OyI+VGhlIGltcG9ydGFudCBzdHVmZiB0byBtZW50aW9uIGlzIHRoYXQgSSd2ZSBh bHNvIGdvdHRlbiBhIGNoYW5jZSB0byBwbGF5IHdpdGggdm0tYmh5dmUsIGJ1dCBmb3IgdGhlIHB1 cnBvc2VzIG9mIG1ha2luZyBzdXJlIHdlIGdldCBhcyBjbGVhciBpbmZvcm1hdGlvbiBhcyBwb3Nz aWJsZSB3aXRob3V0IGhhdmluZyB0byB1bndyYXAgdGhlIHZtLWJoeXZlIHNjcmlwdHMsIEknbGwg Y29udGludWUgdG8gdXNlIGJoeXZlIGRpcmVjdGx5LiBXaXRoIHRoYXQgc2FpZCwgc29tZSB1c2Vm dWwgaW5mbzo8L2Rpdj48ZGl2IHN0eWxlPSJmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7 IGZvbnQtc2l6ZTogMTRweDsiPjxicj48L2Rpdj48ZGl2IHN0eWxlPSJmb250LWZhbWlseTogQXJp YWwsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTRweDsiPjx1bCBzdHlsZT0ibWFyZ2luLXRvcDog MHB4OyBtYXJnaW4tYm90dG9tOiAwcHg7IiBkYXRhLWVkaXRpbmctaW5mbz0ieyZxdW90O29yZGVy ZWRTdHlsZVR5cGUmcXVvdDs6MSwmcXVvdDt1bm9yZGVyZWRTdHlsZVR5cGUmcXVvdDs6Mn0iPjxs aSBzdHlsZT0ibGlzdC1zdHlsZS10eXBlOiAmcXVvdDstICZxdW90OzsiPjxzcGFuPlRoZSB2QklP UyBpcyBub3QgcmVxdWlyZWQgd2hlbiBydW5uaW5nIG9uIFdpbmRvd3MgYXMgbWVudGlvbmVkIGJ5 IENvcnZpbiBoZXJlOiZuYnNwOzxzcGFuPjxhIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vcmVmZXJy ZXIgbm9mb2xsb3cgbm9vcGVuZXIiIGhyZWY9Imh0dHBzOi8vbGlzdHMuZnJlZWJzZC5vcmcvYXJj aGl2ZXMvZnJlZWJzZC12aXJ0dWFsaXphdGlvbi8yMDIyLUp1bmUvMDAwNzk3Lmh0bWwiPmh0dHBz Oi8vbGlzdHMuZnJlZWJzZC5vcmcvYXJjaGl2ZXMvZnJlZWJzZC12aXJ0dWFsaXphdGlvbi8yMDIy LUp1bmUvMDAwNzk3Lmh0bWw8L2E+PC9zcGFuPiwgdGh1cyBJJ3ZlIHN0b3BwZWQgdXNpbmcgaXQu IEkgd2FzIGhvd2V2ZXIgYWxzbyBhYmxlIHRvIHN1Y2Nlc3NmdWxseSB1c2UgaGlzICJlY2hvIDEg Li4uIiByZWNvbW1lbmRhdGlvbiB0byBkdW1wIHRoZSBiaW9zIGZyb20gd2l0aGluIExpbnV4IChG ZWRvcmEgNDIpLiBJIGFjdHVhbGx5IGZhaWxlZCB0byBleHRyYWN0IHRoZSBiaW9zIGJlZm9yZSAo d2l0aG91dCB1c2luZyBhbWR2YmZsYXNoKSBiZWNhdXNlIG1vc3QgbGlrZWx5IG15IExpbnV4IE1p bnQgMjIuMSdzIEtlcm5lbCB3YXMgdG9vIG9sZCB0byBleHRyYWN0IHRoZSBST00uIFdoZW4gSSB0 cmllZCB0byBkbyB0aGUgc2FtZSBleGFjdCB0aGluZyB0b2RheSB3aXRoIEZlZG9yYSA0MiwgaXQg d29ya2VkLCBhbmQgSSB3YXMgYWJsZSB0byBzZWUgdGhlICJyb20iIGZpbGUgZnJvbSBGZWRvcmEg NDIsIGJ1dCBub3QgZnJvbSBMaW51eCBNaW50IDIyLjEuPC9zcGFuPjwvbGk+PGxpIHN0eWxlPSJs aXN0LXN0eWxlLXR5cGU6ICZxdW90Oy0gJnF1b3Q7OyI+SSB3YXMgYWJsZSB0byBnZXQgdGhlIEdQ VSB0byBsb2FkIHdpdGhvdXQgYSBDb2RlIDQzIGVycm9yLiBCdXQgaXQncyBzdGlsbCB1bnVzYWJs ZS4gSSB3YXMgYWN0dWFsbHkgYWJsZSB0byBnZXQgdG8gdGhpcyBzdGF0ZSBiZWZvcmUgYnV0IGl0 IHdhcyBpbmNvbnNpc3RlbnQuIFRocm91Z2ggbW9yZSByZXNlYXJjaCBJIHdhcyBhYmxlIHRvIGdl dCBpdCB0byBiZSByZXByb2R1Y2libGUuIFRoZXJlIGFyZSBhIGZldyB0aGluZ3MgdG8gbWVudGlv biBoZXJlOjwvbGk+PHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwcHg7IG1hcmdpbi1ib3R0b206IDBw eDsgbGlzdC1zdHlsZS10eXBlOiBjaXJjbGU7Ij48bGkgc3R5bGU9IiI+VGhlIGNhcmQgd2lsbCBh bHdheXMgc3RhcnQgaW4gYSBDb2RlIDQzIGZhaWxlZCBzdGF0ZSByZWdhcmRsZXNzIG9mIHdoYXQg SSBtZW50aW9uIGJlbG93IChpbmNsdWRpbmcgaWYgSSByZWJvb3QgdGhlIGhvc3QpLjwvbGk+PGxp IHN0eWxlPSIiPklmIHlvdSB1c2UgUkRQLCB0aGUgY2FyZCB3aWxsIGFsd2F5cyBiZSBpbiBhIENv ZGUgNDMgc3RhdGUuPC9saT48bGkgc3R5bGU9IiI+SWYgSSB1c2UgVk5DLCB0aGUgY2FyZCB3aWxs IHN0YXJ0IGluIGEgZmFpbGVkIHN0YXRlIChhcyBtZW50aW9uZWQgYWJvdmUpLCBIT1dFVkVSLCB5 b3Ugd2lsbCBiZSBhYmxlIHRvIGdvIGludG8gdGhlIERldmljZSBNYW5hZ2VyLCBEaXNhYmxlIHRo ZSBjYXJkLCBhbmQgdGhlbiBFbmFibGUgdGhlIGNhcmQsIGFuZCBpdCB3aWxsIGJlIGVuYWJsZWQg c3VjY2Vzc2Z1bGx5IGFzIHlvdSBjYW4gc2VlIGluIG15IHNjcmVlbnNob3RzLiBUaGUgT1Mgd2ls bCBhbHNvIGdpdmUgaXQgcmVzb3VyY2VzIGZyb20gd2hhdCB3ZSBjYW4gc2VlIGluIHRoZSBEZXZp Y2UncyBQcm9wZXJ0aWVzJyBSZXNvdXJjZXMgVGFiLjwvbGk+PC91bD48L3VsPjwvZGl2PjxkaXYg c3R5bGU9ImZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxNHB4OyI+ PGJyPjwvZGl2PjxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjsgZm9u dC1zaXplOiAxNHB4OyI+R2l2ZW4gd2hhdCBJIG1lbnRpb25lZCBhYm92ZSwgSSB3b3VsZCByZWNv bW1lbmQgKGFzIHNvbWUgb3RoZXIgcGVvcGxlIHJlY29tbWVuZGVkIGluIG90aGVyIGxpbmtzIEkn dmUgZm91bmQpLCB0byBkaXNhYmxlIHRoZSBjYXJkIGluIHRoZSBWTSBiZWZvcmUgeW91IHNodXQg aXQgZG93biwgYW5kIHRoZW4gZW5hYmxlIGl0IGZyb20gaW5zaWRlIG9mIFdpbmRvd3Mgd2hlbiB5 b3UgdHVybiBpdCBiYWNrIG9uLiBBbHRob3VnaCBJIGRvbid0IGtub3cgaG93IG5lY2Vzc2FyeSB0 aGlzIGlzIGdpdmVuIHRoYXQgaWYgSSB1c2UgVk5DLCBldmVuIGlmIGl0IHN0YXJ0cyBvZmYgaW4g YSBmYWlsZWQgc3RhdGUgKGxldCdzIHNheSBmcm9tIGEgZnJlc2ggaG9zdCByZWJvb3QpLCBkb2lu ZyB0aGUgImRldmljZSByZS1uYWJsaW5nIHRyaWNrIiB3aWxsIGxldCBpdCBsb2FkIHN1Y2Nlc3Nm dWxseSBhZ2Fpbi4gQXQgdGhpcyBwb2ludCBzaW5jZSBJJ3ZlIGdvdHRlbiB0aGUgY2FyZCB0byBz YXkgaXQgd29ya2VkLCBJJ20gbm90IHN1cmUgaG93IHRvIHRlbGwgV2luZG93cyB0byB1c2UgdGhh dCBhcyB0aGUgbWFpbiBHUFUgd2hlbiBJIHJ1biBteSBhcHBzLiBJJ3ZlIGxvb2tlZCBhdCBzb21l IGV4YW1wbGVzIG9ubGluZSBvZiB1c2luZyBkaXNwbGF5IHNldHRpbmdzIHRvIGNoYW5nZSB0aGUg cHJlZmVycmVkIGNhcmQsIGJ1dCBJIGRvbid0IHNlZSBpdCBsaXN0ZWQgdGhlcmUuIEFtIEkgc3Vw cG9zZSB0byBzZWUgdGhlIGNhcmQgaW4gZHhkaWFnIGlmIEknbSB1c2luZyBWTkM/IEknbSBqdXN0 IHJ1bm5pbmcgdGhlIGJoeXZlIFZNIG9uIG15IHNlcnZlciwgYW5kIEkgVk5DIG92ZXIgZnJvbSBt eSBsYXB0b3Agb24gdGhlIHNhbWUgTEFOIG5ldHdvcmsuIEknbSBndWVzc2luZyBpZiB0aGluZ3Mg YXJlIHdvcmtpbmcgY29ycmVjdGx5IEkgc2hvdWxkIGJlIGFibGUgdG8gZG8gdGhhdCByaWdodD8g SSBrbm93IHRoZXJlIGFyZSBhbHNvIHNvbWUgYmVuY2htYXJraW5nIGFwcHMgdGhhdCBzaG93IHlv dSB3aGF0IEdQVXMgaXRzIGRldGVjdGVkIGFuZCBtYXliZSBhbGxvdyB5b3UgdG8gcGljayBvbmUg dG8gcnVuIGEgYmVuY2htYXJrIG9uLiBJIHRyaWVkIG9wZW5pbmcgRnVyTWFyayBidXQgaXQgZmFp bHMgc2F5aW5nIHRoYXQgaXQgb25seSBkZXRlY3RzIE9wZW4gR0wgMS4xIGFuZCBhbGwgb2YgdGhh dC4uLiBJIGFjdHVhbGx5IHRyaWVkIGluc3RhbGxpbmcgTWVzYSBmb3Igd2luZG93cyB0byBzZWUg d2hhdCBoYXBwZW5zIGFuZCB0aGF0IGRvZXMgaGVscCBidXQgaXQncyBzbG93IGFuZCBpdCdzIGNs ZWFybHkgbm90IHVzaW5nIHRoZSBjYXJkIGFuZCBtb3N0IGxpa2VseSBkb2luZyBzb21lIHNvcnQg b2Ygc29mdHdhcmUgcmVuZGVyaW5nIChtYXliZSBsaWtlIGEgV2luZG93cyBsbHZtcGlwZSkuPC9k aXY+PGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6 IDE0cHg7Ij48YnI+PC9kaXY+DQo8ZGl2IHN0eWxlPSJmb250LWZhbWlseTogQXJpYWwsIHNhbnMt c2VyaWY7IGZvbnQtc2l6ZTogMTRweDsiIGNsYXNzPSJwcm90b25tYWlsX3NpZ25hdHVyZV9ibG9j ayI+DQogICAgPGRpdiBjbGFzcz0icHJvdG9ubWFpbF9zaWduYXR1cmVfYmxvY2stdXNlciI+DQog ICAgICAgIDxkaXY+Sm9uYXRoYW4gVmFzcXVlejxicj48L2Rpdj48ZGl2PlBHUDogMzREQSA4NThD IDE0NDcgNTA5RSBDNzdBICBENDlGIEZCODUgOTBCNyBDNENBIDUyNzk8YnI+PC9kaXY+PGRpdj5T ZW50IHdpdGggUHJvdG9uTWFpbCBTZWN1cmUgRW1haWw8YnI+PC9kaXY+PGRpdj48YnI+PC9kaXY+ DQogICAgPC9kaXY+DQogICAgDQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm90b25tYWlsX3Np Z25hdHVyZV9ibG9jay1wcm90b24gcHJvdG9ubWFpbF9zaWduYXR1cmVfYmxvY2stZW1wdHkiPg0K ICAgICAgICANCiAgICAgICAgICAgIDwvZGl2Pg0KPC9kaXY+DQo8ZGl2IHN0eWxlPSJmb250LWZh bWlseTogQXJpYWwsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTRweDsiPjxicj48L2Rpdj48ZGl2 IGNsYXNzPSJwcm90b25tYWlsX3F1b3RlIj4NCiAgICAgICAgT24gTW9uZGF5LCBBdWd1c3QgMjV0 aCwgMjAyNSBhdCAxNDo1MSwgSm9uYXRoYW4gVmFzcXVleiAmbHQ7am9uQHh5aW5uLm9yZyZndDsg d3JvdGU6PGJyPg0KICAgICAgICA8YmxvY2txdW90ZSBjbGFzcz0icHJvdG9ubWFpbF9xdW90ZSIg dHlwZT0iY2l0ZSI+DQogICAgICAgICAgICA8ZGl2IHN0eWxlPSJmb250LWZhbWlseTogQXJpYWws IHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTRweDsiPk5vIGdvIGZvciBteSB0ZXN0aW5nIGluc2lk ZSBhIExpbnV4IE1pbnQgMjIuMSBWTS4gRnVsbHkgdXBkYXRlZCwgYW5kIHBhc3NpbmcgaW4gYm90 aCAzLzAvMCBhbmQgMy8wLzEgZm9yIG15IEFNRCBSYWRlb24gY2FyZC4gSSB3YXMgYWJsZSB0byBl eHRyYWN0IHNvbWUgb2YgdGhlICJkbWVzZyIgYW5kICJlZ2xpbmZvIiBvdXRwdXQuIFJ1bm5pbmcg ImdseGluZm8iIGFsc28gc2hvd2VkIHRoYXQgdGhlIE9wZW5HTCByZW5kZXJlciB3YXMgc2V0IHRv IGxsdm1waXBlLCBzbyBzb2Z0d2FyZSByZW5kZXJpbmcgOiguICJsc3BjaSAtayIgZGV0ZWN0ZWQg aXQgYW5kIHNob3dlZCB0aGF0IGl0IHdhcyB1c2luZyB0aGUgImFtZGdwdSIga2VybmVsIGRyaXZl ci4gU2luY2UgSSdtIHVzaW5nIHZtLWJoeXZlIGF0bSBJIGRpZG4ndCB0ZXN0IHRoaXMgd2l0aCB0 aGUgZHVtcGVkIHJvbSwganVzdCBkaXJlY3RseSBwYXNzaW5nIHRoZW0gdGhyb3VnaC4gSSd2ZSB1 cGxvYWRlZCBzb21lIG9mIHRoZSBsb2dzIGhlcmUgZm9yIG5vdyBpbiBjYXNlIGFueW9uZSB3YW50 cyB0byB0YWtlIGEgZ2xhbmNlIGF0IHRoZW06PC9kaXY+PGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6 IEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE0cHg7Ij48YnI+PC9kaXY+PGRpdiBzdHls ZT0iZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE0cHg7Ij48c3Bh bj48YSB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub3JlZmVycmVyIG5vZm9sbG93IG5vb3BlbmVyIiBo cmVmPSJodHRwczovL3h5aW5uLm9yZy9mcmVlYnNkL2ZpbGVzL2dwdV9wYXNzLzIwMjUtMDgtMjUv Ij5odHRwczovL3h5aW5uLm9yZy9mcmVlYnNkL2ZpbGVzL2dwdV9wYXNzLzIwMjUtMDgtMjUvPC9h Pjwvc3Bhbj48YnI+PC9kaXY+PGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNl cmlmOyBmb250LXNpemU6IDE0cHg7Ij48YnI+PC9kaXY+DQo8ZGl2IHN0eWxlPSJmb250LWZhbWls eTogQXJpYWwsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTRweDsiIGNsYXNzPSJwcm90b25tYWls X3NpZ25hdHVyZV9ibG9jayI+DQogICAgPGRpdiBjbGFzcz0icHJvdG9ubWFpbF9zaWduYXR1cmVf YmxvY2stdXNlciI+DQogICAgICAgIDxkaXY+Sm9uYXRoYW4gVmFzcXVlejxicj48L2Rpdj48ZGl2 PlBHUDogMzREQSA4NThDIDE0NDcgNTA5RSBDNzdBICBENDlGIEZCODUgOTBCNyBDNENBIDUyNzk8 YnI+PC9kaXY+PGRpdj5TZW50IHdpdGggUHJvdG9uTWFpbCBTZWN1cmUgRW1haWw8YnI+PC9kaXY+ PGRpdj48YnI+PC9kaXY+DQogICAgPC9kaXY+DQoNCiAgICAgICAgICAgIDxkaXYgY2xhc3M9InBy b3Rvbm1haWxfc2lnbmF0dXJlX2Jsb2NrLXByb3RvbiBwcm90b25tYWlsX3NpZ25hdHVyZV9ibG9j ay1lbXB0eSI+DQoNCiAgICAgICAgICAgIDwvZGl2Pg0KPC9kaXY+DQo8ZGl2IHN0eWxlPSJmb250 LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTRweDsiPjxicj48L2Rpdj48 ZGl2IGNsYXNzPSJwcm90b25tYWlsX3F1b3RlIj4NCiAgICAgICAgT24gTW9uZGF5LCBBdWd1c3Qg MjV0aCwgMjAyNSBhdCAxNDozNywgUm9iZXJ0IENvY2tlciAmbHQ7cmNvY2tlcjg3QGdtYWlsLmNv bSZndDsgd3JvdGU6PGJyPg0KICAgICAgICA8YmxvY2txdW90ZSBjbGFzcz0icHJvdG9ubWFpbF9x dW90ZSIgdHlwZT0iY2l0ZSI+DQoNCjxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OiBBcHRvcywgLWFw cGxlLXN5c3RlbSwgSGVsdmV0aWNhTmV1ZSwgc2Fucy1zZXJpZjtmb250LXNpemU6IDEycHQiPg0K PGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6IEFwdG9zLCBBcHRvc19NU0ZvbnRTZXJ2aWNlLCAtYXBw bGUtc3lzdGVtLCBSb2JvdG8sIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7IGZvbnQtc2l6 ZTogMTJwdDsiIGRpcj0ibHRyIj4NCkhleSBncm91cCBoYXMgYmh2eWUgY29yZSBkZXYgYmFrZWQg b3V0IGFuIHVwZGF0ZSBmb3IgdGhpcyZuYnNwOzwvZGl2Pg0KPC9kaXY+DQo8ZGl2IGlkPSJtcy1v dXRsb29rLW1vYmlsZS1ib2R5LXNlcGFyYXRvci1saW5lIiBzdHlsZT0iZm9udC1mYW1pbHk6IEFw dG9zLCAtYXBwbGUtc3lzdGVtLCBIZWx2ZXRpY2FOZXVlLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZTog MTJwdCIgZGlyPSJhdXRvIj4NCjxicj4NCjwvZGl2Pg0KPGRpdiBpZD0ibXMtb3V0bG9vay1tb2Jp bGUtc2lnbmF0dXJlIiBzdHlsZT0iZm9udC1mYW1pbHk6IEFwdG9zLCAtYXBwbGUtc3lzdGVtLCBI ZWx2ZXRpY2FOZXVlLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZTogMTJwdCI+DQo8ZGl2IGRpcj0ibHRy Ij5Sb2JlcnQ8L2Rpdj4NCjwvZGl2Pg0KPGhyIHN0eWxlPSJkaXNwbGF5OmlubGluZS1ibG9jazt3 aWR0aDo5OCUiIHRhYmluZGV4PSItMSI+DQo8ZGl2IGlkPSJkaXZScGx5RndkTXNnIiBkaXI9Imx0 ciI+PGZvbnQgZmFjZT0iQ2FsaWJyaSwgc2Fucy1zZXJpZiIgc3R5bGU9ImZvbnQtc2l6ZToxMXB0 IiBjb2xvcj0iIzAwMDAwMCI+PGI+RnJvbTo8L2I+IG93bmVyLWZyZWVic2QtdmlydHVhbGl6YXRp b25ARnJlZUJTRC5vcmcgJmx0O293bmVyLWZyZWVic2QtdmlydHVhbGl6YXRpb25ARnJlZUJTRC5v cmcmZ3Q7IG9uIGJlaGFsZiBvZiBKb25hdGhhbiBWYXNxdWV6ICZsdDtqb25AeHlpbm4ub3JnJmd0 Ozxicj4NCjxiPlNlbnQ6PC9iPiBNb25kYXksIEF1Z3VzdCAyNSwgMjAyNSAxMTozNTozMSBBTTxi cj4NCjxiPlRvOjwvYj4gSm9uYXRoYW4gVmFzcXVleiAmbHQ7am9uQHh5aW5uLm9yZyZndDs8YnI+ DQo8Yj5DYzo8L2I+IFN0ZXBoYW4gQWx0aGF1cyAmbHQ7U3RlcGhhbi5BbHRoYXVzQER1ZWRpbmdo YXVzZW4uZXUmZ3Q7OyB2aXJ0dWFsaXphdGlvbkBmcmVlYnNkLm9yZyAmbHQ7dmlydHVhbGl6YXRp b25AZnJlZWJzZC5vcmcmZ3Q7PGJyPg0KPGI+U3ViamVjdDo8L2I+IFJlOiBHUFUgUGFzc3Rocm91 Z2ggb24gRnJlZUJTRCAxNC4zIChBTUQgUmFkZW9uIFJYIDY5MDAgWFQgYW5kIFdpbmRvd3MgMTAg UHJvKTwvZm9udD4NCjxkaXY+Jm5ic3A7PC9kaXY+DQo8L2Rpdj4NCjxkaXY+DQo8ZGl2IHN0eWxl PSJmb250LWZhbWlseTpBcmlhbCxzYW5zLXNlcmlmOyBmb250LXNpemU6MTRweCI+SSB3YXMgYWJs ZSB0byBnZXQgYSBmcmVzaCBXaW4gMTAgUHJvIFZNIHJ1bm5pbmcgdGhyb3VnaCB2bS1iaHl2ZSBi dXQgbm8gcHJvZ3Jlc3MuIFN0aWxsIHNhbWUgQ29kZSA0MyBlcnJvciBhcyBiZWZvcmUuIEkgd2Fz bid0IGFibGUgdG8gZmlndXJlIG91dCBob3cgdG8gcGFzcyB0aGUNCjxjb2RlPnJvbT1iaW9zLnJv bTwvY29kZT7igIsgdGhyb3VnaCB2bS1iaHl2ZSwgSSBkaWRuJ3Qgc2VlIGFueXRoaW5nIGFib3V0 IGl0IGluIHRoZSBjb25maWcuc2FtcGxlIGZpbGUgYW5kIEkgYWxzbyB0cmllZCB0byBieXBhc3Mg dGhhdCBieSBhZGRpbmcgaXQgaW4gYmh5dmVfb3B0aW9ucyBidXQgbm8gZ28sIHRoZSBWTSB3b3Vs ZG4ndCBldmVuIHN0YXJ0IGlmIEkgZGlkIHRoYXQuIEkgc2VlIHRoZXJlIGlzIGEgImJoeXZlX2Rl dmljZXMiIHRoYXQgY29udGFpbnMNCiBhbGwgb2YgdGhlIHNsb3QgZGV2aWNlcyBidXQgSSBkb24n dCBzZWUgdGhhdCBhcyBhbiBhZGp1c3RhYmxlIHZhcmlhYmxlIGJhc2VkIG9uIHRoZSBjb25maWcu c2FtcGxlIGluZm8uIEkndmUgcGFzdGVkIG15IGN1cnJlbnQgdm0tYmh5dmUgdGVtcGxhdGUgYmVs b3cuIE15IG5leHQgdGVzdCBpcyB0byB0cnkgdGhlIHNhbWUgdGhpbmcgaW5zaWRlIGEgTGludXgg Z3Vlc3QgdG8gc2VlIHdoYXQgaGFwcGVucy48L2Rpdj4NCjxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5 OkFyaWFsLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZToxNHB4Ij48YnI+DQo8L2Rpdj4NCjxkaXYgc3R5 bGU9ImZvbnQtZmFtaWx5OkFyaWFsLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZToxNHB4Ij4tLS0tLS0t LS0tLS0tLS0tPC9kaXY+DQo8ZGl2IHN0eWxlPSJmb250LWZhbWlseTpBcmlhbCxzYW5zLXNlcmlm OyBmb250LXNpemU6MTRweCI+PGJyPg0KPC9kaXY+DQo8ZGl2IHN0eWxlPSJmb250LWZhbWlseTpB cmlhbCxzYW5zLXNlcmlmOyBmb250LXNpemU6MTRweCI+PHNwYW4+bG9hZGVyPSJ1ZWZpIiAmbmJz cDsgJm5ic3A7PC9zcGFuPg0KPGRpdj48c3Bhbj5jcHU9IjQiICZuYnNwOyAmbmJzcDs8L3NwYW4+ PC9kaXY+DQo8ZGl2PjxzcGFuPmNwdV9zb2NrZXRzPSIxIiAmbmJzcDsgJm5ic3A7PC9zcGFuPjwv ZGl2Pg0KPGRpdj48c3Bhbj5jcHVfY29yZXM9IjQiICZuYnNwOyAmbmJzcDs8L3NwYW4+PC9kaXY+ DQo8ZGl2PjxzcGFuPmNwdV90aHJlYWRzPSIxIiAmbmJzcDsgJm5ic3A7PC9zcGFuPjwvZGl2Pg0K PGRpdj48c3Bhbj5tZW1vcnk9IjE2RyIgJm5ic3A7ICZuYnNwOzwvc3Bhbj48L2Rpdj4NCjxkaXY+ PHNwYW4+d2lyZWRfbWVtb3J5PSJ5ZXMiICZuYnNwOyAmbmJzcDs8L3NwYW4+PC9kaXY+DQo8ZGl2 PjxzcGFuPiZuYnNwOyAmbmJzcDsgPC9zcGFuPjwvZGl2Pg0KPGRpdj48c3Bhbj51dGN0aW1lPSJu byIgJm5ic3A7ICZuYnNwOzwvc3Bhbj48L2Rpdj4NCjxkaXY+PHNwYW4+YWhjaV9kZXZpY2VfbGlt aXQ9IjgiICZuYnNwOyAmbmJzcDs8L3NwYW4+PC9kaXY+DQo8ZGl2PjxzcGFuPiZuYnNwOyAmbmJz cDsgPC9zcGFuPjwvZGl2Pg0KPGRpdj48c3Bhbj5kaXNrMF90eXBlPSJudm1lIiAmbmJzcDsgJm5i c3A7PC9zcGFuPjwvZGl2Pg0KPGRpdj48c3Bhbj5kaXNrMF9uYW1lPSJkaXNrMC5pbWciICZuYnNw OyAmbmJzcDs8L3NwYW4+PC9kaXY+DQo8ZGl2PjxzcGFuPiZuYnNwOyAmbmJzcDsgPC9zcGFuPjwv ZGl2Pg0KPGRpdj48c3Bhbj5uZXR3b3JrMF90eXBlPSJlMTAwMCIgJm5ic3A7ICZuYnNwOzwvc3Bh bj48L2Rpdj4NCjxkaXY+PHNwYW4+bmV0d29yazBfc3dpdGNoPSJwdWJsaWMiICZuYnNwOyAmbmJz cDs8L3NwYW4+PC9kaXY+DQo8ZGl2PjxzcGFuPiZuYnNwOyAmbmJzcDsgPC9zcGFuPjwvZGl2Pg0K PGRpdj48c3Bhbj5wYXNzdGhydTA9IjMvMC8wPTI6MCIgJm5ic3A7ICZuYnNwOzwvc3Bhbj48L2Rp dj4NCjxkaXY+PHNwYW4+cGFzc3RocnUxPSIzLzAvMT0yOjEiICZuYnNwOyAmbmJzcDs8L3NwYW4+ PC9kaXY+DQo8ZGl2PjxzcGFuPiZuYnNwOyAmbmJzcDsgPC9zcGFuPjwvZGl2Pg0KPGRpdj48c3Bh bj4jYmh5dmVfb3B0aW9ucz0iLXMgMjowLHBhc3N0aHJ1LDMvMC8wLHJvbT1iaW9zLnJvbSIgJm5i c3A7ICZuYnNwOzwvc3Bhbj48L2Rpdj4NCjxkaXY+PHNwYW4+PGJyPg0KPC9zcGFuPjwvZGl2Pg0K PGRpdj48c3Bhbj4jIFVzaW5nIFJEUCBwb3N0LWluc3RhbGwuJm5ic3A7ICZuYnNwOzwvc3Bhbj48 L2Rpdj4NCjxkaXY+PHNwYW4+Z3JhcGhpY3M9Im5vIiAmbmJzcDsgJm5ic3A7PC9zcGFuPjwvZGl2 Pg0KPGRpdj48c3Bhbj5ncmFwaGljc19wb3J0PSI1OTAwIiAmbmJzcDsgJm5ic3A7PC9zcGFuPjwv ZGl2Pg0KPGRpdj48c3Bhbj5ncmFwaGljc19saXN0ZW49IjAuMC4wLjAiICZuYnNwOyAmbmJzcDs8 L3NwYW4+PC9kaXY+DQo8ZGl2PjxzcGFuPmdyYXBoaWNzX3Jlcz0iMTkyMHgxMDgwIiAmbmJzcDsg Jm5ic3A7PC9zcGFuPjwvZGl2Pg0KPGRpdj48c3Bhbj5ncmFwaGljc193YWl0PSJ5ZXMiICZuYnNw OyAmbmJzcDs8L3NwYW4+PC9kaXY+DQo8ZGl2PjxzcGFuPiZuYnNwOyAmbmJzcDsgPC9zcGFuPjwv ZGl2Pg0KPGRpdj48c3Bhbj54aGNpX21vdXNlPSJ5ZXMiICZuYnNwOyAmbmJzcDs8L3NwYW4+PC9k aXY+DQo8ZGl2PjxzcGFuPnV1aWQ9IjUzNWQ1NGI1LTgxY2ItMTFmMC05M2EyLTk4Yjc4NTAxYmRh OCIgJm5ic3A7ICZuYnNwOzwvc3Bhbj48L2Rpdj4NCjxzcGFuPm5ldHdvcmswX21hYz0iNTg6OWM6 ZmM6MDQ6NWE6ZWIiJm5ic3A7ICZuYnNwOzwvc3Bhbj48L2Rpdj4NCjxkaXYgc3R5bGU9ImZvbnQt ZmFtaWx5OkFyaWFsLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZToxNHB4Ij48c3Bhbj48YnI+DQo8L3Nw YW4+PC9kaXY+DQo8ZGl2IHN0eWxlPSJmb250LWZhbWlseTpBcmlhbCxzYW5zLXNlcmlmOyBmb250 LXNpemU6MTRweCI+LS0tLS0tLS0tLS0tLS0tLTwvZGl2Pg0KPGRpdiBzdHlsZT0iZm9udC1mYW1p bHk6QXJpYWwsc2Fucy1zZXJpZjsgZm9udC1zaXplOjE0cHgiPjxicj4NCjwvZGl2Pg0KPGRpdiBj bGFzcz0ieF9wcm90b25tYWlsX3NpZ25hdHVyZV9ibG9jayIgc3R5bGU9ImZvbnQtZmFtaWx5OkFy aWFsLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZToxNHB4Ij4NCjxkaXYgY2xhc3M9InhfcHJvdG9ubWFp bF9zaWduYXR1cmVfYmxvY2stdXNlciI+DQo8ZGl2PkpvbmF0aGFuIFZhc3F1ZXo8YnI+DQo8L2Rp dj4NCjxkaXY+UEdQOiAzNERBIDg1OEMgMTQ0NyA1MDlFIEM3N0EgRDQ5RiBGQjg1IDkwQjcgQzRD QSA1Mjc5PGJyPg0KPC9kaXY+DQo8ZGl2PlNlbnQgd2l0aCBQcm90b25NYWlsIFNlY3VyZSBFbWFp bDxicj4NCjwvZGl2Pg0KPGRpdj48YnI+DQo8L2Rpdj4NCjwvZGl2Pg0KPGRpdiBjbGFzcz0ieF9w cm90b25tYWlsX3NpZ25hdHVyZV9ibG9jay1wcm90b24geF9wcm90b25tYWlsX3NpZ25hdHVyZV9i bG9jay1lbXB0eSI+DQo8L2Rpdj4NCjwvZGl2Pg0KPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6QXJp YWwsc2Fucy1zZXJpZjsgZm9udC1zaXplOjE0cHgiPjxicj4NCjwvZGl2Pg0KPGRpdiBjbGFzcz0i eF9wcm90b25tYWlsX3F1b3RlIj5PbiBNb25kYXksIEF1Z3VzdCAyNXRoLCAyMDI1IGF0IDExOjA1 LCBKb25hdGhhbiBWYXNxdWV6ICZsdDtqb25AeHlpbm4ub3JnJmd0OyB3cm90ZTo8YnI+DQo8Ymxv Y2txdW90ZSBjbGFzcz0ieF9wcm90b25tYWlsX3F1b3RlIiB0eXBlPSJjaXRlIj4NCjxkaXYgc3R5 bGU9ImZvbnQtZmFtaWx5OkFyaWFsLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZToxNHB4Ij5VbmZvcnR1 bmF0ZWx5IEkgZG9uJ3QgaGF2ZSBhbiBpbnRlbCBtYWNoaW5lIHdpdGggYW4gYXZhaWxhYmxlIFBD SWUgc2xvdC4gSG93ZXZlciBJJ20gdHJ5aW5nIGFub3RoZXIgdGhpbmcgd2hpY2ggaXMgdG8gcGFz c3Rocm91Z2ggdGhlIGNhcmQgdG8gYSBMaW51eCBndWVzdC4gSSBuZWVkIHRvIHJ1biBtb3JlIGV4 cGVyaW1lbnRzIGJ1dCBhIHByZWxpbWluYXJ5DQogYm9vdCBvZiBhIExpbnV4IE1pbnQgSVNPIGRp ZCBzaG93IHRoZSBBTUQgUmFkZW9uIFJYIDY5MDAgWFQgY2FyZCBpbiA8Y29kZT5sc3BjaTwvY29k ZT7igIsgYW5kIHNob3dlZCB0aGF0IGl0IHdhcyB1c2luZyB0aGUNCjxjb2RlPmFtZGdwdTwvY29k ZT7igIsgZHJpdmVyLiBJIHRoZW4gZGlkIGEgYmFzaWMgPGNvZGU+Z2x4Z2VhcnM8L2NvZGU+4oCL IGFuZCBpdCBvcGVuZWQgdXAgaW4gbXkgVk5DIHdpbmRvdyBhbmQgc2hvd2VkIHRoZSBGUFMgY291 bnRlciBhdCBvdmVyIDIwMDAgZnBzLiBUaGUgb25seSBpc3N1ZSBJIG5vdGljZWQgd2FzIHdoZW4g c2h1dHRpbmcgZG93biB0aGUgbGl2ZSBDRCBlbnZpcm9ubWVudCB0aGVyZSB3ZXJlDQo8Y29kZT5h bWRncHU8L2NvZGU+4oCLIGZhaWx1cmUgbWVzc2FnZXMgd2hlcmUgaXQgd2FzIGZhaWxpbmcgdG8g d3JpdGUgc29tZXRoaW5nIHRvIGl0LiBJJ20gY3VycmVudGx5IHJlZG9pbmcgbXkgImJhc2ljIGJo eXZlIHNjcmlwdCIgYW5kIG1vdmluZyBpdCBvdmVyIHRvICJ2bS1iaHl2ZSIgc2luY2UgaXQgc2Vl bXMgYSBsb3Qgb2YgcGVvcGxlIGFyZSB1c2luZyB0aGF0IGluc3RlYWQgb2YgdGhlIG1vcmUgbWFu dWFsIGFwcHJvYWNoLiBUaGlzIHNob3VsZA0KIGhvcGVmdWxseSBoZWxwIHNpbXBsaWZ5IHRoaW5n cyBmb3IgZGVidWdnaW5nLiBJZiB0aGUgY2FyZCB3b3JrcyBvbiBMaW51eCB2aWEgcGFzc3Rocm91 Z2ggdGhpcyB3b3VsZCBhbHNvIGJlIHVzZWZ1bCBpbmZvIGFuZCBjYW4gYWxsb3cgbWUgdG8gc2Vl IHRoZSBwZXJmb3JtYW5jZSBvZiBDeXBlcnB1bmsgMjA3NywgYW5kIHNvbWUgb3RoZXIgZ2FtZXMg KGV2ZW4gaWYgSSdtIG5vdCBnZXR0aW5nIDEwMCUgb2YgdGhlIGNhcmQncyBwZXJmb3JtYW5jZSku PC9kaXY+DQo8ZGl2IHN0eWxlPSJmb250LWZhbWlseTpBcmlhbCxzYW5zLXNlcmlmOyBmb250LXNp emU6MTRweCI+PGJyPg0KPC9kaXY+DQo8ZGl2IGNsYXNzPSJ4X3Byb3Rvbm1haWxfc2lnbmF0dXJl X2Jsb2NrIiBzdHlsZT0iZm9udC1mYW1pbHk6QXJpYWwsc2Fucy1zZXJpZjsgZm9udC1zaXplOjE0 cHgiPg0KPGRpdiBjbGFzcz0ieF9wcm90b25tYWlsX3NpZ25hdHVyZV9ibG9jay11c2VyIj4NCjxk aXY+Sm9uYXRoYW4gVmFzcXVlejxicj4NCjwvZGl2Pg0KPGRpdj5QR1A6IDM0REEgODU4QyAxNDQ3 IDUwOUUgQzc3QSBENDlGIEZCODUgOTBCNyBDNENBIDUyNzk8YnI+DQo8L2Rpdj4NCjxkaXY+U2Vu dCB3aXRoIFByb3Rvbk1haWwgU2VjdXJlIEVtYWlsPGJyPg0KPC9kaXY+DQo8ZGl2Pjxicj4NCjwv ZGl2Pg0KPC9kaXY+DQo8ZGl2IGNsYXNzPSJ4X3Byb3Rvbm1haWxfc2lnbmF0dXJlX2Jsb2NrLXBy b3RvbiB4X3Byb3Rvbm1haWxfc2lnbmF0dXJlX2Jsb2NrLWVtcHR5Ij4NCjwvZGl2Pg0KPC9kaXY+ DQo8ZGl2IHN0eWxlPSJmb250LWZhbWlseTpBcmlhbCxzYW5zLXNlcmlmOyBmb250LXNpemU6MTRw eCI+PGJyPg0KPC9kaXY+DQo8ZGl2IGNsYXNzPSJ4X3Byb3Rvbm1haWxfcXVvdGUiPk9uIE1vbmRh eSwgQXVndXN0IDI1dGgsIDIwMjUgYXQgMTE6MDAsIFN0ZXBoYW4gQWx0aGF1cyAmbHQ7U3RlcGhh bi5BbHRoYXVzQER1ZWRpbmdoYXVzZW4uZXUmZ3Q7IHdyb3RlOjxicj4NCjxibG9ja3F1b3RlIGNs YXNzPSJ4X3Byb3Rvbm1haWxfcXVvdGUiIHR5cGU9ImNpdGUiPg0KPGRpdiBjbGFzcz0ieF9tb3ot Y2l0ZS1wcmVmaXgiPk9uIDgvMjUvMjUgMTY6NTYsIEpvbmF0aGFuIFZhc3F1ZXogd3JvdGU6PGJy Pg0KPC9kaXY+DQo8YmxvY2txdW90ZSB0eXBlPSJjaXRlIj4NCjxkaXYgc3R5bGU9ImZvbnQtZmFt aWx5OkFyaWFsLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZToxNHB4Ij5IZXkgU3RlcGhhbiw8L2Rpdj4N CjxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OkFyaWFsLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZToxNHB4 Ij48YnI+DQo8L2Rpdj4NCjxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OkFyaWFsLHNhbnMtc2VyaWY7 IGZvbnQtc2l6ZToxNHB4Ij5ZdXAsIEkndmUgdHJpZWQgcGFzc2luZyBib3RoIDMvMC8wIGFuZCAz LzAvMSBhbmQgbm8gZ28sIGFuZCBJIGFsc28gbWFrZSBzdXJlIHRvIHJlYm9vdCB0aGUgaG9zdCBp biBiZXR3ZWVuIHJ1bnMgZHVlIHRvIHRoZSBhbWQgaGFyZHdhcmUgaXNzdWUuIEkgZG9uJ3QgYmVs aWV2ZSAzLzAvMSBpcyBuZWNlc3NhcnkgdGhvdWdoIGJhc2VkIG9uIHRoZSBleGFtcGxlcw0KIGJ5 IENvcnZpbiBpbiBoaXMgdGFsay4gSGUgb25seSBwYXNzZWQgaW4gMy8wLzAgKEknbSBndWVzc2lu ZyBoaXMgY2FyZCBhbHNvIGhhcyBhIDMvMC8xIGZ1bmN0aW9uIHRoYXQgaGUgaXNuJ3QgdXNpbmcg c2luY2UgdGhhdCdzIHRoZSBhdWRpbyBjaGFubmVsKS48L2Rpdj4NCjxkaXYgc3R5bGU9ImZvbnQt ZmFtaWx5OkFyaWFsLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZToxNHB4Ij48YnI+DQo8L2Rpdj4NCjxk aXYgY2xhc3M9InhfcHJvdG9ubWFpbF9zaWduYXR1cmVfYmxvY2siIHN0eWxlPSJmb250LWZhbWls eTpBcmlhbCxzYW5zLXNlcmlmOyBmb250LXNpemU6MTRweCI+DQo8ZGl2IGNsYXNzPSJ4X3Byb3Rv bm1haWxfc2lnbmF0dXJlX2Jsb2NrLXVzZXIiPg0KPGRpdj5Kb25hdGhhbiBWYXNxdWV6PGJyPg0K PC9kaXY+DQo8ZGl2PlBHUDogMzREQSA4NThDIDE0NDcgNTA5RSBDNzdBIEQ0OUYgRkI4NSA5MEI3 IEM0Q0EgNTI3OTxicj4NCjwvZGl2Pg0KPGRpdj5TZW50IHdpdGggUHJvdG9uTWFpbCBTZWN1cmUg RW1haWw8YnI+DQo8L2Rpdj4NCjxkaXY+PGJyPg0KPC9kaXY+DQo8L2Rpdj4NCjxkaXYgY2xhc3M9 InhfcHJvdG9ubWFpbF9zaWduYXR1cmVfYmxvY2stcHJvdG9uIHhfcHJvdG9ubWFpbF9zaWduYXR1 cmVfYmxvY2stZW1wdHkiPg0KPC9kaXY+DQo8L2Rpdj4NCjxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5 OkFyaWFsLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZToxNHB4Ij48YnI+DQo8L2Rpdj4NCjxkaXYgY2xh c3M9InhfcHJvdG9ubWFpbF9xdW90ZSI+T24gTW9uZGF5LCBBdWd1c3QgMjV0aCwgMjAyNSBhdCAx MDo1MiwgU3RlcGhhbiBBbHRoYXVzDQo8YSBjbGFzcz0ieF9tb3otdHh0LWxpbmstcmZjMjM5NkUi IGhyZWY9Im1haWx0bzpTdGVwaGFuLkFsdGhhdXNARHVlZGluZ2hhdXNlbi5ldSIgcmVsPSJub3Jl ZmVycmVyIG5vZm9sbG93IG5vb3BlbmVyIj4NCiZsdDtTdGVwaGFuLkFsdGhhdXNARHVlZGluZ2hh dXNlbi5ldSZndDs8L2E+IHdyb3RlOjxicj4NCjxibG9ja3F1b3RlIGNsYXNzPSJ4X3Byb3Rvbm1h aWxfcXVvdGUiIHR5cGU9ImNpdGUiPg0KPGRpdiBjbGFzcz0ieF9tb3otY2l0ZS1wcmVmaXgiPk9u IDgvMjUvMjUgMTY6NDcsIFN0ZXBoYW4gQWx0aGF1cyB3cm90ZTo8YnI+DQo8L2Rpdj4NCjxibG9j a3F1b3RlIHR5cGU9ImNpdGUiPg0KPGRpdiBjbGFzcz0ieF9tb3otY2l0ZS1wcmVmaXgiPk9uIDgv MjQvMjUgMjM6NTgsIEpvbmF0aGFuIFZhc3F1ZXogd3JvdGU6PGJyPg0KPC9kaXY+DQo8YmxvY2tx dW90ZSB0eXBlPSJjaXRlIj4NCjxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OkFyaWFsLHNhbnMtc2Vy aWY7IGZvbnQtc2l6ZToxNHB4Ij48c3Bhbj5IZXkgYWxsLDwvc3Bhbj48L2Rpdj4NCjxkaXYgc3R5 bGU9ImZvbnQtZmFtaWx5OkFyaWFsLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZToxNHB4Ij48c3Bhbj48 YnI+DQo8L3NwYW4+PC9kaXY+DQo8ZGl2IHN0eWxlPSJmb250LWZhbWlseTpBcmlhbCxzYW5zLXNl cmlmOyBmb250LXNpemU6MTRweCI+PHNwYW4+SSd2ZSBiZWVuIGV4cGVyaW1lbnRpbmcgd2l0aCB0 cnlpbmcgdG8gZ2V0IG15IHNlcnZlcidzIGRlZGljYXRlZCBBTUQgUmFkZW9uIFJYIDY5MDAgWFQg d29ya2luZyBvbiBhIGJoeXZlIFdpbmRvd3MgMTAgUHJvIGNsaWVudCBmb3IgZ2FtaW5nIHB1cnBv c2VzLiBJJ3ZlIGJlZW4gcmVhZGluZyBhIGJ1bmNoIG9mIGJsb2cgcG9zdHMsIHNpdGVzLA0KIGZp bGVzLCBhbmQgdmlkZW9zICh0aGFua3MgQ29ydmluKSB0byB0cnkgYW5kIHBpZWNlIHRoaW5ncyB0 b2dldGhlci4gSSd2ZSBiZWVuIGFibGUgdG8gZ2V0IHRoZSBWTSB0byByZWNvZ25pemUgdGhlIGNh cmQsIGJ1dCBzdGlsbCBzdHVjayBvbiB0aGUgQ29kZSA0MyBpc3N1ZSAod2l0aCBvciB3aXRob3V0 IHVzaW5nIHRoZSB2QklPUyBJJ3ZlIGV4dHJhY3RlZCBmcm9tIG15IGRlZGljYXRlZCBjYXJkIGFu ZCBhbHNvIGVuc3VyaW5nIGFueSBvcHRpb25zDQogbmVlZGVkIHRvIGJlIG9uIGluIHRoZSBVRUZJ IHNldHRpbmdzIGFyZSBlbmFibGVkKS4gVGhpcyBtYWNoaW5lIGlzIHJ1bm5pbmcgb24gYW4gQU1E IFJ5emVuIDkgNzk1MFggMTYtQ29yZSBQcm9jZXNzb3IsIHNvIGl0J3MgYSBmdWxsIEFNRCBzZXR1 cCwgbm8gSW50ZWwgc3R1ZmYuIEl0IHRlY2huaWNhbGx5IHNob3VsZCBiZSByZWxhdGl2ZWx5ICJl YXN5IiB0byBnZXQgQU1EIHdvcmtpbmcgZnJvbSB3aGF0IEkndmUgcmVhZCAoZXhjbHVkaW5nIHRo ZQ0KIGtub3duIEFNRCBIYXJkd2FyZSByZXNldCBpc3N1ZSkuIEkndmUgZG9jdW1lbnRlZCBldmVy eXRoaW5nIEkndmUgZG9uZSBzbyBmYXIsIGFuZCB3aWxsIGJlIGRvY3VtZW50aW5nIG1vcmUgYW5k IHNpbXBsaWZ5aW5nIHRoZSBpbnN0cnVjdGlvbnMgYXMgSSBtYWtlIHByb2dyZXNzLiBQbGVhc2Ug bGV0IG1lIGtub3cgaWYgeW91IHNlZSBhbnkgdGhpbmcgd2VpcmQgb3IgYW55dGhpbmcgSSBjb3Vs ZCB0cnkgYmFzZWQgb24gd2hhdCBJJ3ZlIHJld3JpdHRlbi4NCiBJJ2xsIHRyeSB0byBnaXZlIGl0 IGEgZ28gYW5kIHByb3ZpZGUgZmVlZGJhY2suIFRoYW5rIHlvdSE8L3NwYW4+PC9kaXY+DQo8ZGl2 IHN0eWxlPSJmb250LWZhbWlseTpBcmlhbCxzYW5zLXNlcmlmOyBmb250LXNpemU6MTRweCI+PHNw YW4+PGJyPg0KPC9zcGFuPjwvZGl2Pg0KPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6QXJpYWwsc2Fu cy1zZXJpZjsgZm9udC1zaXplOjE0cHgiPjxzcGFuPjxhIHRhcmdldD0iX2JsYW5rIiByZWw9Im5v cmVmZXJyZXIgbm9mb2xsb3cgbm9vcGVuZXIiIGhyZWY9Imh0dHBzOi8veHlpbm4ub3JnL2Jsb2cv ZnJlZWJzZC9mcmVlYnNkX2JoeXZlX2dwdV9wYXNzdGhyb3VnaF9hbWQiIGNsYXNzPSJ4X21vei10 eHQtbGluay1mcmVldGV4dCI+aHR0cHM6Ly94eWlubi5vcmcvYmxvZy9mcmVlYnNkL2ZyZWVic2Rf Ymh5dmVfZ3B1X3Bhc3N0aHJvdWdoX2FtZDwvYT48L3NwYW4+PGJyPg0KPC9kaXY+DQo8ZGl2IHN0 eWxlPSJmb250LWZhbWlseTpBcmlhbCxzYW5zLXNlcmlmOyBmb250LXNpemU6MTRweCI+PGJyPg0K PC9kaXY+DQo8ZGl2IGNsYXNzPSJ4X3Byb3Rvbm1haWxfc2lnbmF0dXJlX2Jsb2NrIiBzdHlsZT0i Zm9udC1mYW1pbHk6QXJpYWwsc2Fucy1zZXJpZjsgZm9udC1zaXplOjE0cHgiPg0KPGRpdiBjbGFz cz0ieF9wcm90b25tYWlsX3NpZ25hdHVyZV9ibG9jay11c2VyIj4NCjxkaXY+Sm9uYXRoYW4gVmFz cXVlejxicj4NCjwvZGl2Pg0KPGRpdj5QR1A6IDM0REEgODU4QyAxNDQ3IDUwOUUgQzc3QSBENDlG IEZCODUgOTBCNyBDNENBIDUyNzk8YnI+DQo8L2Rpdj4NCjxkaXY+U2VudCB3aXRoIFByb3Rvbk1h aWwgU2VjdXJlIEVtYWlsPGJyPg0KPC9kaXY+DQo8ZGl2Pjxicj4NCjwvZGl2Pg0KPC9kaXY+DQo8 ZGl2IGNsYXNzPSJ4X3Byb3Rvbm1haWxfc2lnbmF0dXJlX2Jsb2NrLXByb3RvbiB4X3Byb3Rvbm1h aWxfc2lnbmF0dXJlX2Jsb2NrLWVtcHR5Ij4NCjwvZGl2Pg0KPC9kaXY+DQo8L2Jsb2NrcXVvdGU+ DQo8cD5IaSE8L3A+DQo8cD5pIGhhdmUgYSBBTUQgUlg2NDAwIEdQVSBzZXR1cCBydW5uaW5nIG9u IDE0LjIgd2l0aCB3aW4xMCBndWVzdCwgaG9zdCBpcyBhIGludGVsIHN5c3RlbS48L3A+DQo8cD5p IHRoaW5rIHlvdSBoYXZlIHRvIHBhc3N0aHJvdWdoIHRoZSAzLzAvMSBkZXZpY2UgYXMgd2VsbCE8 L3A+DQo8cD5UaGUgYmlvcy5yb20gaXMgZXh0cmFjdGVkIGZyb20gdGhpcyBjYXJkIGluIHBsYWNl ID88L3A+DQo8cD48YnI+DQo8L3A+DQo8cD5SZWdhcmRzLDxicj4NClN0ZXBoYW48L3A+DQo8cD48 YnI+DQo8L3A+DQo8L2Jsb2NrcXVvdGU+DQo8cD5BaCwgYW5kIGJlIHNodXJlIHRvIHJlYm9vdCB0 aGUgd2hvbGUgc2V0dXAsIGluY2x1c2l2ZSBob3N0LCBmb3IgZXZlcnkgbmV3IHRlc3QtY2FzZSwN Cjxicj4NCmF0IGxlYXN0IGFzIGxvbmcgYXQgaXMgbm90IGd1YXJhbnRlZWQgdGhhdCB3ZSBjYW4g bGl2ZSB3aXRob3V0Li48L3A+DQo8cD5SZWdhcnMsPGJyPg0KU3RlcGhhbjwvcD4NCjxwPjxicj4N CjwvcD4NCjwvYmxvY2txdW90ZT4NCjxicj4NCjwvZGl2Pg0KPC9ibG9ja3F1b3RlPg0KPHA+SGkh PC9wPg0KPHA+TXkgb25seSBuZXh0IGFzc3VtcHRpb24gd291bGQgYmUgdGhhdCB0aGlzIG9ubHkg ZG9lcyBub3Qgd29yayBvbiBBTUQgaG9zdC48L3A+DQo8cD5Zb3UgZG9uJ3QgaGF2ZSBhbiBpbnRl bCBzeXN0ZW0gdG8gdGVzdCwgeW91IHdvdWxkIGhhdmVkb25lIGl0LCBpZiBzby4uICg/KTwvcD4N CjxwPlN0ZXBoYW48L3A+DQo8cD48YnI+DQo8L3A+DQo8L2Jsb2NrcXVvdGU+DQo8YnI+DQo8L2Rp dj4NCjwvYmxvY2txdW90ZT4NCjxicj4NCjwvZGl2Pg0KPC9kaXY+DQoNCg0KDQogICAgICAgIDwv YmxvY2txdW90ZT48YnI+DQogICAgPC9kaXY+DQogICAgICAgIDwvYmxvY2txdW90ZT48YnI+DQog ICAgPC9kaXY+ --b1=_nrTGfkXPZ6YZAlq8ymU4wOviXSgzcTvp03jDTHts-- From nobody Sun Aug 31 07:43:32 2025 X-Original-To: virtualization@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cF3sR125lz66WFb for ; Sun, 31 Aug 2025 07:43:39 +0000 (UTC) (envelope-from Stephan.Althaus@Duedinghausen.eu) Received: from mo4-p05-ob.smtp.rzone.de (mo4-p05-ob.smtp.rzone.de [85.215.255.132]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "*.smtp.rzone.de", Issuer "Telekom Security ServerID OV Class 2 CA" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cF3sN66Tsz3SpD for ; Sun, 31 Aug 2025 07:43:36 +0000 (UTC) (envelope-from Stephan.Althaus@Duedinghausen.eu) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=hoewweken.de header.s=strato-dkim-0002 header.b=kQB2Fnq5; dkim=pass header.d=hoewweken.de header.s=strato-dkim-0003 header.b=gRwPTjtI; dkim=pass header.d=duedinghausen.eu header.s=default header.b=EFgtmwuk; dmarc=pass (policy=reject) header.from=duedinghausen.eu; spf=none (mx1.freebsd.org: domain of Stephan.Althaus@Duedinghausen.eu has no SPF policy when checking 85.215.255.132) smtp.mailfrom=Stephan.Althaus@Duedinghausen.eu; arc=pass ("strato.com:s=strato-dkim-0002:i=1") ARC-Seal: i=1; a=rsa-sha256; t=1756626213; cv=none; d=strato.com; s=strato-dkim-0002; b=oC4KAZA3m2VYk86gFQEb8v+ITrghoPCBiAOeCb+2KIa8yh81H5OFOSigcKkWKE4eMP fzJwMwCxWbzeoVBrmSYy5EFVZeW8JdVrf4/WTwyLcnitsRjNI54h4V5IqPVvJs8Sdhfd ARBFKzmt+iCFumxqW14S6bpQFO1hA1S/nWtWU9JbcEwstW81qnVS+JEBIHyYI4AHN5KS yKz5E/N2KZ3ydkV8ld295ML2VO7Ay7540MugOWJHcuxJGxf0e/kHJXL7Yh8eFCW+9ohJ sdOhQoWDAPue6qub2moZ3aVTveWaiDwLTm1+pwcbIGtpiGJthRmmVX4+dh6nVisgB47P zzBA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; t=1756626213; s=strato-dkim-0002; d=strato.com; h=In-Reply-To:From:References:To:Subject:Date:Message-ID:Cc:Date:From: Subject:Sender; bh=qaGzaZmY6uYUIXtJVNwoirgSB9MGzrWz5wTZNCsRXgw=; b=X5vAKDWNAhKTThvH6Xrlk+fHs390xf/PYbeAz0RnpJjVZZr3Ew2wfkgRe/FnHmYKDk ldhEMUYveDsBPRx/lNDv0jKnM3AqqXk9V3WuRkKTbjT7It9ZFNiX+rd2BbHBQudDJiNy eYAYLcQKx2a6lZ+E4L981Uz8Xy319sSUAmo3+ji5Hq193JFhvU8ZK9+PIBhoNmVE0SLY VZ8YwfdCD66bvMODaC+/BaQ685eQczKZPFeqigF8lsb2C6v9zSv4YxXUbXERKWMgJI87 8H81dNPmVOJgDzRcPLPbGVsQOP7hRc6w9fOVlwsEfM9m0pVbrXaIAtJHW1x5uWF8Mt4j FQSw== ARC-Authentication-Results: i=1; strato.com; arc=none; dkim=pass header.d="duedinghausen.eu" header.s="default" header.a="rsa-sha256" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1756626213; s=strato-dkim-0002; d=hoewweken.de; h=In-Reply-To:From:References:To:Subject:Date:Message-ID:Cc:Date:From: Subject:Sender; bh=qaGzaZmY6uYUIXtJVNwoirgSB9MGzrWz5wTZNCsRXgw=; b=kQB2Fnq5emQAni9lYvj6O1dkwgdWVlTs8Rjl5PJeuz5F+Cxf+DYG5S3HPw/mAwqwkV dktwJCJsAibgrX/kdw4+TmQySW3y/zFpreILPbmU9L5/6WnhwWr71WXAlSG7hWWgAFm7 OFWcB9v9vcOc9Ll3g0jzedBIhxO273Ur1G+puAmcbOIYlRyvKCubJ31FAT8grS5AdGBF hpiGjAV3AEuiav+HvYw05bG5fb0BCLvVa85IGJN/LzNsMpwWTBHHYNn8m77Ae7LMTW29 osTr28TchJ+lrKub9agq7I6r3rUE4pJDPmPf7JwS/5taNtjj3b7nfKLLToQpocEzP4r+ XeIA== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; t=1756626213; s=strato-dkim-0003; d=hoewweken.de; h=In-Reply-To:From:References:To:Subject:Date:Message-ID:Cc:Date:From: Subject:Sender; bh=qaGzaZmY6uYUIXtJVNwoirgSB9MGzrWz5wTZNCsRXgw=; b=gRwPTjtIVo8EAe082HvTqcP0HnYI1nVVR3nhgQwpWt7cvfuwH8GymUiAHkI2yk+IDE ZR6oG9cnNYFyQB+frZBg== X-RZG-AUTH: ":O2kGeEG7b/pS1EW2TmikjLDsYYueHLp2aWg0q38nsxvThUrH35SBpgREu1OVr06TMgNQOGA=" X-RZG-CLASS-ID: mo05 Received: from www.duedinghausen.eu by smtp.strato.de (RZmta 52.1.2 DYNA|AUTH) with ESMTPSA id q9bf2e17V7hXUap (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256 bits)) (Client did not present a certificate) for ; Sun, 31 Aug 2025 09:43:33 +0200 (CEST) Received: from [192.168.2.63] (p5dde9411.dip0.t-ipconnect.de [93.222.148.17]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384) (No client certificate requested) (Authenticated sender: steven) by www.duedinghausen.eu (Postfix) with ESMTPSA id 4A5A814EA46 for ; Sun, 31 Aug 2025 09:43:33 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=duedinghausen.eu; s=default; t=1756626213; bh=yaiTDYhJlmC6cw7H34CWA3w+lf9P/XFsBLI4+kkX7XQ=; h=Date:Subject:To:References:From:In-Reply-To; b=EFgtmwuk6aHfci3fd9Nx+apBu9k80p+x6d9csolDmofd2DkLijBaMhUC2OUb4vId0 mfWeGx/nRpuXY2zzo4jU6CvEx5Zm3JisfQ/p9L23sBIFafvVuJhgQS+fc33bMf+G8O fZJeHN8TVrJ7bG5eB6TSd1lAPgpP1hL6UlRu5wSIpbZU09BJp10AKL5IFTl21qKcxR zsa78Vw846RT1NzXYHRh2b7O1PTEnRJRmt05nlCjC623Rf1ZNjCek96HgNRvBuF7yd J3r6lcAfQuxxtq6dPHC4p1LRKO649A/LOgkAmTnsMi7WgSQ3dM17XJgKgx3MU0yIsl Gp0ZEAxmUpCCPIRJ3+Mw9ElVx8tJ6f7996KwkLOufaIbUBQSTptShxo6z0lcAHgp8H eMUwRMFPhca6gr9Fr13qqThGfRFkBN6kWZhKUVg00VpSdchgCdNshL+jTf2JfxFGab o89B2kfL+fLZFsg5JFDno9RiUhqQAfD7/l3dr62imVHTVgGKt18ihfFCJb7l81Q3BI PjL3SSGmq9pWmEK2BDmwmRNt7T1rrh0/pEikFMIbbb95uZ/dY+g85DBl2KgEYi6pZo U8XU/dKWlUkIaRRt2hx0UMfMXHCsmKvuiStx+uoKZFMdFp6zIzOo0hEeA8OR/En4SC VQVUw9JFScB+9Zzf00NwVdFc= Content-Type: multipart/alternative; boundary="------------jjSBjicZVxOhQccmksACXFR6" Message-ID: <346a503c-e83a-4833-ac62-d7969f8728ef@Duedinghausen.eu> Date: Sun, 31 Aug 2025 09:43:32 +0200 List-Id: Discussion List-Archive: https://lists.freebsd.org/archives/freebsd-virtualization List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: freebsd-virtualization@freebsd.org Sender: owner-freebsd-virtualization@FreeBSD.org MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: GPU Passthrough on FreeBSD 14.3 (AMD Radeon RX 6900 XT and Windows 10 Pro) To: "virtualization@freebsd.org" References: <6CV-OY6BcErrWRit9jSpi6fWsYBG3E_Z3u6eTLPcz6foPAZV1gQpZYaZTR7JA_1ot5RQVqrWQaLxJFySXjspIhSbBJGxmckcDQyzxhALNus=@xyinn.org> <98007d7f-427e-461a-adf1-7cb55f777662@Duedinghausen.eu> <9573a65a-ef25-416b-a5b6-e49b28c6086c@Duedinghausen.eu> <8e7f6904-8188-4941-827b-c874d5da586d@Duedinghausen.eu> Content-Language: en-US From: Stephan Althaus In-Reply-To: Content-Transfer-Encoding: 8bit X-Spamd-Bar: --- X-Spamd-Result: default: False [-3.42 / 15.00]; URI_COUNT_ODD(1.00)[17]; NEURAL_HAM_LONG(-1.00)[-1.000]; ARC_ALLOW(-1.00)[strato.com:s=strato-dkim-0002:i=1]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_SHORT(-0.62)[-0.616]; DMARC_POLICY_ALLOW(-0.50)[duedinghausen.eu,reject]; R_DKIM_ALLOW(-0.20)[hoewweken.de:s=strato-dkim-0002,hoewweken.de:s=strato-dkim-0003,duedinghausen.eu:s=default]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; RCVD_VIA_SMTP_AUTH(0.00)[]; ASN(0.00)[asn:6724, ipnet:85.215.255.0/24, country:DE]; RCPT_COUNT_ONE(0.00)[1]; MIME_TRACE(0.00)[0:+,1:+,2:~]; RCVD_TLS_ALL(0.00)[]; MID_RHS_MATCH_FROM(0.00)[]; MLMMJ_DEST(0.00)[virtualization@freebsd.org]; R_SPF_NA(0.00)[no SPF record]; FROM_EQ_ENVFROM(0.00)[]; FROM_HAS_DN(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[85.215.255.132:from]; RCVD_COUNT_TWO(0.00)[2]; TO_MATCH_ENVRCPT_ALL(0.00)[]; TO_DN_EQ_ADDR_ALL(0.00)[]; PREVIOUSLY_DELIVERED(0.00)[virtualization@freebsd.org]; DKIM_TRACE(0.00)[hoewweken.de:+,duedinghausen.eu:+] X-Rspamd-Queue-Id: 4cF3sN66Tsz3SpD This is a multi-part message in MIME format. --------------jjSBjicZVxOhQccmksACXFR6 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit On 8/31/25 02:10, Jonathan Vasquez wrote: > Hey all, > > I've updated my blog post with more information and some useful > screenshots: > https://xyinn.org/blog/freebsd/freebsd_bhyve_gpu_passthrough_amd > > The important stuff to mention is that I've also gotten a chance to > play with vm-bhyve, but for the purposes of making sure we get as > clear information as possible without having to unwrap the vm-bhyve > scripts, I'll continue to use bhyve directly. With that said, some > useful info: > > * The vBIOS is not required when running on Windows as mentioned by > Corvin here: > https://lists.freebsd.org/archives/freebsd-virtualization/2022-June/000797.html, > thus I've stopped using it. I was however also able to > successfully use his "echo 1 ..." recommendation to dump the bios > from within Linux (Fedora 42). I actually failed to extract the > bios before (without using amdvbflash) because most likely my > Linux Mint 22.1's Kernel was too old to extract the ROM. When I > tried to do the same exact thing today with Fedora 42, it worked, > and I was able to see the "rom" file from Fedora 42, but not from > Linux Mint 22.1. > * I was able to get the GPU to load without a Code 43 error. But > it's still unusable. I was actually able to get to this state > before but it was inconsistent. Through more research I was able > to get it to be reproducible. There are a few things to mention here: > o The card will always start in a Code 43 failed state > regardless of what I mention below (including if I reboot the > host). > o If you use RDP, the card will always be in a Code 43 state. > o If I use VNC, the card will start in a failed state (as > mentioned above), HOWEVER, you will be able to go into the > Device Manager, Disable the card, and then Enable the card, > and it will be enabled successfully as you can see in my > screenshots. The OS will also give it resources from what we > can see in the Device's Properties' Resources Tab. > > > Given what I mentioned above, I would recommend (as some other people > recommended in other links I've found), to disable the card in the VM > before you shut it down, and then enable it from inside of Windows > when you turn it back on. Although I don't know how necessary this is > given that if I use VNC, even if it starts off in a failed state > (let's say from a fresh host reboot), doing the "device re-nabling > trick" will let it load successfully again. At this point since I've > gotten the card to say it worked, I'm not sure how to tell Windows to > use that as the main GPU when I run my apps. I've looked at some > examples online of using display settings to change the preferred > card, but I don't see it listed there. Am I suppose to see the card in > dxdiag if I'm using VNC? I'm just running the bhyve VM on my server, > and I VNC over from my laptop on the same LAN network. I'm guessing if > things are working correctly I should be able to do that right? I know > there are also some benchmarking apps that show you what GPUs its > detected and maybe allow you to pick one to run a benchmark on. I > tried opening FurMark but it fails saying that it only detects Open GL > 1.1 and all of that... I actually tried installing Mesa for windows to > see what happens and that does help but it's slow and it's clearly not > using the card and most likely doing some sort of software rendering > (maybe like a Windows llvmpipe). > > Jonathan Vasquez > PGP: 34DA 858C 1447 509E C77A D49F FB85 90B7 C4CA 5279 > Sent with ProtonMail Secure Email > > > On Monday, August 25th, 2025 at 14:51, Jonathan Vasquez > wrote: >> No go for my testing inside a Linux Mint 22.1 VM. Fully updated, and >> passing in both 3/0/0 and 3/0/1 for my AMD Radeon card. I was able to >> extract some of the "dmesg" and "eglinfo" output. Running "glxinfo" >> also showed that the OpenGL renderer was set to llvmpipe, so software >> rendering :(. "lspci -k" detected it and showed that it was using the >> "amdgpu" kernel driver. Since I'm using vm-bhyve atm I didn't test >> this with the dumped rom, just directly passing them through. I've >> uploaded some of the logs here for now in case anyone wants to take a >> glance at them: >> >> https://xyinn.org/freebsd/files/gpu_pass/2025-08-25/ >> >> Jonathan Vasquez >> PGP: 34DA 858C 1447 509E C77A D49F FB85 90B7 C4CA 5279 >> Sent with ProtonMail Secure Email >> >> >> On Monday, August 25th, 2025 at 14:37, Robert Cocker >> wrote: >>> Hey group has bhvye core dev baked out an update for this >>> >>> Robert >>> ------------------------------------------------------------------------ >>> *From:* owner-freebsd-virtualization@FreeBSD.org >>> on behalf of Jonathan >>> Vasquez >>> *Sent:* Monday, August 25, 2025 11:35:31 AM >>> *To:* Jonathan Vasquez >>> *Cc:* Stephan Althaus ; >>> virtualization@freebsd.org >>> *Subject:* Re: GPU Passthrough on FreeBSD 14.3 (AMD Radeon RX 6900 >>> XT and Windows 10 Pro) >>> I was able to get a fresh Win 10 Pro VM running through vm-bhyve but >>> no progress. Still same Code 43 error as before. I wasn't able to >>> figure out how to pass the |rom=bios.rom|​ through vm-bhyve, I >>> didn't see anything about it in the config.sample file and I also >>> tried to bypass that by adding it in bhyve_options but no go, the VM >>> wouldn't even start if I did that. I see there is a "bhyve_devices" >>> that contains all of the slot devices but I don't see that as an >>> adjustable variable based on the config.sample info. I've pasted my >>> current vm-bhyve template below. My next test is to try the same >>> thing inside a Linux guest to see what happens. >>> >>> ---------------- >>> >>> loader="uefi" >>> cpu="4" >>> cpu_sockets="1" >>> cpu_cores="4" >>> cpu_threads="1" >>> memory="16G" >>> wired_memory="yes" >>> utctime="no" >>> ahci_device_limit="8" >>> disk0_type="nvme" >>> disk0_name="disk0.img" >>> network0_type="e1000" >>> network0_switch="public" >>> passthru0="3/0/0=2:0" >>> passthru1="3/0/1=2:1" >>> #bhyve_options="-s 2:0,passthru,3/0/0,rom=bios.rom" >>> >>> # Using RDP post-install. >>> graphics="no" >>> graphics_port="5900" >>> graphics_listen="0.0.0.0" >>> graphics_res="1920x1080" >>> graphics_wait="yes" >>> xhci_mouse="yes" >>> uuid="535d54b5-81cb-11f0-93a2-98b78501bda8" >>> network0_mac="58:9c:fc:04:5a:eb" >>> >>> ---------------- >>> >>> Jonathan Vasquez >>> PGP: 34DA 858C 1447 509E C77A D49F FB85 90B7 C4CA 5279 >>> Sent with ProtonMail Secure Email >>> >>> >>> On Monday, August 25th, 2025 at 11:05, Jonathan Vasquez >>> wrote: >>>> Unfortunately I don't have an intel machine with an available PCIe >>>> slot. However I'm trying another thing which is to passthrough the >>>> card to a Linux guest. I need to run more experiments but a >>>> preliminary boot of a Linux Mint ISO did show the AMD Radeon RX >>>> 6900 XT card in |lspci|​ and showed that it was using the |amdgpu|​ >>>> driver. I then did a basic |glxgears|​ and it opened up in my VNC >>>> window and showed the FPS counter at over 2000 fps. The only issue >>>> I noticed was when shutting down the live CD environment there were >>>> |amdgpu|​ failure messages where it was failing to write something >>>> to it. I'm currently redoing my "basic bhyve script" and moving it >>>> over to "vm-bhyve" since it seems a lot of people are using that >>>> instead of the more manual approach. This should hopefully help >>>> simplify things for debugging. If the card works on Linux via >>>> passthrough this would also be useful info and can allow me to see >>>> the performance of Cyperpunk 2077, and some other games (even if >>>> I'm not getting 100% of the card's performance). >>>> >>>> Jonathan Vasquez >>>> PGP: 34DA 858C 1447 509E C77A D49F FB85 90B7 C4CA 5279 >>>> Sent with ProtonMail Secure Email >>>> >>>> >>>> On Monday, August 25th, 2025 at 11:00, Stephan Althaus >>>> wrote: >>>>> On 8/25/25 16:56, Jonathan Vasquez wrote: >>>>>> Hey Stephan, >>>>>> >>>>>> Yup, I've tried passing both 3/0/0 and 3/0/1 and no go, and I >>>>>> also make sure to reboot the host in between runs due to the amd >>>>>> hardware issue. I don't believe 3/0/1 is necessary though based >>>>>> on the examples by Corvin in his talk. He only passed in 3/0/0 >>>>>> (I'm guessing his card also has a 3/0/1 function that he isn't >>>>>> using since that's the audio channel). >>>>>> >>>>>> Jonathan Vasquez >>>>>> PGP: 34DA 858C 1447 509E C77A D49F FB85 90B7 C4CA 5279 >>>>>> Sent with ProtonMail Secure Email >>>>>> >>>>>> >>>>>> On Monday, August 25th, 2025 at 10:52, Stephan Althaus >>>>>> >>>>>> wrote: >>>>>>> On 8/25/25 16:47, Stephan Althaus wrote: >>>>>>>> On 8/24/25 23:58, Jonathan Vasquez wrote: >>>>>>>>> Hey all, >>>>>>>>> >>>>>>>>> I've been experimenting with trying to get my server's >>>>>>>>> dedicated AMD Radeon RX 6900 XT working on a bhyve Windows 10 >>>>>>>>> Pro client for gaming purposes. I've been reading a bunch of >>>>>>>>> blog posts, sites, files, and videos (thanks Corvin) to try >>>>>>>>> and piece things together. I've been able to get the VM to >>>>>>>>> recognize the card, but still stuck on the Code 43 issue (with >>>>>>>>> or without using the vBIOS I've extracted from my dedicated >>>>>>>>> card and also ensuring any options needed to be on in the UEFI >>>>>>>>> settings are enabled). This machine is running on an AMD Ryzen >>>>>>>>> 9 7950X 16-Core Processor, so it's a full AMD setup, no Intel >>>>>>>>> stuff. It technically should be relatively "easy" to get AMD >>>>>>>>> working from what I've read (excluding the known AMD Hardware >>>>>>>>> reset issue). I've documented everything I've done so far, and >>>>>>>>> will be documenting more and simplifying the instructions as I >>>>>>>>> make progress. Please let me know if you see any thing weird >>>>>>>>> or anything I could try based on what I've rewritten. I'll try >>>>>>>>> to give it a go and provide feedback. Thank you! >>>>>>>>> >>>>>>>>> https://xyinn.org/blog/freebsd/freebsd_bhyve_gpu_passthrough_amd >>>>>>>>> >>>>>>>>> >>>>>>>>> Jonathan Vasquez >>>>>>>>> PGP: 34DA 858C 1447 509E C77A D49F FB85 90B7 C4CA 5279 >>>>>>>>> Sent with ProtonMail Secure Email >>>>>>>>> >>>>>>>> Hi! >>>>>>>> >>>>>>>> i have a AMD RX6400 GPU setup running on 14.2 with win10 guest, >>>>>>>> host is a intel system. >>>>>>>> >>>>>>>> i think you have to passthrough the 3/0/1 device as well! >>>>>>>> >>>>>>>> The bios.rom is extracted from this card in place ? >>>>>>>> >>>>>>>> >>>>>>>> Regards, >>>>>>>> Stephan >>>>>>>> >>>>>>>> >>>>>>> Ah, and be shure to reboot the whole setup, inclusive host, for >>>>>>> every new test-case, >>>>>>> at least as long at is not guaranteed that we can live without.. >>>>>>> >>>>>>> Regars, >>>>>>> Stephan >>>>>>> >>>>>>> >>>>>> >>>>> Hi! >>>>> >>>>> My only next assumption would be that this only does not work on >>>>> AMD host. >>>>> >>>>> You don't have an intel system to test, you would havedone it, if >>>>> so.. (?) >>>>> >>>>> Stephan >>>>> >>>>> >>>> >>> >> > Hello! I have a successful GPU passthrough of an AMD RX6400 to Win10 on an Intel host. Just want to share some Infos + no problem with RDP here, that's my use case + i used GPU-Z within the vm to check if the gpu is actually useable, it shows GPU frequency > 0 , and OpenGL >1.1 when it is. + i have thr ROM in my bhyve start script, the vm has no problem with it. i don't use vm-bhyve so far. - your win 10 vm is EFI install ? + yes, mesa is software rendering, sort of 'software GPU' It seems to me that the only noticeable difference between our systems is that mine is an intel host.. Regards, Stephan --------------jjSBjicZVxOhQccmksACXFR6 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 8bit
On 8/31/25 02:10, Jonathan Vasquez wrote:
Hey all,

I've updated my blog post with more information and some useful screenshots: https://xyinn.org/blog/freebsd/freebsd_bhyve_gpu_passthrough_amd

The important stuff to mention is that I've also gotten a chance to play with vm-bhyve, but for the purposes of making sure we get as clear information as possible without having to unwrap the vm-bhyve scripts, I'll continue to use bhyve directly. With that said, some useful info:

  • The vBIOS is not required when running on Windows as mentioned by Corvin here: https://lists.freebsd.org/archives/freebsd-virtualization/2022-June/000797.html, thus I've stopped using it. I was however also able to successfully use his "echo 1 ..." recommendation to dump the bios from within Linux (Fedora 42). I actually failed to extract the bios before (without using amdvbflash) because most likely my Linux Mint 22.1's Kernel was too old to extract the ROM. When I tried to do the same exact thing today with Fedora 42, it worked, and I was able to see the "rom" file from Fedora 42, but not from Linux Mint 22.1.
  • I was able to get the GPU to load without a Code 43 error. But it's still unusable. I was actually able to get to this state before but it was inconsistent. Through more research I was able to get it to be reproducible. There are a few things to mention here:
    • The card will always start in a Code 43 failed state regardless of what I mention below (including if I reboot the host).
    • If you use RDP, the card will always be in a Code 43 state.
    • If I use VNC, the card will start in a failed state (as mentioned above), HOWEVER, you will be able to go into the Device Manager, Disable the card, and then Enable the card, and it will be enabled successfully as you can see in my screenshots. The OS will also give it resources from what we can see in the Device's Properties' Resources Tab.

Given what I mentioned above, I would recommend (as some other people recommended in other links I've found), to disable the card in the VM before you shut it down, and then enable it from inside of Windows when you turn it back on. Although I don't know how necessary this is given that if I use VNC, even if it starts off in a failed state (let's say from a fresh host reboot), doing the "device re-nabling trick" will let it load successfully again. At this point since I've gotten the card to say it worked, I'm not sure how to tell Windows to use that as the main GPU when I run my apps. I've looked at some examples online of using display settings to change the preferred card, but I don't see it listed there. Am I suppose to see the card in dxdiag if I'm using VNC? I'm just running the bhyve VM on my server, and I VNC over from my laptop on the same LAN network. I'm guessing if things are working correctly I should be able to do that right? I know there are also some benchmarking apps that show you what GPUs its detected and maybe allow you to pick one to run a benchmark on. I tried opening FurMark but it fails saying that it only detects Open GL 1.1 and all of that... I actually tried installing Mesa for windows to see what happens and that does help but it's slow and it's clearly not using the card and most likely doing some sort of software rendering (maybe like a Windows llvmpipe).

Jonathan Vasquez
PGP: 34DA 858C 1447 509E C77A D49F FB85 90B7 C4CA 5279
Sent with ProtonMail Secure Email


On Monday, August 25th, 2025 at 14:51, Jonathan Vasquez <jon@xyinn.org> wrote:
No go for my testing inside a Linux Mint 22.1 VM. Fully updated, and passing in both 3/0/0 and 3/0/1 for my AMD Radeon card. I was able to extract some of the "dmesg" and "eglinfo" output. Running "glxinfo" also showed that the OpenGL renderer was set to llvmpipe, so software rendering :(. "lspci -k" detected it and showed that it was using the "amdgpu" kernel driver. Since I'm using vm-bhyve atm I didn't test this with the dumped rom, just directly passing them through. I've uploaded some of the logs here for now in case anyone wants to take a glance at them:


Jonathan Vasquez
PGP: 34DA 858C 1447 509E C77A D49F FB85 90B7 C4CA 5279
Sent with ProtonMail Secure Email


On Monday, August 25th, 2025 at 14:37, Robert Cocker <rcocker87@gmail.com> wrote:
Hey group has bhvye core dev baked out an update for this 

Robert

From: owner-freebsd-virtualization@FreeBSD.org <owner-freebsd-virtualization@FreeBSD.org> on behalf of Jonathan Vasquez <jon@xyinn.org>
Sent: Monday, August 25, 2025 11:35:31 AM
To: Jonathan Vasquez <jon@xyinn.org>
Cc: Stephan Althaus <Stephan.Althaus@Duedinghausen.eu>; virtualization@freebsd.org <virtualization@freebsd.org>
Subject: Re: GPU Passthrough on FreeBSD 14.3 (AMD Radeon RX 6900 XT and Windows 10 Pro)
 
I was able to get a fresh Win 10 Pro VM running through vm-bhyve but no progress. Still same Code 43 error as before. I wasn't able to figure out how to pass the rom=bios.rom​ through vm-bhyve, I didn't see anything about it in the config.sample file and I also tried to bypass that by adding it in bhyve_options but no go, the VM wouldn't even start if I did that. I see there is a "bhyve_devices" that contains all of the slot devices but I don't see that as an adjustable variable based on the config.sample info. I've pasted my current vm-bhyve template below. My next test is to try the same thing inside a Linux guest to see what happens.

----------------

loader="uefi"    
cpu="4"    
cpu_sockets="1"    
cpu_cores="4"    
cpu_threads="1"    
memory="16G"    
wired_memory="yes"    
   
utctime="no"    
ahci_device_limit="8"    
   
disk0_type="nvme"    
disk0_name="disk0.img"    
   
network0_type="e1000"    
network0_switch="public"    
   
passthru0="3/0/0=2:0"    
passthru1="3/0/1=2:1"    
   
#bhyve_options="-s 2:0,passthru,3/0/0,rom=bios.rom"    

# Using RDP post-install.   
graphics="no"    
graphics_port="5900"    
graphics_listen="0.0.0.0"    
graphics_res="1920x1080"    
graphics_wait="yes"    
   
xhci_mouse="yes"    
uuid="535d54b5-81cb-11f0-93a2-98b78501bda8"    
network0_mac="58:9c:fc:04:5a:eb"   

----------------

Jonathan Vasquez
PGP: 34DA 858C 1447 509E C77A D49F FB85 90B7 C4CA 5279
Sent with ProtonMail Secure Email


On Monday, August 25th, 2025 at 11:05, Jonathan Vasquez <jon@xyinn.org> wrote:
Unfortunately I don't have an intel machine with an available PCIe slot. However I'm trying another thing which is to passthrough the card to a Linux guest. I need to run more experiments but a preliminary boot of a Linux Mint ISO did show the AMD Radeon RX 6900 XT card in lspci​ and showed that it was using the amdgpu​ driver. I then did a basic glxgears​ and it opened up in my VNC window and showed the FPS counter at over 2000 fps. The only issue I noticed was when shutting down the live CD environment there were amdgpu​ failure messages where it was failing to write something to it. I'm currently redoing my "basic bhyve script" and moving it over to "vm-bhyve" since it seems a lot of people are using that instead of the more manual approach. This should hopefully help simplify things for debugging. If the card works on Linux via passthrough this would also be useful info and can allow me to see the performance of Cyperpunk 2077, and some other games (even if I'm not getting 100% of the card's performance).

Jonathan Vasquez
PGP: 34DA 858C 1447 509E C77A D49F FB85 90B7 C4CA 5279
Sent with ProtonMail Secure Email


On Monday, August 25th, 2025 at 11:00, Stephan Althaus <Stephan.Althaus@Duedinghausen.eu> wrote:
On 8/25/25 16:56, Jonathan Vasquez wrote:
Hey Stephan,

Yup, I've tried passing both 3/0/0 and 3/0/1 and no go, and I also make sure to reboot the host in between runs due to the amd hardware issue. I don't believe 3/0/1 is necessary though based on the examples by Corvin in his talk. He only passed in 3/0/0 (I'm guessing his card also has a 3/0/1 function that he isn't using since that's the audio channel).

Jonathan Vasquez
PGP: 34DA 858C 1447 509E C77A D49F FB85 90B7 C4CA 5279
Sent with ProtonMail Secure Email


On Monday, August 25th, 2025 at 10:52, Stephan Althaus <Stephan.Althaus@Duedinghausen.eu> wrote:
On 8/25/25 16:47, Stephan Althaus wrote:
On 8/24/25 23:58, Jonathan Vasquez wrote:
Hey all,

I've been experimenting with trying to get my server's dedicated AMD Radeon RX 6900 XT working on a bhyve Windows 10 Pro client for gaming purposes. I've been reading a bunch of blog posts, sites, files, and videos (thanks Corvin) to try and piece things together. I've been able to get the VM to recognize the card, but still stuck on the Code 43 issue (with or without using the vBIOS I've extracted from my dedicated card and also ensuring any options needed to be on in the UEFI settings are enabled). This machine is running on an AMD Ryzen 9 7950X 16-Core Processor, so it's a full AMD setup, no Intel stuff. It technically should be relatively "easy" to get AMD working from what I've read (excluding the known AMD Hardware reset issue). I've documented everything I've done so far, and will be documenting more and simplifying the instructions as I make progress. Please let me know if you see any thing weird or anything I could try based on what I've rewritten. I'll try to give it a go and provide feedback. Thank you!


Jonathan Vasquez
PGP: 34DA 858C 1447 509E C77A D49F FB85 90B7 C4CA 5279
Sent with ProtonMail Secure Email

Hi!

i have a AMD RX6400 GPU setup running on 14.2 with win10 guest, host is a intel system.

i think you have to passthrough the 3/0/1 device as well!

The bios.rom is extracted from this card in place ?


Regards,
Stephan


Ah, and be shure to reboot the whole setup, inclusive host, for every new test-case,
at least as long at is not guaranteed that we can live without..

Regars,
Stephan



Hi!

My only next assumption would be that this only does not work on AMD host.

You don't have an intel system to test, you would havedone it, if so.. (?)

Stephan






Hello!

I have a successful GPU passthrough of an AMD RX6400 to Win10 on an Intel host.

Just want to share some Infos

+ no problem with RDP here, that's my use case

+ i used GPU-Z within the vm to check if the gpu is actually useable, it shows GPU frequency > 0 , and OpenGL >1.1 when it is.

+ i have thr ROM in my bhyve start script, the vm has no problem with it. i don't use vm-bhyve so far.

- your win 10 vm is EFI install ?

+ yes, mesa is software rendering, sort of 'software GPU' 

It seems to me that the only noticeable difference between our systems is that mine is an intel host..

Regards,
Stephan

--------------jjSBjicZVxOhQccmksACXFR6-- From nobody Sun Aug 31 12:00:15 2025 X-Original-To: virtualization@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cF9Yg1gjDz65gs2 for ; Sun, 31 Aug 2025 12:00:23 +0000 (UTC) (envelope-from jon@xyinn.org) Received: from mail-10626.protonmail.ch (mail-10626.protonmail.ch [79.135.106.26]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "protonmail.com", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cF9Yf4x9Xz3qNB for ; Sun, 31 Aug 2025 12:00:22 +0000 (UTC) (envelope-from jon@xyinn.org) Authentication-Results: mx1.freebsd.org; none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=xyinn.org; s=protonmail3; t=1756641618; x=1756900818; bh=gc0xmsiNBr4KFM5Ni+SkrsslPA7m7DwSk+aKs23jMas=; h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References: Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID: Message-ID:BIMI-Selector; b=Gudnrt8TMsDaXS4VY4xrYv4DlgZLfS6nrMtfleSzeGu9X1B+lI8nGndJBp4Xroau9 E/C74ctrfMLg6RHenEsqpyeLQMmO9eBZCrynRf59iDJA/dhK2i1lO5moupBaiAhF92 xOGGDWablCAEFCcgzojp+Yu5sIFFX457Hjow/1kGYhZdlYjWAjPbH24K7hlERJcMZC XZFEUx/WszKQ5tTkY9dT7qBSU3Hhw5zMX/P3Zw8SxIHz6hPDXuwpcPKbMuduWggknO nXeIwqNwPgKZVIa0NeaaTJ0gFHd0WlJADej1iObAJuq2noZLrjHcf3k4TvnexhqQP2 tcCumcechXElw== Date: Sun, 31 Aug 2025 12:00:15 +0000 To: Jonathan Vasquez From: Jonathan Vasquez Cc: Robert Cocker , Stephan Althaus , "virtualization@freebsd.org" Subject: Re: GPU Passthrough on FreeBSD 14.3 (AMD Radeon RX 6900 XT and Windows 10 Pro) Message-ID: <09-JQGKdIKMMp4u22KT_U_n7lXzFRKrK3mODyLvhee7a7pYyagqdi1mbgVTeq5QIe_ZrbGfkM4I03ocsBCj6ogh04hKyCcDdY65EtlrysuI=@xyinn.org> In-Reply-To: References: <6CV-OY6BcErrWRit9jSpi6fWsYBG3E_Z3u6eTLPcz6foPAZV1gQpZYaZTR7JA_1ot5RQVqrWQaLxJFySXjspIhSbBJGxmckcDQyzxhALNus=@xyinn.org> <98007d7f-427e-461a-adf1-7cb55f777662@Duedinghausen.eu> <9573a65a-ef25-416b-a5b6-e49b28c6086c@Duedinghausen.eu> <8e7f6904-8188-4941-827b-c874d5da586d@Duedinghausen.eu> Feedback-ID: 12351801:user:proton X-Pm-Message-ID: 3a4729ea0b3fc48b6c7388edaa0d385805330d4c List-Id: Discussion List-Archive: https://lists.freebsd.org/archives/freebsd-virtualization List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: freebsd-virtualization@freebsd.org Sender: owner-freebsd-virtualization@FreeBSD.org MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="b1=_88d9XfS3mYXIsvBLfRBAq35qbBvF0bjogE8pKzEJzo" X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:62371, ipnet:79.135.106.0/24, country:CH] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Rspamd-Queue-Id: 4cF9Yf4x9Xz3qNB --b1=_88d9XfS3mYXIsvBLfRBAq35qbBvF0bjogE8pKzEJzo Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: base64 VGhhbmtzIGZvciB0aGF0IGluZm8gU3RlcGhhbi4gWXVwIGl0J3MgYW4gVUVGSSBpbnN0YWxsIHNp bmNlIEknbSB1c2luZyB0aGUgZm9sbG93aW5nIGxpbmUgaW4gbXkgYmh5dmUgc2NyaXB0OgoKLWwg Ym9vdHJvbSwvdXNyL2xvY2FsL3NoYXJlL3VlZmktZmlybXdhcmUvQkhZVkVfVUVGSS5mZCxmd2Nm Zz1xZW11CgpBbmQgeWVhIGl0IG1heSBiZSBwb3NzaWJsZSBzb21ldGhpbmcgaXMgZ29pbmcgb24g d2l0aCBBTUQgQ1BVIGhvc3RzLi4uCgpKb25hdGhhbiBWYXNxdWV6ClBHUDogMzREQSA4NThDIDE0 NDcgNTA5RSBDNzdBIEQ0OUYgRkI4NSA5MEI3IEM0Q0EgNTI3OQpTZW50IHdpdGggUHJvdG9uTWFp bCBTZWN1cmUgRW1haWwKClNlbnQgd2l0aCBbUHJvdG9uIE1haWxdKGh0dHBzOi8vcHJvdG9uLm1l L21haWwvaG9tZSkgc2VjdXJlIGVtYWlsLgoKLS0tLS0tLS0gT3JpZ2luYWwgTWVzc2FnZSAtLS0t LS0tLQpPbiBTYXR1cmRheSwgMDgvMzAvMjUgYXQgMjA6MTEgSm9uYXRoYW4gVmFzcXVleiA8am9u QHh5aW5uLm9yZz4gd3JvdGU6Cgo+IEhleSBhbGwsCj4KPiBJJ3ZlIHVwZGF0ZWQgbXkgYmxvZyBw b3N0IHdpdGggbW9yZSBpbmZvcm1hdGlvbiBhbmQgc29tZSB1c2VmdWwgc2NyZWVuc2hvdHM6IGh0 dHBzOi8veHlpbm4ub3JnL2Jsb2cvZnJlZWJzZC9mcmVlYnNkX2JoeXZlX2dwdV9wYXNzdGhyb3Vn aF9hbWQKPgo+IFRoZSBpbXBvcnRhbnQgc3R1ZmYgdG8gbWVudGlvbiBpcyB0aGF0IEkndmUgYWxz byBnb3R0ZW4gYSBjaGFuY2UgdG8gcGxheSB3aXRoIHZtLWJoeXZlLCBidXQgZm9yIHRoZSBwdXJw b3NlcyBvZiBtYWtpbmcgc3VyZSB3ZSBnZXQgYXMgY2xlYXIgaW5mb3JtYXRpb24gYXMgcG9zc2li bGUgd2l0aG91dCBoYXZpbmcgdG8gdW53cmFwIHRoZSB2bS1iaHl2ZSBzY3JpcHRzLCBJJ2xsIGNv bnRpbnVlIHRvIHVzZSBiaHl2ZSBkaXJlY3RseS4gV2l0aCB0aGF0IHNhaWQsIHNvbWUgdXNlZnVs IGluZm86Cj4KPiAtIFRoZSB2QklPUyBpcyBub3QgcmVxdWlyZWQgd2hlbiBydW5uaW5nIG9uIFdp bmRvd3MgYXMgbWVudGlvbmVkIGJ5IENvcnZpbiBoZXJlOiBodHRwczovL2xpc3RzLmZyZWVic2Qu b3JnL2FyY2hpdmVzL2ZyZWVic2QtdmlydHVhbGl6YXRpb24vMjAyMi1KdW5lLzAwMDc5Ny5odG1s LCB0aHVzIEkndmUgc3RvcHBlZCB1c2luZyBpdC4gSSB3YXMgaG93ZXZlciBhbHNvIGFibGUgdG8g c3VjY2Vzc2Z1bGx5IHVzZSBoaXMgImVjaG8gMSAuLi4iIHJlY29tbWVuZGF0aW9uIHRvIGR1bXAg dGhlIGJpb3MgZnJvbSB3aXRoaW4gTGludXggKEZlZG9yYSA0MikuIEkgYWN0dWFsbHkgZmFpbGVk IHRvIGV4dHJhY3QgdGhlIGJpb3MgYmVmb3JlICh3aXRob3V0IHVzaW5nIGFtZHZiZmxhc2gpIGJl Y2F1c2UgbW9zdCBsaWtlbHkgbXkgTGludXggTWludCAyMi4xJ3MgS2VybmVsIHdhcyB0b28gb2xk IHRvIGV4dHJhY3QgdGhlIFJPTS4gV2hlbiBJIHRyaWVkIHRvIGRvIHRoZSBzYW1lIGV4YWN0IHRo aW5nIHRvZGF5IHdpdGggRmVkb3JhIDQyLCBpdCB3b3JrZWQsIGFuZCBJIHdhcyBhYmxlIHRvIHNl ZSB0aGUgInJvbSIgZmlsZSBmcm9tIEZlZG9yYSA0MiwgYnV0IG5vdCBmcm9tIExpbnV4IE1pbnQg MjIuMS4KPiAtIEkgd2FzIGFibGUgdG8gZ2V0IHRoZSBHUFUgdG8gbG9hZCB3aXRob3V0IGEgQ29k ZSA0MyBlcnJvci4gQnV0IGl0J3Mgc3RpbGwgdW51c2FibGUuIEkgd2FzIGFjdHVhbGx5IGFibGUg dG8gZ2V0IHRvIHRoaXMgc3RhdGUgYmVmb3JlIGJ1dCBpdCB3YXMgaW5jb25zaXN0ZW50LiBUaHJv dWdoIG1vcmUgcmVzZWFyY2ggSSB3YXMgYWJsZSB0byBnZXQgaXQgdG8gYmUgcmVwcm9kdWNpYmxl LiBUaGVyZSBhcmUgYSBmZXcgdGhpbmdzIHRvIG1lbnRpb24gaGVyZToKPgo+IC0gVGhlIGNhcmQg d2lsbCBhbHdheXMgc3RhcnQgaW4gYSBDb2RlIDQzIGZhaWxlZCBzdGF0ZSByZWdhcmRsZXNzIG9m IHdoYXQgSSBtZW50aW9uIGJlbG93IChpbmNsdWRpbmcgaWYgSSByZWJvb3QgdGhlIGhvc3QpLgo+ IC0gSWYgeW91IHVzZSBSRFAsIHRoZSBjYXJkIHdpbGwgYWx3YXlzIGJlIGluIGEgQ29kZSA0MyBz dGF0ZS4KPiAtIElmIEkgdXNlIFZOQywgdGhlIGNhcmQgd2lsbCBzdGFydCBpbiBhIGZhaWxlZCBz dGF0ZSAoYXMgbWVudGlvbmVkIGFib3ZlKSwgSE9XRVZFUiwgeW91IHdpbGwgYmUgYWJsZSB0byBn byBpbnRvIHRoZSBEZXZpY2UgTWFuYWdlciwgRGlzYWJsZSB0aGUgY2FyZCwgYW5kIHRoZW4gRW5h YmxlIHRoZSBjYXJkLCBhbmQgaXQgd2lsbCBiZSBlbmFibGVkIHN1Y2Nlc3NmdWxseSBhcyB5b3Ug Y2FuIHNlZSBpbiBteSBzY3JlZW5zaG90cy4gVGhlIE9TIHdpbGwgYWxzbyBnaXZlIGl0IHJlc291 cmNlcyBmcm9tIHdoYXQgd2UgY2FuIHNlZSBpbiB0aGUgRGV2aWNlJ3MgUHJvcGVydGllcycgUmVz b3VyY2VzIFRhYi4KPgo+IEdpdmVuIHdoYXQgSSBtZW50aW9uZWQgYWJvdmUsIEkgd291bGQgcmVj b21tZW5kIChhcyBzb21lIG90aGVyIHBlb3BsZSByZWNvbW1lbmRlZCBpbiBvdGhlciBsaW5rcyBJ J3ZlIGZvdW5kKSwgdG8gZGlzYWJsZSB0aGUgY2FyZCBpbiB0aGUgVk0gYmVmb3JlIHlvdSBzaHV0 IGl0IGRvd24sIGFuZCB0aGVuIGVuYWJsZSBpdCBmcm9tIGluc2lkZSBvZiBXaW5kb3dzIHdoZW4g eW91IHR1cm4gaXQgYmFjayBvbi4gQWx0aG91Z2ggSSBkb24ndCBrbm93IGhvdyBuZWNlc3Nhcnkg dGhpcyBpcyBnaXZlbiB0aGF0IGlmIEkgdXNlIFZOQywgZXZlbiBpZiBpdCBzdGFydHMgb2ZmIGlu IGEgZmFpbGVkIHN0YXRlIChsZXQncyBzYXkgZnJvbSBhIGZyZXNoIGhvc3QgcmVib290KSwgZG9p bmcgdGhlICJkZXZpY2UgcmUtbmFibGluZyB0cmljayIgd2lsbCBsZXQgaXQgbG9hZCBzdWNjZXNz ZnVsbHkgYWdhaW4uIEF0IHRoaXMgcG9pbnQgc2luY2UgSSd2ZSBnb3R0ZW4gdGhlIGNhcmQgdG8g c2F5IGl0IHdvcmtlZCwgSSdtIG5vdCBzdXJlIGhvdyB0byB0ZWxsIFdpbmRvd3MgdG8gdXNlIHRo YXQgYXMgdGhlIG1haW4gR1BVIHdoZW4gSSBydW4gbXkgYXBwcy4gSSd2ZSBsb29rZWQgYXQgc29t ZSBleGFtcGxlcyBvbmxpbmUgb2YgdXNpbmcgZGlzcGxheSBzZXR0aW5ncyB0byBjaGFuZ2UgdGhl IHByZWZlcnJlZCBjYXJkLCBidXQgSSBkb24ndCBzZWUgaXQgbGlzdGVkIHRoZXJlLiBBbSBJIHN1 cHBvc2UgdG8gc2VlIHRoZSBjYXJkIGluIGR4ZGlhZyBpZiBJJ20gdXNpbmcgVk5DPyBJJ20ganVz dCBydW5uaW5nIHRoZSBiaHl2ZSBWTSBvbiBteSBzZXJ2ZXIsIGFuZCBJIFZOQyBvdmVyIGZyb20g bXkgbGFwdG9wIG9uIHRoZSBzYW1lIExBTiBuZXR3b3JrLiBJJ20gZ3Vlc3NpbmcgaWYgdGhpbmdz IGFyZSB3b3JraW5nIGNvcnJlY3RseSBJIHNob3VsZCBiZSBhYmxlIHRvIGRvIHRoYXQgcmlnaHQ/ IEkga25vdyB0aGVyZSBhcmUgYWxzbyBzb21lIGJlbmNobWFya2luZyBhcHBzIHRoYXQgc2hvdyB5 b3Ugd2hhdCBHUFVzIGl0cyBkZXRlY3RlZCBhbmQgbWF5YmUgYWxsb3cgeW91IHRvIHBpY2sgb25l IHRvIHJ1biBhIGJlbmNobWFyayBvbi4gSSB0cmllZCBvcGVuaW5nIEZ1ck1hcmsgYnV0IGl0IGZh aWxzIHNheWluZyB0aGF0IGl0IG9ubHkgZGV0ZWN0cyBPcGVuIEdMIDEuMSBhbmQgYWxsIG9mIHRo YXQuLi4gSSBhY3R1YWxseSB0cmllZCBpbnN0YWxsaW5nIE1lc2EgZm9yIHdpbmRvd3MgdG8gc2Vl IHdoYXQgaGFwcGVucyBhbmQgdGhhdCBkb2VzIGhlbHAgYnV0IGl0J3Mgc2xvdyBhbmQgaXQncyBj bGVhcmx5IG5vdCB1c2luZyB0aGUgY2FyZCBhbmQgbW9zdCBsaWtlbHkgZG9pbmcgc29tZSBzb3J0 IG9mIHNvZnR3YXJlIHJlbmRlcmluZyAobWF5YmUgbGlrZSBhIFdpbmRvd3MgbGx2bXBpcGUpLgo+ Cj4gSm9uYXRoYW4gVmFzcXVlego+IFBHUDogMzREQSA4NThDIDE0NDcgNTA5RSBDNzdBIEQ0OUYg RkI4NSA5MEI3IEM0Q0EgNTI3OQo+IFNlbnQgd2l0aCBQcm90b25NYWlsIFNlY3VyZSBFbWFpbAo+ Cj4gT24gTW9uZGF5LCBBdWd1c3QgMjV0aCwgMjAyNSBhdCAxNDo1MSwgSm9uYXRoYW4gVmFzcXVl eiA8am9uQHh5aW5uLm9yZz4gd3JvdGU6Cj4KPj4gTm8gZ28gZm9yIG15IHRlc3RpbmcgaW5zaWRl IGEgTGludXggTWludCAyMi4xIFZNLiBGdWxseSB1cGRhdGVkLCBhbmQgcGFzc2luZyBpbiBib3Ro IDMvMC8wIGFuZCAzLzAvMSBmb3IgbXkgQU1EIFJhZGVvbiBjYXJkLiBJIHdhcyBhYmxlIHRvIGV4 dHJhY3Qgc29tZSBvZiB0aGUgImRtZXNnIiBhbmQgImVnbGluZm8iIG91dHB1dC4gUnVubmluZyAi Z2x4aW5mbyIgYWxzbyBzaG93ZWQgdGhhdCB0aGUgT3BlbkdMIHJlbmRlcmVyIHdhcyBzZXQgdG8g bGx2bXBpcGUsIHNvIHNvZnR3YXJlIHJlbmRlcmluZyA6KC4gImxzcGNpIC1rIiBkZXRlY3RlZCBp dCBhbmQgc2hvd2VkIHRoYXQgaXQgd2FzIHVzaW5nIHRoZSAiYW1kZ3B1IiBrZXJuZWwgZHJpdmVy LiBTaW5jZSBJJ20gdXNpbmcgdm0tYmh5dmUgYXRtIEkgZGlkbid0IHRlc3QgdGhpcyB3aXRoIHRo ZSBkdW1wZWQgcm9tLCBqdXN0IGRpcmVjdGx5IHBhc3NpbmcgdGhlbSB0aHJvdWdoLiBJJ3ZlIHVw bG9hZGVkIHNvbWUgb2YgdGhlIGxvZ3MgaGVyZSBmb3Igbm93IGluIGNhc2UgYW55b25lIHdhbnRz IHRvIHRha2UgYSBnbGFuY2UgYXQgdGhlbToKPj4KPj4gaHR0cHM6Ly94eWlubi5vcmcvZnJlZWJz ZC9maWxlcy9ncHVfcGFzcy8yMDI1LTA4LTI1Lwo+Pgo+PiBKb25hdGhhbiBWYXNxdWV6Cj4+IFBH UDogMzREQSA4NThDIDE0NDcgNTA5RSBDNzdBIEQ0OUYgRkI4NSA5MEI3IEM0Q0EgNTI3OQo+PiBT ZW50IHdpdGggUHJvdG9uTWFpbCBTZWN1cmUgRW1haWwKPj4KPj4gT24gTW9uZGF5LCBBdWd1c3Qg MjV0aCwgMjAyNSBhdCAxNDozNywgUm9iZXJ0IENvY2tlciA8cmNvY2tlcjg3QGdtYWlsLmNvbT4g d3JvdGU6Cj4+Cj4+PiBIZXkgZ3JvdXAgaGFzIGJodnllIGNvcmUgZGV2IGJha2VkIG91dCBhbiB1 cGRhdGUgZm9yIHRoaXMKPj4+Cj4+PiBSb2JlcnQKPj4+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+Pj4KPj4+IEZyb206IG93 bmVyLWZyZWVic2QtdmlydHVhbGl6YXRpb25ARnJlZUJTRC5vcmcgPG93bmVyLWZyZWVic2Qtdmly dHVhbGl6YXRpb25ARnJlZUJTRC5vcmc+IG9uIGJlaGFsZiBvZiBKb25hdGhhbiBWYXNxdWV6IDxq b25AeHlpbm4ub3JnPgo+Pj4gU2VudDogTW9uZGF5LCBBdWd1c3QgMjUsIDIwMjUgMTE6MzU6MzEg QU0KPj4+IFRvOiBKb25hdGhhbiBWYXNxdWV6IDxqb25AeHlpbm4ub3JnPgo+Pj4gQ2M6IFN0ZXBo YW4gQWx0aGF1cyA8U3RlcGhhbi5BbHRoYXVzQER1ZWRpbmdoYXVzZW4uZXU+OyB2aXJ0dWFsaXph dGlvbkBmcmVlYnNkLm9yZyA8dmlydHVhbGl6YXRpb25AZnJlZWJzZC5vcmc+Cj4+PiBTdWJqZWN0 OiBSZTogR1BVIFBhc3N0aHJvdWdoIG9uIEZyZWVCU0QgMTQuMyAoQU1EIFJhZGVvbiBSWCA2OTAw IFhUIGFuZCBXaW5kb3dzIDEwIFBybykKPj4+Cj4+PiBJIHdhcyBhYmxlIHRvIGdldCBhIGZyZXNo IFdpbiAxMCBQcm8gVk0gcnVubmluZyB0aHJvdWdoIHZtLWJoeXZlIGJ1dCBubyBwcm9ncmVzcy4g U3RpbGwgc2FtZSBDb2RlIDQzIGVycm9yIGFzIGJlZm9yZS4gSSB3YXNuJ3QgYWJsZSB0byBmaWd1 cmUgb3V0IGhvdyB0byBwYXNzIHRoZSByb209Ymlvcy5yb23igIsgdGhyb3VnaCB2bS1iaHl2ZSwg SSBkaWRuJ3Qgc2VlIGFueXRoaW5nIGFib3V0IGl0IGluIHRoZSBjb25maWcuc2FtcGxlIGZpbGUg YW5kIEkgYWxzbyB0cmllZCB0byBieXBhc3MgdGhhdCBieSBhZGRpbmcgaXQgaW4gYmh5dmVfb3B0 aW9ucyBidXQgbm8gZ28sIHRoZSBWTSB3b3VsZG4ndCBldmVuIHN0YXJ0IGlmIEkgZGlkIHRoYXQu IEkgc2VlIHRoZXJlIGlzIGEgImJoeXZlX2RldmljZXMiIHRoYXQgY29udGFpbnMgYWxsIG9mIHRo ZSBzbG90IGRldmljZXMgYnV0IEkgZG9uJ3Qgc2VlIHRoYXQgYXMgYW4gYWRqdXN0YWJsZSB2YXJp YWJsZSBiYXNlZCBvbiB0aGUgY29uZmlnLnNhbXBsZSBpbmZvLiBJJ3ZlIHBhc3RlZCBteSBjdXJy ZW50IHZtLWJoeXZlIHRlbXBsYXRlIGJlbG93LiBNeSBuZXh0IHRlc3QgaXMgdG8gdHJ5IHRoZSBz YW1lIHRoaW5nIGluc2lkZSBhIExpbnV4IGd1ZXN0IHRvIHNlZSB3aGF0IGhhcHBlbnMuCj4+Pgo+ Pj4gLS0tLS0tLS0tLS0tLS0tLQo+Pj4KPj4+IGxvYWRlcj0idWVmaSIKPj4+IGNwdT0iNCIKPj4+ IGNwdV9zb2NrZXRzPSIxIgo+Pj4gY3B1X2NvcmVzPSI0Igo+Pj4gY3B1X3RocmVhZHM9IjEiCj4+ PiBtZW1vcnk9IjE2RyIKPj4+IHdpcmVkX21lbW9yeT0ieWVzIgo+Pj4KPj4+IHV0Y3RpbWU9Im5v Igo+Pj4gYWhjaV9kZXZpY2VfbGltaXQ9IjgiCj4+Pgo+Pj4gZGlzazBfdHlwZT0ibnZtZSIKPj4+ IGRpc2swX25hbWU9ImRpc2swLmltZyIKPj4+Cj4+PiBuZXR3b3JrMF90eXBlPSJlMTAwMCIKPj4+ IG5ldHdvcmswX3N3aXRjaD0icHVibGljIgo+Pj4KPj4+IHBhc3N0aHJ1MD0iMy8wLzA9MjowIgo+ Pj4gcGFzc3RocnUxPSIzLzAvMT0yOjEiCj4+Pgo+Pj4gI2JoeXZlX29wdGlvbnM9Ii1zIDI6MCxw YXNzdGhydSwzLzAvMCxyb209Ymlvcy5yb20iCj4+Pgo+Pj4gIyBVc2luZyBSRFAgcG9zdC1pbnN0 YWxsLgo+Pj4gZ3JhcGhpY3M9Im5vIgo+Pj4gZ3JhcGhpY3NfcG9ydD0iNTkwMCIKPj4+IGdyYXBo aWNzX2xpc3Rlbj0iMC4wLjAuMCIKPj4+IGdyYXBoaWNzX3Jlcz0iMTkyMHgxMDgwIgo+Pj4gZ3Jh cGhpY3Nfd2FpdD0ieWVzIgo+Pj4KPj4+IHhoY2lfbW91c2U9InllcyIKPj4+IHV1aWQ9IjUzNWQ1 NGI1LTgxY2ItMTFmMC05M2EyLTk4Yjc4NTAxYmRhOCIgIG5ldHdvcmswX21hYz0iNTg6OWM6ZmM6 MDQ6NWE6ZWIiCj4+Pgo+Pj4gLS0tLS0tLS0tLS0tLS0tLQo+Pj4KPj4+IEpvbmF0aGFuIFZhc3F1 ZXoKPj4+IFBHUDogMzREQSA4NThDIDE0NDcgNTA5RSBDNzdBIEQ0OUYgRkI4NSA5MEI3IEM0Q0Eg NTI3OQo+Pj4gU2VudCB3aXRoIFByb3Rvbk1haWwgU2VjdXJlIEVtYWlsCj4+Pgo+Pj4gT24gTW9u ZGF5LCBBdWd1c3QgMjV0aCwgMjAyNSBhdCAxMTowNSwgSm9uYXRoYW4gVmFzcXVleiA8am9uQHh5 aW5uLm9yZz4gd3JvdGU6Cj4+Pgo+Pj4+IFVuZm9ydHVuYXRlbHkgSSBkb24ndCBoYXZlIGFuIGlu dGVsIG1hY2hpbmUgd2l0aCBhbiBhdmFpbGFibGUgUENJZSBzbG90LiBIb3dldmVyIEknbSB0cnlp bmcgYW5vdGhlciB0aGluZyB3aGljaCBpcyB0byBwYXNzdGhyb3VnaCB0aGUgY2FyZCB0byBhIExp bnV4IGd1ZXN0LiBJIG5lZWQgdG8gcnVuIG1vcmUgZXhwZXJpbWVudHMgYnV0IGEgcHJlbGltaW5h cnkgYm9vdCBvZiBhIExpbnV4IE1pbnQgSVNPIGRpZCBzaG93IHRoZSBBTUQgUmFkZW9uIFJYIDY5 MDAgWFQgY2FyZCBpbiBsc3BjaeKAiyBhbmQgc2hvd2VkIHRoYXQgaXQgd2FzIHVzaW5nIHRoZSBh bWRncHXigIsgZHJpdmVyLiBJIHRoZW4gZGlkIGEgYmFzaWMgZ2x4Z2VhcnPigIsgYW5kIGl0IG9w ZW5lZCB1cCBpbiBteSBWTkMgd2luZG93IGFuZCBzaG93ZWQgdGhlIEZQUyBjb3VudGVyIGF0IG92 ZXIgMjAwMCBmcHMuIFRoZSBvbmx5IGlzc3VlIEkgbm90aWNlZCB3YXMgd2hlbiBzaHV0dGluZyBk b3duIHRoZSBsaXZlIENEIGVudmlyb25tZW50IHRoZXJlIHdlcmUgYW1kZ3B14oCLIGZhaWx1cmUg bWVzc2FnZXMgd2hlcmUgaXQgd2FzIGZhaWxpbmcgdG8gd3JpdGUgc29tZXRoaW5nIHRvIGl0LiBJ J20gY3VycmVudGx5IHJlZG9pbmcgbXkgImJhc2ljIGJoeXZlIHNjcmlwdCIgYW5kIG1vdmluZyBp dCBvdmVyIHRvICJ2bS1iaHl2ZSIgc2luY2UgaXQgc2VlbXMgYSBsb3Qgb2YgcGVvcGxlIGFyZSB1 c2luZyB0aGF0IGluc3RlYWQgb2YgdGhlIG1vcmUgbWFudWFsIGFwcHJvYWNoLiBUaGlzIHNob3Vs ZCBob3BlZnVsbHkgaGVscCBzaW1wbGlmeSB0aGluZ3MgZm9yIGRlYnVnZ2luZy4gSWYgdGhlIGNh cmQgd29ya3Mgb24gTGludXggdmlhIHBhc3N0aHJvdWdoIHRoaXMgd291bGQgYWxzbyBiZSB1c2Vm dWwgaW5mbyBhbmQgY2FuIGFsbG93IG1lIHRvIHNlZSB0aGUgcGVyZm9ybWFuY2Ugb2YgQ3lwZXJw dW5rIDIwNzcsIGFuZCBzb21lIG90aGVyIGdhbWVzIChldmVuIGlmIEknbSBub3QgZ2V0dGluZyAx MDAlIG9mIHRoZSBjYXJkJ3MgcGVyZm9ybWFuY2UpLgo+Pj4+Cj4+Pj4gSm9uYXRoYW4gVmFzcXVl ego+Pj4+IFBHUDogMzREQSA4NThDIDE0NDcgNTA5RSBDNzdBIEQ0OUYgRkI4NSA5MEI3IEM0Q0Eg NTI3OQo+Pj4+IFNlbnQgd2l0aCBQcm90b25NYWlsIFNlY3VyZSBFbWFpbAo+Pj4+Cj4+Pj4gT24g TW9uZGF5LCBBdWd1c3QgMjV0aCwgMjAyNSBhdCAxMTowMCwgU3RlcGhhbiBBbHRoYXVzIDxTdGVw aGFuLkFsdGhhdXNARHVlZGluZ2hhdXNlbi5ldT4gd3JvdGU6Cj4+Pj4KPj4+Pj4gT24gOC8yNS8y NSAxNjo1NiwgSm9uYXRoYW4gVmFzcXVleiB3cm90ZToKPj4+Pj4KPj4+Pj4+IEhleSBTdGVwaGFu LAo+Pj4+Pj4KPj4+Pj4+IFl1cCwgSSd2ZSB0cmllZCBwYXNzaW5nIGJvdGggMy8wLzAgYW5kIDMv MC8xIGFuZCBubyBnbywgYW5kIEkgYWxzbyBtYWtlIHN1cmUgdG8gcmVib290IHRoZSBob3N0IGlu IGJldHdlZW4gcnVucyBkdWUgdG8gdGhlIGFtZCBoYXJkd2FyZSBpc3N1ZS4gSSBkb24ndCBiZWxp ZXZlIDMvMC8xIGlzIG5lY2Vzc2FyeSB0aG91Z2ggYmFzZWQgb24gdGhlIGV4YW1wbGVzIGJ5IENv cnZpbiBpbiBoaXMgdGFsay4gSGUgb25seSBwYXNzZWQgaW4gMy8wLzAgKEknbSBndWVzc2luZyBo aXMgY2FyZCBhbHNvIGhhcyBhIDMvMC8xIGZ1bmN0aW9uIHRoYXQgaGUgaXNuJ3QgdXNpbmcgc2lu Y2UgdGhhdCdzIHRoZSBhdWRpbyBjaGFubmVsKS4KPj4+Pj4+Cj4+Pj4+PiBKb25hdGhhbiBWYXNx dWV6Cj4+Pj4+PiBQR1A6IDM0REEgODU4QyAxNDQ3IDUwOUUgQzc3QSBENDlGIEZCODUgOTBCNyBD NENBIDUyNzkKPj4+Pj4+IFNlbnQgd2l0aCBQcm90b25NYWlsIFNlY3VyZSBFbWFpbAo+Pj4+Pj4K Pj4+Pj4+IE9uIE1vbmRheSwgQXVndXN0IDI1dGgsIDIwMjUgYXQgMTA6NTIsIFN0ZXBoYW4gQWx0 aGF1cyA8U3RlcGhhbi5BbHRoYXVzQER1ZWRpbmdoYXVzZW4uZXU+IHdyb3RlOgo+Pj4+Pj4KPj4+ Pj4+PiBPbiA4LzI1LzI1IDE2OjQ3LCBTdGVwaGFuIEFsdGhhdXMgd3JvdGU6Cj4+Pj4+Pj4KPj4+ Pj4+Pj4gT24gOC8yNC8yNSAyMzo1OCwgSm9uYXRoYW4gVmFzcXVleiB3cm90ZToKPj4+Pj4+Pj4K Pj4+Pj4+Pj4+IEhleSBhbGwsCj4+Pj4+Pj4+Pgo+Pj4+Pj4+Pj4gSSd2ZSBiZWVuIGV4cGVyaW1l bnRpbmcgd2l0aCB0cnlpbmcgdG8gZ2V0IG15IHNlcnZlcidzIGRlZGljYXRlZCBBTUQgUmFkZW9u IFJYIDY5MDAgWFQgd29ya2luZyBvbiBhIGJoeXZlIFdpbmRvd3MgMTAgUHJvIGNsaWVudCBmb3Ig Z2FtaW5nIHB1cnBvc2VzLiBJJ3ZlIGJlZW4gcmVhZGluZyBhIGJ1bmNoIG9mIGJsb2cgcG9zdHMs IHNpdGVzLCBmaWxlcywgYW5kIHZpZGVvcyAodGhhbmtzIENvcnZpbikgdG8gdHJ5IGFuZCBwaWVj ZSB0aGluZ3MgdG9nZXRoZXIuIEkndmUgYmVlbiBhYmxlIHRvIGdldCB0aGUgVk0gdG8gcmVjb2du aXplIHRoZSBjYXJkLCBidXQgc3RpbGwgc3R1Y2sgb24gdGhlIENvZGUgNDMgaXNzdWUgKHdpdGgg b3Igd2l0aG91dCB1c2luZyB0aGUgdkJJT1MgSSd2ZSBleHRyYWN0ZWQgZnJvbSBteSBkZWRpY2F0 ZWQgY2FyZCBhbmQgYWxzbyBlbnN1cmluZyBhbnkgb3B0aW9ucyBuZWVkZWQgdG8gYmUgb24gaW4g dGhlIFVFRkkgc2V0dGluZ3MgYXJlIGVuYWJsZWQpLiBUaGlzIG1hY2hpbmUgaXMgcnVubmluZyBv biBhbiBBTUQgUnl6ZW4gOSA3OTUwWCAxNi1Db3JlIFByb2Nlc3Nvciwgc28gaXQncyBhIGZ1bGwg QU1EIHNldHVwLCBubyBJbnRlbCBzdHVmZi4gSXQgdGVjaG5pY2FsbHkgc2hvdWxkIGJlIHJlbGF0 aXZlbHkgImVhc3kiIHRvIGdldCBBTUQgd29ya2luZyBmcm9tIHdoYXQgSSd2ZSByZWFkIChleGNs dWRpbmcgdGhlIGtub3duIEFNRCBIYXJkd2FyZSByZXNldCBpc3N1ZSkuIEkndmUgZG9jdW1lbnRl ZCBldmVyeXRoaW5nIEkndmUgZG9uZSBzbyBmYXIsIGFuZCB3aWxsIGJlIGRvY3VtZW50aW5nIG1v cmUgYW5kIHNpbXBsaWZ5aW5nIHRoZSBpbnN0cnVjdGlvbnMgYXMgSSBtYWtlIHByb2dyZXNzLiBQ bGVhc2UgbGV0IG1lIGtub3cgaWYgeW91IHNlZSBhbnkgdGhpbmcgd2VpcmQgb3IgYW55dGhpbmcg SSBjb3VsZCB0cnkgYmFzZWQgb24gd2hhdCBJJ3ZlIHJld3JpdHRlbi4gSSdsbCB0cnkgdG8gZ2l2 ZSBpdCBhIGdvIGFuZCBwcm92aWRlIGZlZWRiYWNrLiBUaGFuayB5b3UhCj4+Pj4+Pj4+Pgo+Pj4+ Pj4+Pj4gaHR0cHM6Ly94eWlubi5vcmcvYmxvZy9mcmVlYnNkL2ZyZWVic2RfYmh5dmVfZ3B1X3Bh c3N0aHJvdWdoX2FtZAo+Pj4+Pj4+Pj4KPj4+Pj4+Pj4+IEpvbmF0aGFuIFZhc3F1ZXoKPj4+Pj4+ Pj4+IFBHUDogMzREQSA4NThDIDE0NDcgNTA5RSBDNzdBIEQ0OUYgRkI4NSA5MEI3IEM0Q0EgNTI3 OQo+Pj4+Pj4+Pj4gU2VudCB3aXRoIFByb3Rvbk1haWwgU2VjdXJlIEVtYWlsCj4+Pj4+Pj4+Cj4+ Pj4+Pj4+IEhpIQo+Pj4+Pj4+Pgo+Pj4+Pj4+PiBpIGhhdmUgYSBBTUQgUlg2NDAwIEdQVSBzZXR1 cCBydW5uaW5nIG9uIDE0LjIgd2l0aCB3aW4xMCBndWVzdCwgaG9zdCBpcyBhIGludGVsIHN5c3Rl bS4KPj4+Pj4+Pj4KPj4+Pj4+Pj4gaSB0aGluayB5b3UgaGF2ZSB0byBwYXNzdGhyb3VnaCB0aGUg My8wLzEgZGV2aWNlIGFzIHdlbGwhCj4+Pj4+Pj4+Cj4+Pj4+Pj4+IFRoZSBiaW9zLnJvbSBpcyBl eHRyYWN0ZWQgZnJvbSB0aGlzIGNhcmQgaW4gcGxhY2UgPwo+Pj4+Pj4+Pgo+Pj4+Pj4+PiBSZWdh cmRzLAo+Pj4+Pj4+PiBTdGVwaGFuCj4+Pj4+Pj4KPj4+Pj4+PiBBaCwgYW5kIGJlIHNodXJlIHRv IHJlYm9vdCB0aGUgd2hvbGUgc2V0dXAsIGluY2x1c2l2ZSBob3N0LCBmb3IgZXZlcnkgbmV3IHRl c3QtY2FzZSwKPj4+Pj4+PiBhdCBsZWFzdCBhcyBsb25nIGF0IGlzIG5vdCBndWFyYW50ZWVkIHRo YXQgd2UgY2FuIGxpdmUgd2l0aG91dC4uCj4+Pj4+Pj4KPj4+Pj4+PiBSZWdhcnMsCj4+Pj4+Pj4g U3RlcGhhbgo+Pj4+Pgo+Pj4+PiBIaSEKPj4+Pj4KPj4+Pj4gTXkgb25seSBuZXh0IGFzc3VtcHRp b24gd291bGQgYmUgdGhhdCB0aGlzIG9ubHkgZG9lcyBub3Qgd29yayBvbiBBTUQgaG9zdC4KPj4+ Pj4KPj4+Pj4gWW91IGRvbid0IGhhdmUgYW4gaW50ZWwgc3lzdGVtIHRvIHRlc3QsIHlvdSB3b3Vs ZCBoYXZlZG9uZSBpdCwgaWYgc28uLiAoPykKPj4+Pj4KPj4+Pj4gU3RlcGhhbg== --b1=_88d9XfS3mYXIsvBLfRBAq35qbBvF0bjogE8pKzEJzo Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: base64 PGh0bWw+PGhlYWQ+PC9oZWFkPjxib2R5PlRoYW5rcyBmb3IgdGhhdCBpbmZvIFN0ZXBoYW4uIFl1 cCBpdCdzIGFuIFVFRkkgaW5zdGFsbCBzaW5jZSBJJ20gdXNpbmcgdGhlIGZvbGxvd2luZyBsaW5l IGluIG15IGJoeXZlIHNjcmlwdDo8ZGl2Pjxicj48L2Rpdj48ZGl2Pi1sIGJvb3Ryb20sL3Vzci9s b2NhbC9zaGFyZS91ZWZpLWZpcm13YXJlL0JIWVZFX1VFRkkuZmQsZndjZmc9cWVtdTwvZGl2Pjxk aXY+PGJyPjwvZGl2PjxkaXY+QW5kIHllYSBpdCBtYXkgYmUgcG9zc2libGUgc29tZXRoaW5nIGlz IGdvaW5nIG9uIHdpdGggQU1EIENQVSZuYnNwO2hvc3RzLi4uPGJyPjxicj48ZGl2IGNsYXNzPSJw cm90b25tYWlsX3NpZ25hdHVyZV9ibG9jay11c2VyIj48ZGl2PkpvbmF0aGFuIFZhc3F1ZXo8YnI+ PC9kaXY+PGRpdj5QR1A6IDM0REEgODU4QyAxNDQ3IDUwOUUgQzc3QSAgRDQ5RiBGQjg1IDkwQjcg QzRDQSA1Mjc5PGJyPjwvZGl2PjxkaXY+U2VudCB3aXRoIFByb3Rvbk1haWwgU2VjdXJlIEVtYWls PGJyPjwvZGl2PjxkaXY+PGJyPjwvZGl2PjwvZGl2Pjxicj48YnI+U2VudCB3aXRoIDxhIHRhcmdl dD0iX2JsYW5rIiBocmVmPSJodHRwczovL3Byb3Rvbi5tZS9tYWlsL2hvbWUiIHJlbD0ibm9yZWZl cnJlciI+UHJvdG9uIE1haWw8L2E+IHNlY3VyZSBlbWFpbC48ZGl2IGNsYXNzPSJwcm90b25tYWls X3F1b3RlIj48YnI+PGJyPi0tLS0tLS0tIE9yaWdpbmFsIE1lc3NhZ2UgLS0tLS0tLS08YnI+T24g U2F0dXJkYXksIDA4LzMwLzI1IGF0IDIwOjExIEpvbmF0aGFuIFZhc3F1ZXogJmx0O2pvbkB4eWlu bi5vcmcmZ3Q7IHdyb3RlOjxicj48YmxvY2txdW90ZSBjbGFzcz0icHJvdG9ubWFpbF9xdW90ZSI+ PGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE0 cHgiPkhleSBhbGwsPC9kaXY+PGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNl cmlmOyBmb250LXNpemU6IDE0cHgiPjxicj48L2Rpdj48ZGl2IHN0eWxlPSJmb250LWZhbWlseTog QXJpYWwsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTRweCI+SSd2ZSB1cGRhdGVkIG15IGJsb2cg cG9zdCB3aXRoIG1vcmUgaW5mb3JtYXRpb24gYW5kIHNvbWUgdXNlZnVsIHNjcmVlbnNob3RzOiZu YnNwOzxzcGFuPjxhIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vcmVmZXJyZXIiIGhyZWY9Imh0dHBz Oi8veHlpbm4ub3JnL2Jsb2cvZnJlZWJzZC9mcmVlYnNkX2JoeXZlX2dwdV9wYXNzdGhyb3VnaF9h bWQiPmh0dHBzOi8veHlpbm4ub3JnL2Jsb2cvZnJlZWJzZC9mcmVlYnNkX2JoeXZlX2dwdV9wYXNz dGhyb3VnaF9hbWQ8L2E+PC9zcGFuPjwvZGl2PjxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OiBBcmlh bCwgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxNHB4Ij48YnI+PC9kaXY+PGRpdiBzdHlsZT0iZm9u dC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE0cHgiPlRoZSBpbXBvcnRh bnQgc3R1ZmYgdG8gbWVudGlvbiBpcyB0aGF0IEkndmUgYWxzbyBnb3R0ZW4gYSBjaGFuY2UgdG8g cGxheSB3aXRoIHZtLWJoeXZlLCBidXQgZm9yIHRoZSBwdXJwb3NlcyBvZiBtYWtpbmcgc3VyZSB3 ZSBnZXQgYXMgY2xlYXIgaW5mb3JtYXRpb24gYXMgcG9zc2libGUgd2l0aG91dCBoYXZpbmcgdG8g dW53cmFwIHRoZSB2bS1iaHl2ZSBzY3JpcHRzLCBJJ2xsIGNvbnRpbnVlIHRvIHVzZSBiaHl2ZSBk aXJlY3RseS4gV2l0aCB0aGF0IHNhaWQsIHNvbWUgdXNlZnVsIGluZm86PC9kaXY+PGRpdiBzdHls ZT0iZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE0cHgiPjxicj48 L2Rpdj48ZGl2IHN0eWxlPSJmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7IGZvbnQtc2l6 ZTogMTRweCI+PHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwOyBtYXJnaW4tYm90dG9tOiAwIj48bGkg c3R5bGU9Imxpc3Qtc3R5bGUtdHlwZTogJnF1b3Q7LSAmcXVvdDsiPjxzcGFuPlRoZSB2QklPUyBp cyBub3QgcmVxdWlyZWQgd2hlbiBydW5uaW5nIG9uIFdpbmRvd3MgYXMgbWVudGlvbmVkIGJ5IENv cnZpbiBoZXJlOiZuYnNwOzxzcGFuPjxhIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vcmVmZXJyZXIi IGhyZWY9Imh0dHBzOi8vbGlzdHMuZnJlZWJzZC5vcmcvYXJjaGl2ZXMvZnJlZWJzZC12aXJ0dWFs aXphdGlvbi8yMDIyLUp1bmUvMDAwNzk3Lmh0bWwiPmh0dHBzOi8vbGlzdHMuZnJlZWJzZC5vcmcv YXJjaGl2ZXMvZnJlZWJzZC12aXJ0dWFsaXphdGlvbi8yMDIyLUp1bmUvMDAwNzk3Lmh0bWw8L2E+ PC9zcGFuPiwgdGh1cyBJJ3ZlIHN0b3BwZWQgdXNpbmcgaXQuIEkgd2FzIGhvd2V2ZXIgYWxzbyBh YmxlIHRvIHN1Y2Nlc3NmdWxseSB1c2UgaGlzICJlY2hvIDEgLi4uIiByZWNvbW1lbmRhdGlvbiB0 byBkdW1wIHRoZSBiaW9zIGZyb20gd2l0aGluIExpbnV4IChGZWRvcmEgNDIpLiBJIGFjdHVhbGx5 IGZhaWxlZCB0byBleHRyYWN0IHRoZSBiaW9zIGJlZm9yZSAod2l0aG91dCB1c2luZyBhbWR2YmZs YXNoKSBiZWNhdXNlIG1vc3QgbGlrZWx5IG15IExpbnV4IE1pbnQgMjIuMSdzIEtlcm5lbCB3YXMg dG9vIG9sZCB0byBleHRyYWN0IHRoZSBST00uIFdoZW4gSSB0cmllZCB0byBkbyB0aGUgc2FtZSBl eGFjdCB0aGluZyB0b2RheSB3aXRoIEZlZG9yYSA0MiwgaXQgd29ya2VkLCBhbmQgSSB3YXMgYWJs ZSB0byBzZWUgdGhlICJyb20iIGZpbGUgZnJvbSBGZWRvcmEgNDIsIGJ1dCBub3QgZnJvbSBMaW51 eCBNaW50IDIyLjEuPC9zcGFuPjwvbGk+PGxpIHN0eWxlPSJsaXN0LXN0eWxlLXR5cGU6ICZxdW90 Oy0gJnF1b3Q7Ij5JIHdhcyBhYmxlIHRvIGdldCB0aGUgR1BVIHRvIGxvYWQgd2l0aG91dCBhIENv ZGUgNDMgZXJyb3IuIEJ1dCBpdCdzIHN0aWxsIHVudXNhYmxlLiBJIHdhcyBhY3R1YWxseSBhYmxl IHRvIGdldCB0byB0aGlzIHN0YXRlIGJlZm9yZSBidXQgaXQgd2FzIGluY29uc2lzdGVudC4gVGhy b3VnaCBtb3JlIHJlc2VhcmNoIEkgd2FzIGFibGUgdG8gZ2V0IGl0IHRvIGJlIHJlcHJvZHVjaWJs ZS4gVGhlcmUgYXJlIGEgZmV3IHRoaW5ncyB0byBtZW50aW9uIGhlcmU6PC9saT48dWwgc3R5bGU9 Im1hcmdpbi10b3A6IDA7IG1hcmdpbi1ib3R0b206IDA7IGxpc3Qtc3R5bGUtdHlwZTogY2lyY2xl Ij48bGkgc3R5bGU9IiI+VGhlIGNhcmQgd2lsbCBhbHdheXMgc3RhcnQgaW4gYSBDb2RlIDQzIGZh aWxlZCBzdGF0ZSByZWdhcmRsZXNzIG9mIHdoYXQgSSBtZW50aW9uIGJlbG93IChpbmNsdWRpbmcg aWYgSSByZWJvb3QgdGhlIGhvc3QpLjwvbGk+PGxpIHN0eWxlPSIiPklmIHlvdSB1c2UgUkRQLCB0 aGUgY2FyZCB3aWxsIGFsd2F5cyBiZSBpbiBhIENvZGUgNDMgc3RhdGUuPC9saT48bGkgc3R5bGU9 IiI+SWYgSSB1c2UgVk5DLCB0aGUgY2FyZCB3aWxsIHN0YXJ0IGluIGEgZmFpbGVkIHN0YXRlIChh cyBtZW50aW9uZWQgYWJvdmUpLCBIT1dFVkVSLCB5b3Ugd2lsbCBiZSBhYmxlIHRvIGdvIGludG8g dGhlIERldmljZSBNYW5hZ2VyLCBEaXNhYmxlIHRoZSBjYXJkLCBhbmQgdGhlbiBFbmFibGUgdGhl IGNhcmQsIGFuZCBpdCB3aWxsIGJlIGVuYWJsZWQgc3VjY2Vzc2Z1bGx5IGFzIHlvdSBjYW4gc2Vl IGluIG15IHNjcmVlbnNob3RzLiBUaGUgT1Mgd2lsbCBhbHNvIGdpdmUgaXQgcmVzb3VyY2VzIGZy b20gd2hhdCB3ZSBjYW4gc2VlIGluIHRoZSBEZXZpY2UncyBQcm9wZXJ0aWVzJyBSZXNvdXJjZXMg VGFiLjwvbGk+PC91bD48L3VsPjwvZGl2PjxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OiBBcmlhbCwg c2Fucy1zZXJpZjsgZm9udC1zaXplOiAxNHB4Ij48YnI+PC9kaXY+PGRpdiBzdHlsZT0iZm9udC1m YW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE0cHgiPkdpdmVuIHdoYXQgSSBt ZW50aW9uZWQgYWJvdmUsIEkgd291bGQgcmVjb21tZW5kIChhcyBzb21lIG90aGVyIHBlb3BsZSBy ZWNvbW1lbmRlZCBpbiBvdGhlciBsaW5rcyBJJ3ZlIGZvdW5kKSwgdG8gZGlzYWJsZSB0aGUgY2Fy ZCBpbiB0aGUgVk0gYmVmb3JlIHlvdSBzaHV0IGl0IGRvd24sIGFuZCB0aGVuIGVuYWJsZSBpdCBm cm9tIGluc2lkZSBvZiBXaW5kb3dzIHdoZW4geW91IHR1cm4gaXQgYmFjayBvbi4gQWx0aG91Z2gg SSBkb24ndCBrbm93IGhvdyBuZWNlc3NhcnkgdGhpcyBpcyBnaXZlbiB0aGF0IGlmIEkgdXNlIFZO QywgZXZlbiBpZiBpdCBzdGFydHMgb2ZmIGluIGEgZmFpbGVkIHN0YXRlIChsZXQncyBzYXkgZnJv bSBhIGZyZXNoIGhvc3QgcmVib290KSwgZG9pbmcgdGhlICJkZXZpY2UgcmUtbmFibGluZyB0cmlj ayIgd2lsbCBsZXQgaXQgbG9hZCBzdWNjZXNzZnVsbHkgYWdhaW4uIEF0IHRoaXMgcG9pbnQgc2lu Y2UgSSd2ZSBnb3R0ZW4gdGhlIGNhcmQgdG8gc2F5IGl0IHdvcmtlZCwgSSdtIG5vdCBzdXJlIGhv dyB0byB0ZWxsIFdpbmRvd3MgdG8gdXNlIHRoYXQgYXMgdGhlIG1haW4gR1BVIHdoZW4gSSBydW4g bXkgYXBwcy4gSSd2ZSBsb29rZWQgYXQgc29tZSBleGFtcGxlcyBvbmxpbmUgb2YgdXNpbmcgZGlz cGxheSBzZXR0aW5ncyB0byBjaGFuZ2UgdGhlIHByZWZlcnJlZCBjYXJkLCBidXQgSSBkb24ndCBz ZWUgaXQgbGlzdGVkIHRoZXJlLiBBbSBJIHN1cHBvc2UgdG8gc2VlIHRoZSBjYXJkIGluIGR4ZGlh ZyBpZiBJJ20gdXNpbmcgVk5DPyBJJ20ganVzdCBydW5uaW5nIHRoZSBiaHl2ZSBWTSBvbiBteSBz ZXJ2ZXIsIGFuZCBJIFZOQyBvdmVyIGZyb20gbXkgbGFwdG9wIG9uIHRoZSBzYW1lIExBTiBuZXR3 b3JrLiBJJ20gZ3Vlc3NpbmcgaWYgdGhpbmdzIGFyZSB3b3JraW5nIGNvcnJlY3RseSBJIHNob3Vs ZCBiZSBhYmxlIHRvIGRvIHRoYXQgcmlnaHQ/IEkga25vdyB0aGVyZSBhcmUgYWxzbyBzb21lIGJl bmNobWFya2luZyBhcHBzIHRoYXQgc2hvdyB5b3Ugd2hhdCBHUFVzIGl0cyBkZXRlY3RlZCBhbmQg bWF5YmUgYWxsb3cgeW91IHRvIHBpY2sgb25lIHRvIHJ1biBhIGJlbmNobWFyayBvbi4gSSB0cmll ZCBvcGVuaW5nIEZ1ck1hcmsgYnV0IGl0IGZhaWxzIHNheWluZyB0aGF0IGl0IG9ubHkgZGV0ZWN0 cyBPcGVuIEdMIDEuMSBhbmQgYWxsIG9mIHRoYXQuLi4gSSBhY3R1YWxseSB0cmllZCBpbnN0YWxs aW5nIE1lc2EgZm9yIHdpbmRvd3MgdG8gc2VlIHdoYXQgaGFwcGVucyBhbmQgdGhhdCBkb2VzIGhl bHAgYnV0IGl0J3Mgc2xvdyBhbmQgaXQncyBjbGVhcmx5IG5vdCB1c2luZyB0aGUgY2FyZCBhbmQg bW9zdCBsaWtlbHkgZG9pbmcgc29tZSBzb3J0IG9mIHNvZnR3YXJlIHJlbmRlcmluZyAobWF5YmUg bGlrZSBhIFdpbmRvd3MgbGx2bXBpcGUpLjwvZGl2PjxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OiBB cmlhbCwgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxNHB4Ij48YnI+PC9kaXY+DQo8ZGl2IHN0eWxl PSJmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTRweCIgY2xhc3M9 InByb3Rvbm1haWxfc2lnbmF0dXJlX2Jsb2NrIj4NCiAgICA8ZGl2IGNsYXNzPSJwcm90b25tYWls X3NpZ25hdHVyZV9ibG9jay11c2VyIj4NCiAgICAgICAgPGRpdj5Kb25hdGhhbiBWYXNxdWV6PGJy PjwvZGl2PjxkaXY+UEdQOiAzNERBIDg1OEMgMTQ0NyA1MDlFIEM3N0EgIEQ0OUYgRkI4NSA5MEI3 IEM0Q0EgNTI3OTxicj48L2Rpdj48ZGl2PlNlbnQgd2l0aCBQcm90b25NYWlsIFNlY3VyZSBFbWFp bDxicj48L2Rpdj48ZGl2Pjxicj48L2Rpdj4NCiAgICA8L2Rpdj4NCg0KICAgICAgICAgICAgPGRp diBjbGFzcz0icHJvdG9ubWFpbF9zaWduYXR1cmVfYmxvY2stcHJvdG9uIHByb3Rvbm1haWxfc2ln bmF0dXJlX2Jsb2NrLWVtcHR5Ij4NCg0KICAgICAgICAgICAgPC9kaXY+DQo8L2Rpdj4NCjxkaXYg c3R5bGU9ImZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxNHB4Ij48 YnI+PC9kaXY+PGRpdiBjbGFzcz0icHJvdG9ubWFpbF9xdW90ZSI+DQogICAgICAgIE9uIE1vbmRh eSwgQXVndXN0IDI1dGgsIDIwMjUgYXQgMTQ6NTEsIEpvbmF0aGFuIFZhc3F1ZXogJmx0O2pvbkB4 eWlubi5vcmcmZ3Q7IHdyb3RlOjxicj4NCiAgICAgICAgPGJsb2NrcXVvdGUgY2xhc3M9InByb3Rv bm1haWxfcXVvdGUiIHR5cGU9ImNpdGUiPg0KICAgICAgICAgICAgPGRpdiBzdHlsZT0iZm9udC1m YW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE0cHgiPk5vIGdvIGZvciBteSB0 ZXN0aW5nIGluc2lkZSBhIExpbnV4IE1pbnQgMjIuMSBWTS4gRnVsbHkgdXBkYXRlZCwgYW5kIHBh c3NpbmcgaW4gYm90aCAzLzAvMCBhbmQgMy8wLzEgZm9yIG15IEFNRCBSYWRlb24gY2FyZC4gSSB3 YXMgYWJsZSB0byBleHRyYWN0IHNvbWUgb2YgdGhlICJkbWVzZyIgYW5kICJlZ2xpbmZvIiBvdXRw dXQuIFJ1bm5pbmcgImdseGluZm8iIGFsc28gc2hvd2VkIHRoYXQgdGhlIE9wZW5HTCByZW5kZXJl ciB3YXMgc2V0IHRvIGxsdm1waXBlLCBzbyBzb2Z0d2FyZSByZW5kZXJpbmcgOiguICJsc3BjaSAt ayIgZGV0ZWN0ZWQgaXQgYW5kIHNob3dlZCB0aGF0IGl0IHdhcyB1c2luZyB0aGUgImFtZGdwdSIg a2VybmVsIGRyaXZlci4gU2luY2UgSSdtIHVzaW5nIHZtLWJoeXZlIGF0bSBJIGRpZG4ndCB0ZXN0 IHRoaXMgd2l0aCB0aGUgZHVtcGVkIHJvbSwganVzdCBkaXJlY3RseSBwYXNzaW5nIHRoZW0gdGhy b3VnaC4gSSd2ZSB1cGxvYWRlZCBzb21lIG9mIHRoZSBsb2dzIGhlcmUgZm9yIG5vdyBpbiBjYXNl IGFueW9uZSB3YW50cyB0byB0YWtlIGEgZ2xhbmNlIGF0IHRoZW06PC9kaXY+PGRpdiBzdHlsZT0i Zm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE0cHgiPjxicj48L2Rp dj48ZGl2IHN0eWxlPSJmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTog MTRweCI+PHNwYW4+PGEgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9yZWZlcnJlciIgaHJlZj0iaHR0 cHM6Ly94eWlubi5vcmcvZnJlZWJzZC9maWxlcy9ncHVfcGFzcy8yMDI1LTA4LTI1LyI+aHR0cHM6 Ly94eWlubi5vcmcvZnJlZWJzZC9maWxlcy9ncHVfcGFzcy8yMDI1LTA4LTI1LzwvYT48L3NwYW4+ PGJyPjwvZGl2PjxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjsgZm9u dC1zaXplOiAxNHB4Ij48YnI+PC9kaXY+DQo8ZGl2IHN0eWxlPSJmb250LWZhbWlseTogQXJpYWws IHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTRweCIgY2xhc3M9InByb3Rvbm1haWxfc2lnbmF0dXJl X2Jsb2NrIj4NCiAgICA8ZGl2IGNsYXNzPSJwcm90b25tYWlsX3NpZ25hdHVyZV9ibG9jay11c2Vy Ij4NCiAgICAgICAgPGRpdj5Kb25hdGhhbiBWYXNxdWV6PGJyPjwvZGl2PjxkaXY+UEdQOiAzNERB IDg1OEMgMTQ0NyA1MDlFIEM3N0EgIEQ0OUYgRkI4NSA5MEI3IEM0Q0EgNTI3OTxicj48L2Rpdj48 ZGl2PlNlbnQgd2l0aCBQcm90b25NYWlsIFNlY3VyZSBFbWFpbDxicj48L2Rpdj48ZGl2Pjxicj48 L2Rpdj4NCiAgICA8L2Rpdj4NCg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvdG9ubWFpbF9z aWduYXR1cmVfYmxvY2stcHJvdG9uIHByb3Rvbm1haWxfc2lnbmF0dXJlX2Jsb2NrLWVtcHR5Ij4N Cg0KICAgICAgICAgICAgPC9kaXY+DQo8L2Rpdj4NCjxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OiBB cmlhbCwgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxNHB4Ij48YnI+PC9kaXY+PGRpdiBjbGFzcz0i cHJvdG9ubWFpbF9xdW90ZSI+DQogICAgICAgIE9uIE1vbmRheSwgQXVndXN0IDI1dGgsIDIwMjUg YXQgMTQ6MzcsIFJvYmVydCBDb2NrZXIgJmx0O3Jjb2NrZXI4N0BnbWFpbC5jb20mZ3Q7IHdyb3Rl Ojxicj4NCiAgICAgICAgPGJsb2NrcXVvdGUgY2xhc3M9InByb3Rvbm1haWxfcXVvdGUiIHR5cGU9 ImNpdGUiPg0KDQo8ZGl2IHN0eWxlPSJmb250LWZhbWlseTogQXB0b3MsIC1hcHBsZS1zeXN0ZW0s IEhlbHZldGljYU5ldWUsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTJwdCI+DQo8ZGl2IHN0eWxl PSJmb250LWZhbWlseTogQXB0b3MsIEFwdG9zX01TRm9udFNlcnZpY2UsIC1hcHBsZS1zeXN0ZW0s IFJvYm90bywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMnB0IiBk aXI9Imx0ciI+DQpIZXkgZ3JvdXAgaGFzIGJodnllIGNvcmUgZGV2IGJha2VkIG91dCBhbiB1cGRh dGUgZm9yIHRoaXMmbmJzcDs8L2Rpdj4NCjwvZGl2Pg0KPGRpdiBpZD0ibXMtb3V0bG9vay1tb2Jp bGUtYm9keS1zZXBhcmF0b3ItbGluZSIgc3R5bGU9ImZvbnQtZmFtaWx5OiBBcHRvcywgLWFwcGxl LXN5c3RlbSwgSGVsdmV0aWNhTmV1ZSwgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMnB0IiBkaXI9 ImF1dG8iPg0KPGJyPg0KPC9kaXY+DQo8ZGl2IGlkPSJtcy1vdXRsb29rLW1vYmlsZS1zaWduYXR1 cmUiIHN0eWxlPSJmb250LWZhbWlseTogQXB0b3MsIC1hcHBsZS1zeXN0ZW0sIEhlbHZldGljYU5l dWUsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTJwdCI+DQo8ZGl2IGRpcj0ibHRyIj5Sb2JlcnQ8 L2Rpdj4NCjwvZGl2Pg0KPGhyIHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHdpZHRoOiA5 OCUiIHRhYmluZGV4PSItMSI+DQo8ZGl2IGlkPSJkaXZScGx5RndkTXNnIiBkaXI9Imx0ciI+PGZv bnQgZmFjZT0iQ2FsaWJyaSwgc2Fucy1zZXJpZiIgc3R5bGU9ImZvbnQtc2l6ZTogMTFwdCIgY29s b3I9IiMwMDAwMDAiPjxiPkZyb206PC9iPiBvd25lci1mcmVlYnNkLXZpcnR1YWxpemF0aW9uQEZy ZWVCU0Qub3JnICZsdDtvd25lci1mcmVlYnNkLXZpcnR1YWxpemF0aW9uQEZyZWVCU0Qub3JnJmd0 OyBvbiBiZWhhbGYgb2YgSm9uYXRoYW4gVmFzcXVleiAmbHQ7am9uQHh5aW5uLm9yZyZndDs8YnI+ DQo8Yj5TZW50OjwvYj4gTW9uZGF5LCBBdWd1c3QgMjUsIDIwMjUgMTE6MzU6MzEgQU08YnI+DQo8 Yj5Ubzo8L2I+IEpvbmF0aGFuIFZhc3F1ZXogJmx0O2pvbkB4eWlubi5vcmcmZ3Q7PGJyPg0KPGI+ Q2M6PC9iPiBTdGVwaGFuIEFsdGhhdXMgJmx0O1N0ZXBoYW4uQWx0aGF1c0BEdWVkaW5naGF1c2Vu LmV1Jmd0OzsgdmlydHVhbGl6YXRpb25AZnJlZWJzZC5vcmcgJmx0O3ZpcnR1YWxpemF0aW9uQGZy ZWVic2Qub3JnJmd0Ozxicj4NCjxiPlN1YmplY3Q6PC9iPiBSZTogR1BVIFBhc3N0aHJvdWdoIG9u IEZyZWVCU0QgMTQuMyAoQU1EIFJhZGVvbiBSWCA2OTAwIFhUIGFuZCBXaW5kb3dzIDEwIFBybyk8 L2ZvbnQ+DQo8ZGl2PiZuYnNwOzwvZGl2Pg0KPC9kaXY+DQo8ZGl2Pg0KPGRpdiBzdHlsZT0iZm9u dC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE0cHgiPkkgd2FzIGFibGUg dG8gZ2V0IGEgZnJlc2ggV2luIDEwIFBybyBWTSBydW5uaW5nIHRocm91Z2ggdm0tYmh5dmUgYnV0 IG5vIHByb2dyZXNzLiBTdGlsbCBzYW1lIENvZGUgNDMgZXJyb3IgYXMgYmVmb3JlLiBJIHdhc24n dCBhYmxlIHRvIGZpZ3VyZSBvdXQgaG93IHRvIHBhc3MgdGhlDQo8Y29kZT5yb209Ymlvcy5yb208 L2NvZGU+4oCLIHRocm91Z2ggdm0tYmh5dmUsIEkgZGlkbid0IHNlZSBhbnl0aGluZyBhYm91dCBp dCBpbiB0aGUgY29uZmlnLnNhbXBsZSBmaWxlIGFuZCBJIGFsc28gdHJpZWQgdG8gYnlwYXNzIHRo YXQgYnkgYWRkaW5nIGl0IGluIGJoeXZlX29wdGlvbnMgYnV0IG5vIGdvLCB0aGUgVk0gd291bGRu J3QgZXZlbiBzdGFydCBpZiBJIGRpZCB0aGF0LiBJIHNlZSB0aGVyZSBpcyBhICJiaHl2ZV9kZXZp Y2VzIiB0aGF0IGNvbnRhaW5zDQogYWxsIG9mIHRoZSBzbG90IGRldmljZXMgYnV0IEkgZG9uJ3Qg c2VlIHRoYXQgYXMgYW4gYWRqdXN0YWJsZSB2YXJpYWJsZSBiYXNlZCBvbiB0aGUgY29uZmlnLnNh bXBsZSBpbmZvLiBJJ3ZlIHBhc3RlZCBteSBjdXJyZW50IHZtLWJoeXZlIHRlbXBsYXRlIGJlbG93 LiBNeSBuZXh0IHRlc3QgaXMgdG8gdHJ5IHRoZSBzYW1lIHRoaW5nIGluc2lkZSBhIExpbnV4IGd1 ZXN0IHRvIHNlZSB3aGF0IGhhcHBlbnMuPC9kaXY+DQo8ZGl2IHN0eWxlPSJmb250LWZhbWlseTog QXJpYWwsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTRweCI+PGJyPg0KPC9kaXY+DQo8ZGl2IHN0 eWxlPSJmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTRweCI+LS0t LS0tLS0tLS0tLS0tLTwvZGl2Pg0KPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5z LXNlcmlmOyBmb250LXNpemU6IDE0cHgiPjxicj4NCjwvZGl2Pg0KPGRpdiBzdHlsZT0iZm9udC1m YW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE0cHgiPjxzcGFuPmxvYWRlcj0i dWVmaSIgJm5ic3A7ICZuYnNwOzwvc3Bhbj4NCjxkaXY+PHNwYW4+Y3B1PSI0IiAmbmJzcDsgJm5i c3A7PC9zcGFuPjwvZGl2Pg0KPGRpdj48c3Bhbj5jcHVfc29ja2V0cz0iMSIgJm5ic3A7ICZuYnNw Ozwvc3Bhbj48L2Rpdj4NCjxkaXY+PHNwYW4+Y3B1X2NvcmVzPSI0IiAmbmJzcDsgJm5ic3A7PC9z cGFuPjwvZGl2Pg0KPGRpdj48c3Bhbj5jcHVfdGhyZWFkcz0iMSIgJm5ic3A7ICZuYnNwOzwvc3Bh bj48L2Rpdj4NCjxkaXY+PHNwYW4+bWVtb3J5PSIxNkciICZuYnNwOyAmbmJzcDs8L3NwYW4+PC9k aXY+DQo8ZGl2PjxzcGFuPndpcmVkX21lbW9yeT0ieWVzIiAmbmJzcDsgJm5ic3A7PC9zcGFuPjwv ZGl2Pg0KPGRpdj48c3Bhbj4mbmJzcDsgJm5ic3A7IDwvc3Bhbj48L2Rpdj4NCjxkaXY+PHNwYW4+ dXRjdGltZT0ibm8iICZuYnNwOyAmbmJzcDs8L3NwYW4+PC9kaXY+DQo8ZGl2PjxzcGFuPmFoY2lf ZGV2aWNlX2xpbWl0PSI4IiAmbmJzcDsgJm5ic3A7PC9zcGFuPjwvZGl2Pg0KPGRpdj48c3Bhbj4m bmJzcDsgJm5ic3A7IDwvc3Bhbj48L2Rpdj4NCjxkaXY+PHNwYW4+ZGlzazBfdHlwZT0ibnZtZSIg Jm5ic3A7ICZuYnNwOzwvc3Bhbj48L2Rpdj4NCjxkaXY+PHNwYW4+ZGlzazBfbmFtZT0iZGlzazAu aW1nIiAmbmJzcDsgJm5ic3A7PC9zcGFuPjwvZGl2Pg0KPGRpdj48c3Bhbj4mbmJzcDsgJm5ic3A7 IDwvc3Bhbj48L2Rpdj4NCjxkaXY+PHNwYW4+bmV0d29yazBfdHlwZT0iZTEwMDAiICZuYnNwOyAm bmJzcDs8L3NwYW4+PC9kaXY+DQo8ZGl2PjxzcGFuPm5ldHdvcmswX3N3aXRjaD0icHVibGljIiAm bmJzcDsgJm5ic3A7PC9zcGFuPjwvZGl2Pg0KPGRpdj48c3Bhbj4mbmJzcDsgJm5ic3A7IDwvc3Bh bj48L2Rpdj4NCjxkaXY+PHNwYW4+cGFzc3RocnUwPSIzLzAvMD0yOjAiICZuYnNwOyAmbmJzcDs8 L3NwYW4+PC9kaXY+DQo8ZGl2PjxzcGFuPnBhc3N0aHJ1MT0iMy8wLzE9MjoxIiAmbmJzcDsgJm5i c3A7PC9zcGFuPjwvZGl2Pg0KPGRpdj48c3Bhbj4mbmJzcDsgJm5ic3A7IDwvc3Bhbj48L2Rpdj4N CjxkaXY+PHNwYW4+I2JoeXZlX29wdGlvbnM9Ii1zIDI6MCxwYXNzdGhydSwzLzAvMCxyb209Ymlv cy5yb20iICZuYnNwOyAmbmJzcDs8L3NwYW4+PC9kaXY+DQo8ZGl2PjxzcGFuPjxicj4NCjwvc3Bh bj48L2Rpdj4NCjxkaXY+PHNwYW4+IyBVc2luZyBSRFAgcG9zdC1pbnN0YWxsLiZuYnNwOyAmbmJz cDs8L3NwYW4+PC9kaXY+DQo8ZGl2PjxzcGFuPmdyYXBoaWNzPSJubyIgJm5ic3A7ICZuYnNwOzwv c3Bhbj48L2Rpdj4NCjxkaXY+PHNwYW4+Z3JhcGhpY3NfcG9ydD0iNTkwMCIgJm5ic3A7ICZuYnNw Ozwvc3Bhbj48L2Rpdj4NCjxkaXY+PHNwYW4+Z3JhcGhpY3NfbGlzdGVuPSIwLjAuMC4wIiAmbmJz cDsgJm5ic3A7PC9zcGFuPjwvZGl2Pg0KPGRpdj48c3Bhbj5ncmFwaGljc19yZXM9IjE5MjB4MTA4 MCIgJm5ic3A7ICZuYnNwOzwvc3Bhbj48L2Rpdj4NCjxkaXY+PHNwYW4+Z3JhcGhpY3Nfd2FpdD0i eWVzIiAmbmJzcDsgJm5ic3A7PC9zcGFuPjwvZGl2Pg0KPGRpdj48c3Bhbj4mbmJzcDsgJm5ic3A7 IDwvc3Bhbj48L2Rpdj4NCjxkaXY+PHNwYW4+eGhjaV9tb3VzZT0ieWVzIiAmbmJzcDsgJm5ic3A7 PC9zcGFuPjwvZGl2Pg0KPGRpdj48c3Bhbj51dWlkPSI1MzVkNTRiNS04MWNiLTExZjAtOTNhMi05 OGI3ODUwMWJkYTgiICZuYnNwOyAmbmJzcDs8L3NwYW4+PC9kaXY+DQo8c3Bhbj5uZXR3b3JrMF9t YWM9IjU4OjljOmZjOjA0OjVhOmViIiZuYnNwOyAmbmJzcDs8L3NwYW4+PC9kaXY+DQo8ZGl2IHN0 eWxlPSJmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTRweCI+PHNw YW4+PGJyPg0KPC9zcGFuPjwvZGl2Pg0KPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6IEFyaWFsLCBz YW5zLXNlcmlmOyBmb250LXNpemU6IDE0cHgiPi0tLS0tLS0tLS0tLS0tLS08L2Rpdj4NCjxkaXYg c3R5bGU9ImZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxNHB4Ij48 YnI+DQo8L2Rpdj4NCjxkaXYgY2xhc3M9InhfcHJvdG9ubWFpbF9zaWduYXR1cmVfYmxvY2siIHN0 eWxlPSJmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTRweCI+DQo8 ZGl2IGNsYXNzPSJ4X3Byb3Rvbm1haWxfc2lnbmF0dXJlX2Jsb2NrLXVzZXIiPg0KPGRpdj5Kb25h dGhhbiBWYXNxdWV6PGJyPg0KPC9kaXY+DQo8ZGl2PlBHUDogMzREQSA4NThDIDE0NDcgNTA5RSBD NzdBIEQ0OUYgRkI4NSA5MEI3IEM0Q0EgNTI3OTxicj4NCjwvZGl2Pg0KPGRpdj5TZW50IHdpdGgg UHJvdG9uTWFpbCBTZWN1cmUgRW1haWw8YnI+DQo8L2Rpdj4NCjxkaXY+PGJyPg0KPC9kaXY+DQo8 L2Rpdj4NCjxkaXYgY2xhc3M9InhfcHJvdG9ubWFpbF9zaWduYXR1cmVfYmxvY2stcHJvdG9uIHhf cHJvdG9ubWFpbF9zaWduYXR1cmVfYmxvY2stZW1wdHkiPg0KPC9kaXY+DQo8L2Rpdj4NCjxkaXYg c3R5bGU9ImZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxNHB4Ij48 YnI+DQo8L2Rpdj4NCjxkaXYgY2xhc3M9InhfcHJvdG9ubWFpbF9xdW90ZSI+T24gTW9uZGF5LCBB dWd1c3QgMjV0aCwgMjAyNSBhdCAxMTowNSwgSm9uYXRoYW4gVmFzcXVleiAmbHQ7am9uQHh5aW5u Lm9yZyZndDsgd3JvdGU6PGJyPg0KPGJsb2NrcXVvdGUgY2xhc3M9InhfcHJvdG9ubWFpbF9xdW90 ZSIgdHlwZT0iY2l0ZSI+DQo8ZGl2IHN0eWxlPSJmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2Vy aWY7IGZvbnQtc2l6ZTogMTRweCI+VW5mb3J0dW5hdGVseSBJIGRvbid0IGhhdmUgYW4gaW50ZWwg bWFjaGluZSB3aXRoIGFuIGF2YWlsYWJsZSBQQ0llIHNsb3QuIEhvd2V2ZXIgSSdtIHRyeWluZyBh bm90aGVyIHRoaW5nIHdoaWNoIGlzIHRvIHBhc3N0aHJvdWdoIHRoZSBjYXJkIHRvIGEgTGludXgg Z3Vlc3QuIEkgbmVlZCB0byBydW4gbW9yZSBleHBlcmltZW50cyBidXQgYSBwcmVsaW1pbmFyeQ0K IGJvb3Qgb2YgYSBMaW51eCBNaW50IElTTyBkaWQgc2hvdyB0aGUgQU1EIFJhZGVvbiBSWCA2OTAw IFhUIGNhcmQgaW4gPGNvZGU+bHNwY2k8L2NvZGU+4oCLIGFuZCBzaG93ZWQgdGhhdCBpdCB3YXMg dXNpbmcgdGhlDQo8Y29kZT5hbWRncHU8L2NvZGU+4oCLIGRyaXZlci4gSSB0aGVuIGRpZCBhIGJh c2ljIDxjb2RlPmdseGdlYXJzPC9jb2RlPuKAiyBhbmQgaXQgb3BlbmVkIHVwIGluIG15IFZOQyB3 aW5kb3cgYW5kIHNob3dlZCB0aGUgRlBTIGNvdW50ZXIgYXQgb3ZlciAyMDAwIGZwcy4gVGhlIG9u bHkgaXNzdWUgSSBub3RpY2VkIHdhcyB3aGVuIHNodXR0aW5nIGRvd24gdGhlIGxpdmUgQ0QgZW52 aXJvbm1lbnQgdGhlcmUgd2VyZQ0KPGNvZGU+YW1kZ3B1PC9jb2RlPuKAiyBmYWlsdXJlIG1lc3Nh Z2VzIHdoZXJlIGl0IHdhcyBmYWlsaW5nIHRvIHdyaXRlIHNvbWV0aGluZyB0byBpdC4gSSdtIGN1 cnJlbnRseSByZWRvaW5nIG15ICJiYXNpYyBiaHl2ZSBzY3JpcHQiIGFuZCBtb3ZpbmcgaXQgb3Zl ciB0byAidm0tYmh5dmUiIHNpbmNlIGl0IHNlZW1zIGEgbG90IG9mIHBlb3BsZSBhcmUgdXNpbmcg dGhhdCBpbnN0ZWFkIG9mIHRoZSBtb3JlIG1hbnVhbCBhcHByb2FjaC4gVGhpcyBzaG91bGQNCiBo b3BlZnVsbHkgaGVscCBzaW1wbGlmeSB0aGluZ3MgZm9yIGRlYnVnZ2luZy4gSWYgdGhlIGNhcmQg d29ya3Mgb24gTGludXggdmlhIHBhc3N0aHJvdWdoIHRoaXMgd291bGQgYWxzbyBiZSB1c2VmdWwg aW5mbyBhbmQgY2FuIGFsbG93IG1lIHRvIHNlZSB0aGUgcGVyZm9ybWFuY2Ugb2YgQ3lwZXJwdW5r IDIwNzcsIGFuZCBzb21lIG90aGVyIGdhbWVzIChldmVuIGlmIEknbSBub3QgZ2V0dGluZyAxMDAl IG9mIHRoZSBjYXJkJ3MgcGVyZm9ybWFuY2UpLjwvZGl2Pg0KPGRpdiBzdHlsZT0iZm9udC1mYW1p bHk6IEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE0cHgiPjxicj4NCjwvZGl2Pg0KPGRp diBjbGFzcz0ieF9wcm90b25tYWlsX3NpZ25hdHVyZV9ibG9jayIgc3R5bGU9ImZvbnQtZmFtaWx5 OiBBcmlhbCwgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxNHB4Ij4NCjxkaXYgY2xhc3M9InhfcHJv dG9ubWFpbF9zaWduYXR1cmVfYmxvY2stdXNlciI+DQo8ZGl2PkpvbmF0aGFuIFZhc3F1ZXo8YnI+ DQo8L2Rpdj4NCjxkaXY+UEdQOiAzNERBIDg1OEMgMTQ0NyA1MDlFIEM3N0EgRDQ5RiBGQjg1IDkw QjcgQzRDQSA1Mjc5PGJyPg0KPC9kaXY+DQo8ZGl2PlNlbnQgd2l0aCBQcm90b25NYWlsIFNlY3Vy ZSBFbWFpbDxicj4NCjwvZGl2Pg0KPGRpdj48YnI+DQo8L2Rpdj4NCjwvZGl2Pg0KPGRpdiBjbGFz cz0ieF9wcm90b25tYWlsX3NpZ25hdHVyZV9ibG9jay1wcm90b24geF9wcm90b25tYWlsX3NpZ25h dHVyZV9ibG9jay1lbXB0eSI+DQo8L2Rpdj4NCjwvZGl2Pg0KPGRpdiBzdHlsZT0iZm9udC1mYW1p bHk6IEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE0cHgiPjxicj4NCjwvZGl2Pg0KPGRp diBjbGFzcz0ieF9wcm90b25tYWlsX3F1b3RlIj5PbiBNb25kYXksIEF1Z3VzdCAyNXRoLCAyMDI1 IGF0IDExOjAwLCBTdGVwaGFuIEFsdGhhdXMgJmx0O1N0ZXBoYW4uQWx0aGF1c0BEdWVkaW5naGF1 c2VuLmV1Jmd0OyB3cm90ZTo8YnI+DQo8YmxvY2txdW90ZSBjbGFzcz0ieF9wcm90b25tYWlsX3F1 b3RlIiB0eXBlPSJjaXRlIj4NCjxkaXYgY2xhc3M9InhfbW96LWNpdGUtcHJlZml4Ij5PbiA4LzI1 LzI1IDE2OjU2LCBKb25hdGhhbiBWYXNxdWV6IHdyb3RlOjxicj4NCjwvZGl2Pg0KPGJsb2NrcXVv dGUgdHlwZT0iY2l0ZSI+DQo8ZGl2IHN0eWxlPSJmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2Vy aWY7IGZvbnQtc2l6ZTogMTRweCI+SGV5IFN0ZXBoYW4sPC9kaXY+DQo8ZGl2IHN0eWxlPSJmb250 LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTRweCI+PGJyPg0KPC9kaXY+ DQo8ZGl2IHN0eWxlPSJmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTog MTRweCI+WXVwLCBJJ3ZlIHRyaWVkIHBhc3NpbmcgYm90aCAzLzAvMCBhbmQgMy8wLzEgYW5kIG5v IGdvLCBhbmQgSSBhbHNvIG1ha2Ugc3VyZSB0byByZWJvb3QgdGhlIGhvc3QgaW4gYmV0d2VlbiBy dW5zIGR1ZSB0byB0aGUgYW1kIGhhcmR3YXJlIGlzc3VlLiBJIGRvbid0IGJlbGlldmUgMy8wLzEg aXMgbmVjZXNzYXJ5IHRob3VnaCBiYXNlZCBvbiB0aGUgZXhhbXBsZXMNCiBieSBDb3J2aW4gaW4g aGlzIHRhbGsuIEhlIG9ubHkgcGFzc2VkIGluIDMvMC8wIChJJ20gZ3Vlc3NpbmcgaGlzIGNhcmQg YWxzbyBoYXMgYSAzLzAvMSBmdW5jdGlvbiB0aGF0IGhlIGlzbid0IHVzaW5nIHNpbmNlIHRoYXQn cyB0aGUgYXVkaW8gY2hhbm5lbCkuPC9kaXY+DQo8ZGl2IHN0eWxlPSJmb250LWZhbWlseTogQXJp YWwsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTRweCI+PGJyPg0KPC9kaXY+DQo8ZGl2IGNsYXNz PSJ4X3Byb3Rvbm1haWxfc2lnbmF0dXJlX2Jsb2NrIiBzdHlsZT0iZm9udC1mYW1pbHk6IEFyaWFs LCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE0cHgiPg0KPGRpdiBjbGFzcz0ieF9wcm90b25tYWls X3NpZ25hdHVyZV9ibG9jay11c2VyIj4NCjxkaXY+Sm9uYXRoYW4gVmFzcXVlejxicj4NCjwvZGl2 Pg0KPGRpdj5QR1A6IDM0REEgODU4QyAxNDQ3IDUwOUUgQzc3QSBENDlGIEZCODUgOTBCNyBDNENB IDUyNzk8YnI+DQo8L2Rpdj4NCjxkaXY+U2VudCB3aXRoIFByb3Rvbk1haWwgU2VjdXJlIEVtYWls PGJyPg0KPC9kaXY+DQo8ZGl2Pjxicj4NCjwvZGl2Pg0KPC9kaXY+DQo8ZGl2IGNsYXNzPSJ4X3By b3Rvbm1haWxfc2lnbmF0dXJlX2Jsb2NrLXByb3RvbiB4X3Byb3Rvbm1haWxfc2lnbmF0dXJlX2Js b2NrLWVtcHR5Ij4NCjwvZGl2Pg0KPC9kaXY+DQo8ZGl2IHN0eWxlPSJmb250LWZhbWlseTogQXJp YWwsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTRweCI+PGJyPg0KPC9kaXY+DQo8ZGl2IGNsYXNz PSJ4X3Byb3Rvbm1haWxfcXVvdGUiPk9uIE1vbmRheSwgQXVndXN0IDI1dGgsIDIwMjUgYXQgMTA6 NTIsIFN0ZXBoYW4gQWx0aGF1cw0KPGEgY2xhc3M9InhfbW96LXR4dC1saW5rLXJmYzIzOTZFIiBy ZWw9Im5vcmVmZXJyZXIiPg0KJmx0O1N0ZXBoYW4uQWx0aGF1c0BEdWVkaW5naGF1c2VuLmV1Jmd0 OzwvYT4gd3JvdGU6PGJyPg0KPGJsb2NrcXVvdGUgY2xhc3M9InhfcHJvdG9ubWFpbF9xdW90ZSIg dHlwZT0iY2l0ZSI+DQo8ZGl2IGNsYXNzPSJ4X21vei1jaXRlLXByZWZpeCI+T24gOC8yNS8yNSAx Njo0NywgU3RlcGhhbiBBbHRoYXVzIHdyb3RlOjxicj4NCjwvZGl2Pg0KPGJsb2NrcXVvdGUgdHlw ZT0iY2l0ZSI+DQo8ZGl2IGNsYXNzPSJ4X21vei1jaXRlLXByZWZpeCI+T24gOC8yNC8yNSAyMzo1 OCwgSm9uYXRoYW4gVmFzcXVleiB3cm90ZTo8YnI+DQo8L2Rpdj4NCjxibG9ja3F1b3RlIHR5cGU9 ImNpdGUiPg0KPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmOyBmb250 LXNpemU6IDE0cHgiPjxzcGFuPkhleSBhbGwsPC9zcGFuPjwvZGl2Pg0KPGRpdiBzdHlsZT0iZm9u dC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE0cHgiPjxzcGFuPjxicj4N Cjwvc3Bhbj48L2Rpdj4NCjxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJp ZjsgZm9udC1zaXplOiAxNHB4Ij48c3Bhbj5JJ3ZlIGJlZW4gZXhwZXJpbWVudGluZyB3aXRoIHRy eWluZyB0byBnZXQgbXkgc2VydmVyJ3MgZGVkaWNhdGVkIEFNRCBSYWRlb24gUlggNjkwMCBYVCB3 b3JraW5nIG9uIGEgYmh5dmUgV2luZG93cyAxMCBQcm8gY2xpZW50IGZvciBnYW1pbmcgcHVycG9z ZXMuIEkndmUgYmVlbiByZWFkaW5nIGEgYnVuY2ggb2YgYmxvZyBwb3N0cywgc2l0ZXMsDQogZmls ZXMsIGFuZCB2aWRlb3MgKHRoYW5rcyBDb3J2aW4pIHRvIHRyeSBhbmQgcGllY2UgdGhpbmdzIHRv Z2V0aGVyLiBJJ3ZlIGJlZW4gYWJsZSB0byBnZXQgdGhlIFZNIHRvIHJlY29nbml6ZSB0aGUgY2Fy ZCwgYnV0IHN0aWxsIHN0dWNrIG9uIHRoZSBDb2RlIDQzIGlzc3VlICh3aXRoIG9yIHdpdGhvdXQg dXNpbmcgdGhlIHZCSU9TIEkndmUgZXh0cmFjdGVkIGZyb20gbXkgZGVkaWNhdGVkIGNhcmQgYW5k IGFsc28gZW5zdXJpbmcgYW55IG9wdGlvbnMNCiBuZWVkZWQgdG8gYmUgb24gaW4gdGhlIFVFRkkg c2V0dGluZ3MgYXJlIGVuYWJsZWQpLiBUaGlzIG1hY2hpbmUgaXMgcnVubmluZyBvbiBhbiBBTUQg Unl6ZW4gOSA3OTUwWCAxNi1Db3JlIFByb2Nlc3Nvciwgc28gaXQncyBhIGZ1bGwgQU1EIHNldHVw LCBubyBJbnRlbCBzdHVmZi4gSXQgdGVjaG5pY2FsbHkgc2hvdWxkIGJlIHJlbGF0aXZlbHkgImVh c3kiIHRvIGdldCBBTUQgd29ya2luZyBmcm9tIHdoYXQgSSd2ZSByZWFkIChleGNsdWRpbmcgdGhl DQoga25vd24gQU1EIEhhcmR3YXJlIHJlc2V0IGlzc3VlKS4gSSd2ZSBkb2N1bWVudGVkIGV2ZXJ5 dGhpbmcgSSd2ZSBkb25lIHNvIGZhciwgYW5kIHdpbGwgYmUgZG9jdW1lbnRpbmcgbW9yZSBhbmQg c2ltcGxpZnlpbmcgdGhlIGluc3RydWN0aW9ucyBhcyBJIG1ha2UgcHJvZ3Jlc3MuIFBsZWFzZSBs ZXQgbWUga25vdyBpZiB5b3Ugc2VlIGFueSB0aGluZyB3ZWlyZCBvciBhbnl0aGluZyBJIGNvdWxk IHRyeSBiYXNlZCBvbiB3aGF0IEkndmUgcmV3cml0dGVuLg0KIEknbGwgdHJ5IHRvIGdpdmUgaXQg YSBnbyBhbmQgcHJvdmlkZSBmZWVkYmFjay4gVGhhbmsgeW91ITwvc3Bhbj48L2Rpdj4NCjxkaXYg c3R5bGU9ImZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxNHB4Ij48 c3Bhbj48YnI+DQo8L3NwYW4+PC9kaXY+DQo8ZGl2IHN0eWxlPSJmb250LWZhbWlseTogQXJpYWws IHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTRweCI+PHNwYW4+PGEgdGFyZ2V0PSJfYmxhbmsiIHJl bD0ibm9yZWZlcnJlciIgaHJlZj0iaHR0cHM6Ly94eWlubi5vcmcvYmxvZy9mcmVlYnNkL2ZyZWVi c2RfYmh5dmVfZ3B1X3Bhc3N0aHJvdWdoX2FtZCIgY2xhc3M9InhfbW96LXR4dC1saW5rLWZyZWV0 ZXh0Ij5odHRwczovL3h5aW5uLm9yZy9ibG9nL2ZyZWVic2QvZnJlZWJzZF9iaHl2ZV9ncHVfcGFz c3Rocm91Z2hfYW1kPC9hPjwvc3Bhbj48YnI+DQo8L2Rpdj4NCjxkaXYgc3R5bGU9ImZvbnQtZmFt aWx5OiBBcmlhbCwgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxNHB4Ij48YnI+DQo8L2Rpdj4NCjxk aXYgY2xhc3M9InhfcHJvdG9ubWFpbF9zaWduYXR1cmVfYmxvY2siIHN0eWxlPSJmb250LWZhbWls eTogQXJpYWwsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTRweCI+DQo8ZGl2IGNsYXNzPSJ4X3By b3Rvbm1haWxfc2lnbmF0dXJlX2Jsb2NrLXVzZXIiPg0KPGRpdj5Kb25hdGhhbiBWYXNxdWV6PGJy Pg0KPC9kaXY+DQo8ZGl2PlBHUDogMzREQSA4NThDIDE0NDcgNTA5RSBDNzdBIEQ0OUYgRkI4NSA5 MEI3IEM0Q0EgNTI3OTxicj4NCjwvZGl2Pg0KPGRpdj5TZW50IHdpdGggUHJvdG9uTWFpbCBTZWN1 cmUgRW1haWw8YnI+DQo8L2Rpdj4NCjxkaXY+PGJyPg0KPC9kaXY+DQo8L2Rpdj4NCjxkaXYgY2xh c3M9InhfcHJvdG9ubWFpbF9zaWduYXR1cmVfYmxvY2stcHJvdG9uIHhfcHJvdG9ubWFpbF9zaWdu YXR1cmVfYmxvY2stZW1wdHkiPg0KPC9kaXY+DQo8L2Rpdj4NCjwvYmxvY2txdW90ZT4NCjxwPkhp ITwvcD4NCjxwPmkgaGF2ZSBhIEFNRCBSWDY0MDAgR1BVIHNldHVwIHJ1bm5pbmcgb24gMTQuMiB3 aXRoIHdpbjEwIGd1ZXN0LCBob3N0IGlzIGEgaW50ZWwgc3lzdGVtLjwvcD4NCjxwPmkgdGhpbmsg eW91IGhhdmUgdG8gcGFzc3Rocm91Z2ggdGhlIDMvMC8xIGRldmljZSBhcyB3ZWxsITwvcD4NCjxw PlRoZSBiaW9zLnJvbSBpcyBleHRyYWN0ZWQgZnJvbSB0aGlzIGNhcmQgaW4gcGxhY2UgPzwvcD4N CjxwPjxicj4NCjwvcD4NCjxwPlJlZ2FyZHMsPGJyPg0KU3RlcGhhbjwvcD4NCjxwPjxicj4NCjwv cD4NCjwvYmxvY2txdW90ZT4NCjxwPkFoLCBhbmQgYmUgc2h1cmUgdG8gcmVib290IHRoZSB3aG9s ZSBzZXR1cCwgaW5jbHVzaXZlIGhvc3QsIGZvciBldmVyeSBuZXcgdGVzdC1jYXNlLA0KPGJyPg0K YXQgbGVhc3QgYXMgbG9uZyBhdCBpcyBub3QgZ3VhcmFudGVlZCB0aGF0IHdlIGNhbiBsaXZlIHdp dGhvdXQuLjwvcD4NCjxwPlJlZ2Fycyw8YnI+DQpTdGVwaGFuPC9wPg0KPHA+PGJyPg0KPC9wPg0K PC9ibG9ja3F1b3RlPg0KPGJyPg0KPC9kaXY+DQo8L2Jsb2NrcXVvdGU+DQo8cD5IaSE8L3A+DQo8 cD5NeSBvbmx5IG5leHQgYXNzdW1wdGlvbiB3b3VsZCBiZSB0aGF0IHRoaXMgb25seSBkb2VzIG5v dCB3b3JrIG9uIEFNRCBob3N0LjwvcD4NCjxwPllvdSBkb24ndCBoYXZlIGFuIGludGVsIHN5c3Rl bSB0byB0ZXN0LCB5b3Ugd291bGQgaGF2ZWRvbmUgaXQsIGlmIHNvLi4gKD8pPC9wPg0KPHA+U3Rl cGhhbjwvcD4NCjxwPjxicj4NCjwvcD4NCjwvYmxvY2txdW90ZT4NCjxicj4NCjwvZGl2Pg0KPC9i bG9ja3F1b3RlPg0KPGJyPg0KPC9kaXY+DQo8L2Rpdj4NCg0KDQoNCiAgICAgICAgPC9ibG9ja3F1 b3RlPjxicj4NCiAgICA8L2Rpdj4NCiAgICAgICAgPC9ibG9ja3F1b3RlPjxicj4NCiAgICA8L2Rp dj48L2Jsb2NrcXVvdGU+PC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2PjwvYm9keT48 L2h0bWw+ --b1=_88d9XfS3mYXIsvBLfRBAq35qbBvF0bjogE8pKzEJzo-- From nobody Sun Aug 31 14:18:19 2025 X-Original-To: virtualization@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cFDd05wCrz65vQS for ; Sun, 31 Aug 2025 14:18:28 +0000 (UTC) (envelope-from jon@xyinn.org) Received: from mail-10627.protonmail.ch (mail-10627.protonmail.ch [79.135.106.27]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "protonmail.com", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cFDcy1M6jz45nm for ; Sun, 31 Aug 2025 14:18:25 +0000 (UTC) (envelope-from jon@xyinn.org) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=xyinn.org header.s=protonmail3 header.b=hng8Hs9g; dmarc=pass (policy=none) header.from=xyinn.org; spf=pass (mx1.freebsd.org: domain of jon@xyinn.org designates 79.135.106.27 as permitted sender) smtp.mailfrom=jon@xyinn.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=xyinn.org; s=protonmail3; t=1756649902; x=1756909102; bh=4N3VmxB7tN5dc3My8e7aIgPGJj33R+Ln+oOEkd476SU=; h=Date:To:From:Subject:Message-ID:In-Reply-To:References: Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID: Message-ID:BIMI-Selector; b=hng8Hs9gylRJMLgmmrg3Xy6wrwLAT3b4Pa4KjzRoHcyyR2LtifiVuVWsnb6/Zg4rO fb4Bt72jAjlLA2VqhIdBu391OzfY+dx/Ra3lZZ2OA6JTC7AAUx0CWjlAivWT37WKks 58feaI5oGVM7xb7GTzuQdDmDm48qFAFMnpDXvN5ML5ZDhiVvHbTYptH6BL+Yj1uWK1 OsI3RV89PIl6+CLFNU4CfkikLJDTral8P0oswe1pjW4k/aQy8IEFcQFyOcBNCNDUEP 2JCZSXii679gGB5DqJ/iMwD6iGvdEGaY1VLRT8gK4s9C+oMJaibrDN+W1mDwNpnRtA 9fcoOpr57kYkw== Date: Sun, 31 Aug 2025 14:18:19 +0000 To: "virtualization@freebsd.org" From: Jonathan Vasquez Subject: Re: GPU Passthrough on FreeBSD 14.3 (AMD Radeon RX 6900 XT and Windows 10 Pro) Message-ID: In-Reply-To: <09-JQGKdIKMMp4u22KT_U_n7lXzFRKrK3mODyLvhee7a7pYyagqdi1mbgVTeq5QIe_ZrbGfkM4I03ocsBCj6ogh04hKyCcDdY65EtlrysuI=@xyinn.org> References: =?us-ascii?Q?<6CV-OY6BcErrWRit9jSpi6fWsYBG3E=5FZ3u6eTLPcz6foPAZV1gQpZYaZTR7JA=5F1ot5RQVqrWQaLxJFySXjspIhSbBJGxmckcDQyzxhALNus=3D@xyinn.org>__<8e7f6904-8188-4941-827b-c874d5da586d@Duedinghausen.eu>______<09-JQGKdIKMMp4u22KT=5FU=5Fn7lXzFRKrK3mODyLvhee7a7pYyagqdi1mbgVTeq5QIe=5FZrbGfkM4I03ocsBCj6ogh0?= =?us-ascii?Q?4hKyCcDdY65EtlrysuI=3D@xyinn.org>?= Feedback-ID: 12351801:user:proton X-Pm-Message-ID: 56dc29bc2357a928ff7663bbfb5f3ab5ebcc1856 List-Id: Discussion List-Archive: https://lists.freebsd.org/archives/freebsd-virtualization List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: freebsd-virtualization@freebsd.org Sender: owner-freebsd-virtualization@FreeBSD.org MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="b1=_SqazFyrIdMkNAFJnPiDeJHH64ewp5o7xiMiPqEG8Q" X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.29 / 15.00]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_SHORT(-0.99)[-0.986]; DMARC_POLICY_ALLOW(-0.50)[xyinn.org,none]; RWL_MAILSPIKE_EXCELLENT(-0.40)[79.135.106.27:from]; R_DKIM_ALLOW(-0.20)[xyinn.org:s=protonmail3]; R_SPF_ALLOW(-0.20)[+ip4:79.135.106.0/24]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; MIME_BASE64_TEXT(0.10)[]; ARC_NA(0.00)[]; RCPT_COUNT_ONE(0.00)[1]; ASN(0.00)[asn:62371, ipnet:79.135.106.0/24, country:CH]; FREEFALL_USER(0.00)[jon]; MIME_TRACE(0.00)[0:+,1:+,2:~]; MISSING_XM_UA(0.00)[]; RCVD_COUNT_ZERO(0.00)[0]; MID_RHS_MATCH_FROM(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; FROM_HAS_DN(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[79.135.106.27:from]; TO_DN_EQ_ADDR_ALL(0.00)[]; MLMMJ_DEST(0.00)[virtualization@freebsd.org]; TO_MATCH_ENVRCPT_ALL(0.00)[]; DKIM_TRACE(0.00)[xyinn.org:+] X-Rspamd-Queue-Id: 4cFDcy1M6jz45nm --b1=_SqazFyrIdMkNAFJnPiDeJHH64ewp5o7xiMiPqEG8Q Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: base64 SSBhZGRlZCBhIGZldyBtb3JlIHNjcmVlbnNob3RzIGZyb20gR1BVLVogcnVubmluZyBpbnNpZGUg b2YgdGhlIFZNLCBhbmQgc29tZSBvdGhlciBkZXRhaWxzLiBJbnRlcmVzdGluZ2x5IGVub3VnaCwg SSB3YXMgYWJsZSB0byBkdW1wIHRoZSBWQklPUyBmcm9tIGluc2lkZSB0aGUgVk0gYW5kIHRoZSBo YXNoZXMgb2YgdGhlIGR1bXBlZCBWQklPUyBtYXRjaGVzIHRoZSBoYXNoIGFuZCB0aGUgZmlsZSBz aXplIG9mIHRoZSBhbWR2YmZsYXNoIHZlcnNpb24gdGhhdCBJIG9yaWdpbmFsbHkgZHVtcGVkIGZy b20gTGludXggcnVubmluZyBvbiB0aGlzIG1hY2hpbmUgaW4gYmFyZSBtZXRhbC4uIHNvIHRoYXQg bWVhbnMgaXQgaXMgcG9zc2libGUgdG8gZHVtcCB0aGUgVkJJT1MgZnJvbSB3aXRoaW4gdGhlIGJo eXZlIFZNIGFmdGVyIHlvdSBwYXNzIHRoZSBkZXZpY2UgdGhyb3VnaC4gSSBoYXZlbid0IHRyaWVk IHRoaXMgYnV0IGl0IHNlZW1zIHRoYXQgeW91IHNob3VsZCBhbHNvIGJlIGFibGUgdG8gZHVtcCB0 aGUgVkJJT1MgZnJvbSBHUFUtWiBldmVuIHdpdGhvdXQgdGhlIEFNRCBBZHJlbmFsaW5lIGRyaXZl cnMgYmVpbmcgaW5zdGFsbGVkIHNpbmNlIEdQVS1aIHN0aWxsIGRldGVjdGVkIHRoZSBjYXJkIGFu ZCBzdGlsbCBzaG93ZWQgdGhlIG9wdGlvbiB0byBkdW1wIHRoZSBWQklPUy4gSSBvbmx5IGR1bXBl ZCBpdCB3aXRoIHRoZSBBTUQgQWRyZW5hbGluZSBkcml2ZXJzIGluc3RhbGxlZC4KClNIQTE6IGFt ZHZiZmxhc2ggRXh0cmFjdGVkIFJPTTogNTE3ZTA5ZDdhYzZiZTVkYTBiMGZhYzdkMDlmNzgyYTNj OTQ5NDM0MwpGaWxlIFNpemU6IDEuME0KClNIQTE6IEdQVS1aIEV4dHJhY3RlZCBST006IDUxN2Uw OWQ3YWM2YmU1ZGEwYjBmYWM3ZDA5Zjc4MmEzYzk0OTQzNDMKRmlsZSBTaXplOiAxLjBNCgpTSEEx OiBEaXJlY3QgTGludXggRXh0cmFjdGVkIFJPTTogYWJiZGZkMTFjMjQ2ZjU3MDgzOWZhN2FkNzgx ODZkY2IxMjQwODU5NUZpbGUgU2l6ZTogMTE5SwoKSm9uYXRoYW4gVmFzcXVlegpQR1A6IDM0REEg ODU4QyAxNDQ3IDUwOUUgQzc3QSBENDlGIEZCODUgOTBCNyBDNENBIDUyNzkKU2VudCB3aXRoIFBy b3Rvbk1haWwgU2VjdXJlIEVtYWlsCgpPbiBTdW5kYXksIEF1Z3VzdCAzMXN0LCAyMDI1IGF0IDA4 OjAwLCBKb25hdGhhbiBWYXNxdWV6IDxqb25AeHlpbm4ub3JnPiB3cm90ZToKCj4gVGhhbmtzIGZv ciB0aGF0IGluZm8gU3RlcGhhbi4gWXVwIGl0J3MgYW4gVUVGSSBpbnN0YWxsIHNpbmNlIEknbSB1 c2luZyB0aGUgZm9sbG93aW5nIGxpbmUgaW4gbXkgYmh5dmUgc2NyaXB0Ogo+Cj4gLWwgYm9vdHJv bSwvdXNyL2xvY2FsL3NoYXJlL3VlZmktZmlybXdhcmUvQkhZVkVfVUVGSS5mZCxmd2NmZz1xZW11 Cj4KPiBBbmQgeWVhIGl0IG1heSBiZSBwb3NzaWJsZSBzb21ldGhpbmcgaXMgZ29pbmcgb24gd2l0 aCBBTUQgQ1BVIGhvc3RzLi4uCj4KPiBKb25hdGhhbiBWYXNxdWV6Cj4gUEdQOiAzNERBIDg1OEMg MTQ0NyA1MDlFIEM3N0EgRDQ5RiBGQjg1IDkwQjcgQzRDQSA1Mjc5Cj4gU2VudCB3aXRoIFByb3Rv bk1haWwgU2VjdXJlIEVtYWlsCj4KPiBTZW50IHdpdGggW1Byb3RvbiBNYWlsXShodHRwczovL3By b3Rvbi5tZS9tYWlsL2hvbWUpIHNlY3VyZSBlbWFpbC4KPgo+IC0tLS0tLS0tIE9yaWdpbmFsIE1l c3NhZ2UgLS0tLS0tLS0KPiBPbiBTYXR1cmRheSwgMDgvMzAvMjUgYXQgMjA6MTEgSm9uYXRoYW4g VmFzcXVleiA8am9uQHh5aW5uLm9yZz4gd3JvdGU6Cj4KPj4gSGV5IGFsbCwKPj4KPj4gSSd2ZSB1 cGRhdGVkIG15IGJsb2cgcG9zdCB3aXRoIG1vcmUgaW5mb3JtYXRpb24gYW5kIHNvbWUgdXNlZnVs IHNjcmVlbnNob3RzOiBodHRwczovL3h5aW5uLm9yZy9ibG9nL2ZyZWVic2QvZnJlZWJzZF9iaHl2 ZV9ncHVfcGFzc3Rocm91Z2hfYW1kCj4+Cj4+IFRoZSBpbXBvcnRhbnQgc3R1ZmYgdG8gbWVudGlv biBpcyB0aGF0IEkndmUgYWxzbyBnb3R0ZW4gYSBjaGFuY2UgdG8gcGxheSB3aXRoIHZtLWJoeXZl LCBidXQgZm9yIHRoZSBwdXJwb3NlcyBvZiBtYWtpbmcgc3VyZSB3ZSBnZXQgYXMgY2xlYXIgaW5m b3JtYXRpb24gYXMgcG9zc2libGUgd2l0aG91dCBoYXZpbmcgdG8gdW53cmFwIHRoZSB2bS1iaHl2 ZSBzY3JpcHRzLCBJJ2xsIGNvbnRpbnVlIHRvIHVzZSBiaHl2ZSBkaXJlY3RseS4gV2l0aCB0aGF0 IHNhaWQsIHNvbWUgdXNlZnVsIGluZm86Cj4+Cj4+IC0gVGhlIHZCSU9TIGlzIG5vdCByZXF1aXJl ZCB3aGVuIHJ1bm5pbmcgb24gV2luZG93cyBhcyBtZW50aW9uZWQgYnkgQ29ydmluIGhlcmU6IGh0 dHBzOi8vbGlzdHMuZnJlZWJzZC5vcmcvYXJjaGl2ZXMvZnJlZWJzZC12aXJ0dWFsaXphdGlvbi8y MDIyLUp1bmUvMDAwNzk3Lmh0bWwsIHRodXMgSSd2ZSBzdG9wcGVkIHVzaW5nIGl0LiBJIHdhcyBo b3dldmVyIGFsc28gYWJsZSB0byBzdWNjZXNzZnVsbHkgdXNlIGhpcyAiZWNobyAxIC4uLiIgcmVj b21tZW5kYXRpb24gdG8gZHVtcCB0aGUgYmlvcyBmcm9tIHdpdGhpbiBMaW51eCAoRmVkb3JhIDQy KS4gSSBhY3R1YWxseSBmYWlsZWQgdG8gZXh0cmFjdCB0aGUgYmlvcyBiZWZvcmUgKHdpdGhvdXQg dXNpbmcgYW1kdmJmbGFzaCkgYmVjYXVzZSBtb3N0IGxpa2VseSBteSBMaW51eCBNaW50IDIyLjEn cyBLZXJuZWwgd2FzIHRvbyBvbGQgdG8gZXh0cmFjdCB0aGUgUk9NLiBXaGVuIEkgdHJpZWQgdG8g ZG8gdGhlIHNhbWUgZXhhY3QgdGhpbmcgdG9kYXkgd2l0aCBGZWRvcmEgNDIsIGl0IHdvcmtlZCwg YW5kIEkgd2FzIGFibGUgdG8gc2VlIHRoZSAicm9tIiBmaWxlIGZyb20gRmVkb3JhIDQyLCBidXQg bm90IGZyb20gTGludXggTWludCAyMi4xLgo+PiAtIEkgd2FzIGFibGUgdG8gZ2V0IHRoZSBHUFUg dG8gbG9hZCB3aXRob3V0IGEgQ29kZSA0MyBlcnJvci4gQnV0IGl0J3Mgc3RpbGwgdW51c2FibGUu IEkgd2FzIGFjdHVhbGx5IGFibGUgdG8gZ2V0IHRvIHRoaXMgc3RhdGUgYmVmb3JlIGJ1dCBpdCB3 YXMgaW5jb25zaXN0ZW50LiBUaHJvdWdoIG1vcmUgcmVzZWFyY2ggSSB3YXMgYWJsZSB0byBnZXQg aXQgdG8gYmUgcmVwcm9kdWNpYmxlLiBUaGVyZSBhcmUgYSBmZXcgdGhpbmdzIHRvIG1lbnRpb24g aGVyZToKPj4KPj4gLSBUaGUgY2FyZCB3aWxsIGFsd2F5cyBzdGFydCBpbiBhIENvZGUgNDMgZmFp bGVkIHN0YXRlIHJlZ2FyZGxlc3Mgb2Ygd2hhdCBJIG1lbnRpb24gYmVsb3cgKGluY2x1ZGluZyBp ZiBJIHJlYm9vdCB0aGUgaG9zdCkuCj4+IC0gSWYgeW91IHVzZSBSRFAsIHRoZSBjYXJkIHdpbGwg YWx3YXlzIGJlIGluIGEgQ29kZSA0MyBzdGF0ZS4KPj4gLSBJZiBJIHVzZSBWTkMsIHRoZSBjYXJk IHdpbGwgc3RhcnQgaW4gYSBmYWlsZWQgc3RhdGUgKGFzIG1lbnRpb25lZCBhYm92ZSksIEhPV0VW RVIsIHlvdSB3aWxsIGJlIGFibGUgdG8gZ28gaW50byB0aGUgRGV2aWNlIE1hbmFnZXIsIERpc2Fi bGUgdGhlIGNhcmQsIGFuZCB0aGVuIEVuYWJsZSB0aGUgY2FyZCwgYW5kIGl0IHdpbGwgYmUgZW5h YmxlZCBzdWNjZXNzZnVsbHkgYXMgeW91IGNhbiBzZWUgaW4gbXkgc2NyZWVuc2hvdHMuIFRoZSBP UyB3aWxsIGFsc28gZ2l2ZSBpdCByZXNvdXJjZXMgZnJvbSB3aGF0IHdlIGNhbiBzZWUgaW4gdGhl IERldmljZSdzIFByb3BlcnRpZXMnIFJlc291cmNlcyBUYWIuCj4+Cj4+IEdpdmVuIHdoYXQgSSBt ZW50aW9uZWQgYWJvdmUsIEkgd291bGQgcmVjb21tZW5kIChhcyBzb21lIG90aGVyIHBlb3BsZSBy ZWNvbW1lbmRlZCBpbiBvdGhlciBsaW5rcyBJJ3ZlIGZvdW5kKSwgdG8gZGlzYWJsZSB0aGUgY2Fy ZCBpbiB0aGUgVk0gYmVmb3JlIHlvdSBzaHV0IGl0IGRvd24sIGFuZCB0aGVuIGVuYWJsZSBpdCBm cm9tIGluc2lkZSBvZiBXaW5kb3dzIHdoZW4geW91IHR1cm4gaXQgYmFjayBvbi4gQWx0aG91Z2gg SSBkb24ndCBrbm93IGhvdyBuZWNlc3NhcnkgdGhpcyBpcyBnaXZlbiB0aGF0IGlmIEkgdXNlIFZO QywgZXZlbiBpZiBpdCBzdGFydHMgb2ZmIGluIGEgZmFpbGVkIHN0YXRlIChsZXQncyBzYXkgZnJv bSBhIGZyZXNoIGhvc3QgcmVib290KSwgZG9pbmcgdGhlICJkZXZpY2UgcmUtbmFibGluZyB0cmlj ayIgd2lsbCBsZXQgaXQgbG9hZCBzdWNjZXNzZnVsbHkgYWdhaW4uIEF0IHRoaXMgcG9pbnQgc2lu Y2UgSSd2ZSBnb3R0ZW4gdGhlIGNhcmQgdG8gc2F5IGl0IHdvcmtlZCwgSSdtIG5vdCBzdXJlIGhv dyB0byB0ZWxsIFdpbmRvd3MgdG8gdXNlIHRoYXQgYXMgdGhlIG1haW4gR1BVIHdoZW4gSSBydW4g bXkgYXBwcy4gSSd2ZSBsb29rZWQgYXQgc29tZSBleGFtcGxlcyBvbmxpbmUgb2YgdXNpbmcgZGlz cGxheSBzZXR0aW5ncyB0byBjaGFuZ2UgdGhlIHByZWZlcnJlZCBjYXJkLCBidXQgSSBkb24ndCBz ZWUgaXQgbGlzdGVkIHRoZXJlLiBBbSBJIHN1cHBvc2UgdG8gc2VlIHRoZSBjYXJkIGluIGR4ZGlh ZyBpZiBJJ20gdXNpbmcgVk5DPyBJJ20ganVzdCBydW5uaW5nIHRoZSBiaHl2ZSBWTSBvbiBteSBz ZXJ2ZXIsIGFuZCBJIFZOQyBvdmVyIGZyb20gbXkgbGFwdG9wIG9uIHRoZSBzYW1lIExBTiBuZXR3 b3JrLiBJJ20gZ3Vlc3NpbmcgaWYgdGhpbmdzIGFyZSB3b3JraW5nIGNvcnJlY3RseSBJIHNob3Vs ZCBiZSBhYmxlIHRvIGRvIHRoYXQgcmlnaHQ/IEkga25vdyB0aGVyZSBhcmUgYWxzbyBzb21lIGJl bmNobWFya2luZyBhcHBzIHRoYXQgc2hvdyB5b3Ugd2hhdCBHUFVzIGl0cyBkZXRlY3RlZCBhbmQg bWF5YmUgYWxsb3cgeW91IHRvIHBpY2sgb25lIHRvIHJ1biBhIGJlbmNobWFyayBvbi4gSSB0cmll ZCBvcGVuaW5nIEZ1ck1hcmsgYnV0IGl0IGZhaWxzIHNheWluZyB0aGF0IGl0IG9ubHkgZGV0ZWN0 cyBPcGVuIEdMIDEuMSBhbmQgYWxsIG9mIHRoYXQuLi4gSSBhY3R1YWxseSB0cmllZCBpbnN0YWxs aW5nIE1lc2EgZm9yIHdpbmRvd3MgdG8gc2VlIHdoYXQgaGFwcGVucyBhbmQgdGhhdCBkb2VzIGhl bHAgYnV0IGl0J3Mgc2xvdyBhbmQgaXQncyBjbGVhcmx5IG5vdCB1c2luZyB0aGUgY2FyZCBhbmQg bW9zdCBsaWtlbHkgZG9pbmcgc29tZSBzb3J0IG9mIHNvZnR3YXJlIHJlbmRlcmluZyAobWF5YmUg bGlrZSBhIFdpbmRvd3MgbGx2bXBpcGUpLgo+Pgo+PiBKb25hdGhhbiBWYXNxdWV6Cj4+IFBHUDog MzREQSA4NThDIDE0NDcgNTA5RSBDNzdBIEQ0OUYgRkI4NSA5MEI3IEM0Q0EgNTI3OQo+PiBTZW50 IHdpdGggUHJvdG9uTWFpbCBTZWN1cmUgRW1haWwKPj4KPj4gT24gTW9uZGF5LCBBdWd1c3QgMjV0 aCwgMjAyNSBhdCAxNDo1MSwgSm9uYXRoYW4gVmFzcXVleiA8am9uQHh5aW5uLm9yZz4gd3JvdGU6 Cj4+Cj4+PiBObyBnbyBmb3IgbXkgdGVzdGluZyBpbnNpZGUgYSBMaW51eCBNaW50IDIyLjEgVk0u IEZ1bGx5IHVwZGF0ZWQsIGFuZCBwYXNzaW5nIGluIGJvdGggMy8wLzAgYW5kIDMvMC8xIGZvciBt eSBBTUQgUmFkZW9uIGNhcmQuIEkgd2FzIGFibGUgdG8gZXh0cmFjdCBzb21lIG9mIHRoZSAiZG1l c2ciIGFuZCAiZWdsaW5mbyIgb3V0cHV0LiBSdW5uaW5nICJnbHhpbmZvIiBhbHNvIHNob3dlZCB0 aGF0IHRoZSBPcGVuR0wgcmVuZGVyZXIgd2FzIHNldCB0byBsbHZtcGlwZSwgc28gc29mdHdhcmUg cmVuZGVyaW5nIDooLiAibHNwY2kgLWsiIGRldGVjdGVkIGl0IGFuZCBzaG93ZWQgdGhhdCBpdCB3 YXMgdXNpbmcgdGhlICJhbWRncHUiIGtlcm5lbCBkcml2ZXIuIFNpbmNlIEknbSB1c2luZyB2bS1i aHl2ZSBhdG0gSSBkaWRuJ3QgdGVzdCB0aGlzIHdpdGggdGhlIGR1bXBlZCByb20sIGp1c3QgZGly ZWN0bHkgcGFzc2luZyB0aGVtIHRocm91Z2guIEkndmUgdXBsb2FkZWQgc29tZSBvZiB0aGUgbG9n cyBoZXJlIGZvciBub3cgaW4gY2FzZSBhbnlvbmUgd2FudHMgdG8gdGFrZSBhIGdsYW5jZSBhdCB0 aGVtOgo+Pj4KPj4+IGh0dHBzOi8veHlpbm4ub3JnL2ZyZWVic2QvZmlsZXMvZ3B1X3Bhc3MvMjAy NS0wOC0yNS8KPj4+Cj4+PiBKb25hdGhhbiBWYXNxdWV6Cj4+PiBQR1A6IDM0REEgODU4QyAxNDQ3 IDUwOUUgQzc3QSBENDlGIEZCODUgOTBCNyBDNENBIDUyNzkKPj4+IFNlbnQgd2l0aCBQcm90b25N YWlsIFNlY3VyZSBFbWFpbAo+Pj4KPj4+IE9uIE1vbmRheSwgQXVndXN0IDI1dGgsIDIwMjUgYXQg MTQ6MzcsIFJvYmVydCBDb2NrZXIgPHJjb2NrZXI4N0BnbWFpbC5jb20+IHdyb3RlOgo+Pj4KPj4+ PiBIZXkgZ3JvdXAgaGFzIGJodnllIGNvcmUgZGV2IGJha2VkIG91dCBhbiB1cGRhdGUgZm9yIHRo aXMKPj4+Pgo+Pj4+IFJvYmVydAo+Pj4+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+Pj4+Cj4+Pj4gRnJvbTogb3duZXItZnJl ZWJzZC12aXJ0dWFsaXphdGlvbkBGcmVlQlNELm9yZyA8b3duZXItZnJlZWJzZC12aXJ0dWFsaXph dGlvbkBGcmVlQlNELm9yZz4gb24gYmVoYWxmIG9mIEpvbmF0aGFuIFZhc3F1ZXogPGpvbkB4eWlu bi5vcmc+Cj4+Pj4gU2VudDogTW9uZGF5LCBBdWd1c3QgMjUsIDIwMjUgMTE6MzU6MzEgQU0KPj4+ PiBUbzogSm9uYXRoYW4gVmFzcXVleiA8am9uQHh5aW5uLm9yZz4KPj4+PiBDYzogU3RlcGhhbiBB bHRoYXVzIDxTdGVwaGFuLkFsdGhhdXNARHVlZGluZ2hhdXNlbi5ldT47IHZpcnR1YWxpemF0aW9u QGZyZWVic2Qub3JnIDx2aXJ0dWFsaXphdGlvbkBmcmVlYnNkLm9yZz4KPj4+PiBTdWJqZWN0OiBS ZTogR1BVIFBhc3N0aHJvdWdoIG9uIEZyZWVCU0QgMTQuMyAoQU1EIFJhZGVvbiBSWCA2OTAwIFhU IGFuZCBXaW5kb3dzIDEwIFBybykKPj4+Pgo+Pj4+IEkgd2FzIGFibGUgdG8gZ2V0IGEgZnJlc2gg V2luIDEwIFBybyBWTSBydW5uaW5nIHRocm91Z2ggdm0tYmh5dmUgYnV0IG5vIHByb2dyZXNzLiBT dGlsbCBzYW1lIENvZGUgNDMgZXJyb3IgYXMgYmVmb3JlLiBJIHdhc24ndCBhYmxlIHRvIGZpZ3Vy ZSBvdXQgaG93IHRvIHBhc3MgdGhlIHJvbT1iaW9zLnJvbeKAiyB0aHJvdWdoIHZtLWJoeXZlLCBJ IGRpZG4ndCBzZWUgYW55dGhpbmcgYWJvdXQgaXQgaW4gdGhlIGNvbmZpZy5zYW1wbGUgZmlsZSBh bmQgSSBhbHNvIHRyaWVkIHRvIGJ5cGFzcyB0aGF0IGJ5IGFkZGluZyBpdCBpbiBiaHl2ZV9vcHRp b25zIGJ1dCBubyBnbywgdGhlIFZNIHdvdWxkbid0IGV2ZW4gc3RhcnQgaWYgSSBkaWQgdGhhdC4g SSBzZWUgdGhlcmUgaXMgYSAiYmh5dmVfZGV2aWNlcyIgdGhhdCBjb250YWlucyBhbGwgb2YgdGhl IHNsb3QgZGV2aWNlcyBidXQgSSBkb24ndCBzZWUgdGhhdCBhcyBhbiBhZGp1c3RhYmxlIHZhcmlh YmxlIGJhc2VkIG9uIHRoZSBjb25maWcuc2FtcGxlIGluZm8uIEkndmUgcGFzdGVkIG15IGN1cnJl bnQgdm0tYmh5dmUgdGVtcGxhdGUgYmVsb3cuIE15IG5leHQgdGVzdCBpcyB0byB0cnkgdGhlIHNh bWUgdGhpbmcgaW5zaWRlIGEgTGludXggZ3Vlc3QgdG8gc2VlIHdoYXQgaGFwcGVucy4KPj4+Pgo+ Pj4+IC0tLS0tLS0tLS0tLS0tLS0KPj4+Pgo+Pj4+IGxvYWRlcj0idWVmaSIKPj4+PiBjcHU9IjQi Cj4+Pj4gY3B1X3NvY2tldHM9IjEiCj4+Pj4gY3B1X2NvcmVzPSI0Igo+Pj4+IGNwdV90aHJlYWRz PSIxIgo+Pj4+IG1lbW9yeT0iMTZHIgo+Pj4+IHdpcmVkX21lbW9yeT0ieWVzIgo+Pj4+Cj4+Pj4g dXRjdGltZT0ibm8iCj4+Pj4gYWhjaV9kZXZpY2VfbGltaXQ9IjgiCj4+Pj4KPj4+PiBkaXNrMF90 eXBlPSJudm1lIgo+Pj4+IGRpc2swX25hbWU9ImRpc2swLmltZyIKPj4+Pgo+Pj4+IG5ldHdvcmsw X3R5cGU9ImUxMDAwIgo+Pj4+IG5ldHdvcmswX3N3aXRjaD0icHVibGljIgo+Pj4+Cj4+Pj4gcGFz c3RocnUwPSIzLzAvMD0yOjAiCj4+Pj4gcGFzc3RocnUxPSIzLzAvMT0yOjEiCj4+Pj4KPj4+PiAj Ymh5dmVfb3B0aW9ucz0iLXMgMjowLHBhc3N0aHJ1LDMvMC8wLHJvbT1iaW9zLnJvbSIKPj4+Pgo+ Pj4+ICMgVXNpbmcgUkRQIHBvc3QtaW5zdGFsbC4KPj4+PiBncmFwaGljcz0ibm8iCj4+Pj4gZ3Jh cGhpY3NfcG9ydD0iNTkwMCIKPj4+PiBncmFwaGljc19saXN0ZW49IjAuMC4wLjAiCj4+Pj4gZ3Jh cGhpY3NfcmVzPSIxOTIweDEwODAiCj4+Pj4gZ3JhcGhpY3Nfd2FpdD0ieWVzIgo+Pj4+Cj4+Pj4g eGhjaV9tb3VzZT0ieWVzIgo+Pj4+IHV1aWQ9IjUzNWQ1NGI1LTgxY2ItMTFmMC05M2EyLTk4Yjc4 NTAxYmRhOCIgIG5ldHdvcmswX21hYz0iNTg6OWM6ZmM6MDQ6NWE6ZWIiCj4+Pj4KPj4+PiAtLS0t LS0tLS0tLS0tLS0tCj4+Pj4KPj4+PiBKb25hdGhhbiBWYXNxdWV6Cj4+Pj4gUEdQOiAzNERBIDg1 OEMgMTQ0NyA1MDlFIEM3N0EgRDQ5RiBGQjg1IDkwQjcgQzRDQSA1Mjc5Cj4+Pj4gU2VudCB3aXRo IFByb3Rvbk1haWwgU2VjdXJlIEVtYWlsCj4+Pj4KPj4+PiBPbiBNb25kYXksIEF1Z3VzdCAyNXRo LCAyMDI1IGF0IDExOjA1LCBKb25hdGhhbiBWYXNxdWV6IDxqb25AeHlpbm4ub3JnPiB3cm90ZToK Pj4+Pgo+Pj4+PiBVbmZvcnR1bmF0ZWx5IEkgZG9uJ3QgaGF2ZSBhbiBpbnRlbCBtYWNoaW5lIHdp dGggYW4gYXZhaWxhYmxlIFBDSWUgc2xvdC4gSG93ZXZlciBJJ20gdHJ5aW5nIGFub3RoZXIgdGhp bmcgd2hpY2ggaXMgdG8gcGFzc3Rocm91Z2ggdGhlIGNhcmQgdG8gYSBMaW51eCBndWVzdC4gSSBu ZWVkIHRvIHJ1biBtb3JlIGV4cGVyaW1lbnRzIGJ1dCBhIHByZWxpbWluYXJ5IGJvb3Qgb2YgYSBM aW51eCBNaW50IElTTyBkaWQgc2hvdyB0aGUgQU1EIFJhZGVvbiBSWCA2OTAwIFhUIGNhcmQgaW4g bHNwY2nigIsgYW5kIHNob3dlZCB0aGF0IGl0IHdhcyB1c2luZyB0aGUgYW1kZ3B14oCLIGRyaXZl ci4gSSB0aGVuIGRpZCBhIGJhc2ljIGdseGdlYXJz4oCLIGFuZCBpdCBvcGVuZWQgdXAgaW4gbXkg Vk5DIHdpbmRvdyBhbmQgc2hvd2VkIHRoZSBGUFMgY291bnRlciBhdCBvdmVyIDIwMDAgZnBzLiBU aGUgb25seSBpc3N1ZSBJIG5vdGljZWQgd2FzIHdoZW4gc2h1dHRpbmcgZG93biB0aGUgbGl2ZSBD RCBlbnZpcm9ubWVudCB0aGVyZSB3ZXJlIGFtZGdwdeKAiyBmYWlsdXJlIG1lc3NhZ2VzIHdoZXJl IGl0IHdhcyBmYWlsaW5nIHRvIHdyaXRlIHNvbWV0aGluZyB0byBpdC4gSSdtIGN1cnJlbnRseSBy ZWRvaW5nIG15ICJiYXNpYyBiaHl2ZSBzY3JpcHQiIGFuZCBtb3ZpbmcgaXQgb3ZlciB0byAidm0t Ymh5dmUiIHNpbmNlIGl0IHNlZW1zIGEgbG90IG9mIHBlb3BsZSBhcmUgdXNpbmcgdGhhdCBpbnN0 ZWFkIG9mIHRoZSBtb3JlIG1hbnVhbCBhcHByb2FjaC4gVGhpcyBzaG91bGQgaG9wZWZ1bGx5IGhl bHAgc2ltcGxpZnkgdGhpbmdzIGZvciBkZWJ1Z2dpbmcuIElmIHRoZSBjYXJkIHdvcmtzIG9uIExp bnV4IHZpYSBwYXNzdGhyb3VnaCB0aGlzIHdvdWxkIGFsc28gYmUgdXNlZnVsIGluZm8gYW5kIGNh biBhbGxvdyBtZSB0byBzZWUgdGhlIHBlcmZvcm1hbmNlIG9mIEN5cGVycHVuayAyMDc3LCBhbmQg c29tZSBvdGhlciBnYW1lcyAoZXZlbiBpZiBJJ20gbm90IGdldHRpbmcgMTAwJSBvZiB0aGUgY2Fy ZCdzIHBlcmZvcm1hbmNlKS4KPj4+Pj4KPj4+Pj4gSm9uYXRoYW4gVmFzcXVlego+Pj4+PiBQR1A6 IDM0REEgODU4QyAxNDQ3IDUwOUUgQzc3QSBENDlGIEZCODUgOTBCNyBDNENBIDUyNzkKPj4+Pj4g U2VudCB3aXRoIFByb3Rvbk1haWwgU2VjdXJlIEVtYWlsCj4+Pj4+Cj4+Pj4+IE9uIE1vbmRheSwg QXVndXN0IDI1dGgsIDIwMjUgYXQgMTE6MDAsIFN0ZXBoYW4gQWx0aGF1cyA8U3RlcGhhbi5BbHRo YXVzQER1ZWRpbmdoYXVzZW4uZXU+IHdyb3RlOgo+Pj4+Pgo+Pj4+Pj4gT24gOC8yNS8yNSAxNjo1 NiwgSm9uYXRoYW4gVmFzcXVleiB3cm90ZToKPj4+Pj4+Cj4+Pj4+Pj4gSGV5IFN0ZXBoYW4sCj4+ Pj4+Pj4KPj4+Pj4+PiBZdXAsIEkndmUgdHJpZWQgcGFzc2luZyBib3RoIDMvMC8wIGFuZCAzLzAv MSBhbmQgbm8gZ28sIGFuZCBJIGFsc28gbWFrZSBzdXJlIHRvIHJlYm9vdCB0aGUgaG9zdCBpbiBi ZXR3ZWVuIHJ1bnMgZHVlIHRvIHRoZSBhbWQgaGFyZHdhcmUgaXNzdWUuIEkgZG9uJ3QgYmVsaWV2 ZSAzLzAvMSBpcyBuZWNlc3NhcnkgdGhvdWdoIGJhc2VkIG9uIHRoZSBleGFtcGxlcyBieSBDb3J2 aW4gaW4gaGlzIHRhbGsuIEhlIG9ubHkgcGFzc2VkIGluIDMvMC8wIChJJ20gZ3Vlc3NpbmcgaGlz IGNhcmQgYWxzbyBoYXMgYSAzLzAvMSBmdW5jdGlvbiB0aGF0IGhlIGlzbid0IHVzaW5nIHNpbmNl IHRoYXQncyB0aGUgYXVkaW8gY2hhbm5lbCkuCj4+Pj4+Pj4KPj4+Pj4+PiBKb25hdGhhbiBWYXNx dWV6Cj4+Pj4+Pj4gUEdQOiAzNERBIDg1OEMgMTQ0NyA1MDlFIEM3N0EgRDQ5RiBGQjg1IDkwQjcg QzRDQSA1Mjc5Cj4+Pj4+Pj4gU2VudCB3aXRoIFByb3Rvbk1haWwgU2VjdXJlIEVtYWlsCj4+Pj4+ Pj4KPj4+Pj4+PiBPbiBNb25kYXksIEF1Z3VzdCAyNXRoLCAyMDI1IGF0IDEwOjUyLCBTdGVwaGFu IEFsdGhhdXMgPFN0ZXBoYW4uQWx0aGF1c0BEdWVkaW5naGF1c2VuLmV1PiB3cm90ZToKPj4+Pj4+ Pgo+Pj4+Pj4+PiBPbiA4LzI1LzI1IDE2OjQ3LCBTdGVwaGFuIEFsdGhhdXMgd3JvdGU6Cj4+Pj4+ Pj4+Cj4+Pj4+Pj4+PiBPbiA4LzI0LzI1IDIzOjU4LCBKb25hdGhhbiBWYXNxdWV6IHdyb3RlOgo+ Pj4+Pj4+Pj4KPj4+Pj4+Pj4+PiBIZXkgYWxsLAo+Pj4+Pj4+Pj4+Cj4+Pj4+Pj4+Pj4gSSd2ZSBi ZWVuIGV4cGVyaW1lbnRpbmcgd2l0aCB0cnlpbmcgdG8gZ2V0IG15IHNlcnZlcidzIGRlZGljYXRl ZCBBTUQgUmFkZW9uIFJYIDY5MDAgWFQgd29ya2luZyBvbiBhIGJoeXZlIFdpbmRvd3MgMTAgUHJv IGNsaWVudCBmb3IgZ2FtaW5nIHB1cnBvc2VzLiBJJ3ZlIGJlZW4gcmVhZGluZyBhIGJ1bmNoIG9m IGJsb2cgcG9zdHMsIHNpdGVzLCBmaWxlcywgYW5kIHZpZGVvcyAodGhhbmtzIENvcnZpbikgdG8g dHJ5IGFuZCBwaWVjZSB0aGluZ3MgdG9nZXRoZXIuIEkndmUgYmVlbiBhYmxlIHRvIGdldCB0aGUg Vk0gdG8gcmVjb2duaXplIHRoZSBjYXJkLCBidXQgc3RpbGwgc3R1Y2sgb24gdGhlIENvZGUgNDMg aXNzdWUgKHdpdGggb3Igd2l0aG91dCB1c2luZyB0aGUgdkJJT1MgSSd2ZSBleHRyYWN0ZWQgZnJv bSBteSBkZWRpY2F0ZWQgY2FyZCBhbmQgYWxzbyBlbnN1cmluZyBhbnkgb3B0aW9ucyBuZWVkZWQg dG8gYmUgb24gaW4gdGhlIFVFRkkgc2V0dGluZ3MgYXJlIGVuYWJsZWQpLiBUaGlzIG1hY2hpbmUg aXMgcnVubmluZyBvbiBhbiBBTUQgUnl6ZW4gOSA3OTUwWCAxNi1Db3JlIFByb2Nlc3Nvciwgc28g aXQncyBhIGZ1bGwgQU1EIHNldHVwLCBubyBJbnRlbCBzdHVmZi4gSXQgdGVjaG5pY2FsbHkgc2hv dWxkIGJlIHJlbGF0aXZlbHkgImVhc3kiIHRvIGdldCBBTUQgd29ya2luZyBmcm9tIHdoYXQgSSd2 ZSByZWFkIChleGNsdWRpbmcgdGhlIGtub3duIEFNRCBIYXJkd2FyZSByZXNldCBpc3N1ZSkuIEkn dmUgZG9jdW1lbnRlZCBldmVyeXRoaW5nIEkndmUgZG9uZSBzbyBmYXIsIGFuZCB3aWxsIGJlIGRv Y3VtZW50aW5nIG1vcmUgYW5kIHNpbXBsaWZ5aW5nIHRoZSBpbnN0cnVjdGlvbnMgYXMgSSBtYWtl IHByb2dyZXNzLiBQbGVhc2UgbGV0IG1lIGtub3cgaWYgeW91IHNlZSBhbnkgdGhpbmcgd2VpcmQg b3IgYW55dGhpbmcgSSBjb3VsZCB0cnkgYmFzZWQgb24gd2hhdCBJJ3ZlIHJld3JpdHRlbi4gSSds bCB0cnkgdG8gZ2l2ZSBpdCBhIGdvIGFuZCBwcm92aWRlIGZlZWRiYWNrLiBUaGFuayB5b3UhCj4+ Pj4+Pj4+Pj4KPj4+Pj4+Pj4+PiBodHRwczovL3h5aW5uLm9yZy9ibG9nL2ZyZWVic2QvZnJlZWJz ZF9iaHl2ZV9ncHVfcGFzc3Rocm91Z2hfYW1kCj4+Pj4+Pj4+Pj4KPj4+Pj4+Pj4+PiBKb25hdGhh biBWYXNxdWV6Cj4+Pj4+Pj4+Pj4gUEdQOiAzNERBIDg1OEMgMTQ0NyA1MDlFIEM3N0EgRDQ5RiBG Qjg1IDkwQjcgQzRDQSA1Mjc5Cj4+Pj4+Pj4+Pj4gU2VudCB3aXRoIFByb3Rvbk1haWwgU2VjdXJl IEVtYWlsCj4+Pj4+Pj4+Pgo+Pj4+Pj4+Pj4gSGkhCj4+Pj4+Pj4+Pgo+Pj4+Pj4+Pj4gaSBoYXZl IGEgQU1EIFJYNjQwMCBHUFUgc2V0dXAgcnVubmluZyBvbiAxNC4yIHdpdGggd2luMTAgZ3Vlc3Qs IGhvc3QgaXMgYSBpbnRlbCBzeXN0ZW0uCj4+Pj4+Pj4+Pgo+Pj4+Pj4+Pj4gaSB0aGluayB5b3Ug aGF2ZSB0byBwYXNzdGhyb3VnaCB0aGUgMy8wLzEgZGV2aWNlIGFzIHdlbGwhCj4+Pj4+Pj4+Pgo+ Pj4+Pj4+Pj4gVGhlIGJpb3Mucm9tIGlzIGV4dHJhY3RlZCBmcm9tIHRoaXMgY2FyZCBpbiBwbGFj ZSA/Cj4+Pj4+Pj4+Pgo+Pj4+Pj4+Pj4gUmVnYXJkcywKPj4+Pj4+Pj4+IFN0ZXBoYW4KPj4+Pj4+ Pj4KPj4+Pj4+Pj4gQWgsIGFuZCBiZSBzaHVyZSB0byByZWJvb3QgdGhlIHdob2xlIHNldHVwLCBp bmNsdXNpdmUgaG9zdCwgZm9yIGV2ZXJ5IG5ldyB0ZXN0LWNhc2UsCj4+Pj4+Pj4+IGF0IGxlYXN0 IGFzIGxvbmcgYXQgaXMgbm90IGd1YXJhbnRlZWQgdGhhdCB3ZSBjYW4gbGl2ZSB3aXRob3V0Li4K Pj4+Pj4+Pj4KPj4+Pj4+Pj4gUmVnYXJzLAo+Pj4+Pj4+PiBTdGVwaGFuCj4+Pj4+Pgo+Pj4+Pj4g SGkhCj4+Pj4+Pgo+Pj4+Pj4gTXkgb25seSBuZXh0IGFzc3VtcHRpb24gd291bGQgYmUgdGhhdCB0 aGlzIG9ubHkgZG9lcyBub3Qgd29yayBvbiBBTUQgaG9zdC4KPj4+Pj4+Cj4+Pj4+PiBZb3UgZG9u J3QgaGF2ZSBhbiBpbnRlbCBzeXN0ZW0gdG8gdGVzdCwgeW91IHdvdWxkIGhhdmVkb25lIGl0LCBp ZiBzby4uICg/KQo+Pj4+Pj4KPj4+Pj4+IFN0ZXBoYW4= --b1=_SqazFyrIdMkNAFJnPiDeJHH64ewp5o7xiMiPqEG8Q Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: base64 PGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE0 cHg7Ij5JIGFkZGVkIGEgZmV3IG1vcmUgc2NyZWVuc2hvdHMgZnJvbSBHUFUtWiBydW5uaW5nIGlu c2lkZSBvZiB0aGUgVk0sIGFuZCBzb21lIG90aGVyIGRldGFpbHMuIEludGVyZXN0aW5nbHkgZW5v dWdoLCBJIHdhcyBhYmxlIHRvIGR1bXAgdGhlIFZCSU9TIGZyb20gaW5zaWRlIHRoZSBWTSBhbmQg dGhlIGhhc2hlcyBvZiB0aGUgZHVtcGVkIFZCSU9TIG1hdGNoZXMgdGhlIGhhc2ggYW5kIHRoZSBm aWxlIHNpemUgb2YgdGhlIGFtZHZiZmxhc2ggdmVyc2lvbiB0aGF0IEkgb3JpZ2luYWxseSBkdW1w ZWQgZnJvbSBMaW51eCBydW5uaW5nIG9uIHRoaXMgbWFjaGluZSBpbiBiYXJlIG1ldGFsLi4gc28g dGhhdCBtZWFucyBpdCBpcyBwb3NzaWJsZSB0byBkdW1wIHRoZSBWQklPUyBmcm9tIHdpdGhpbiB0 aGUgYmh5dmUgVk0gYWZ0ZXIgeW91IHBhc3MgdGhlIGRldmljZSB0aHJvdWdoLiBJIGhhdmVuJ3Qg dHJpZWQgdGhpcyBidXQgaXQgc2VlbXMgdGhhdCB5b3Ugc2hvdWxkIGFsc28gYmUgYWJsZSB0byBk dW1wIHRoZSBWQklPUyBmcm9tIEdQVS1aIGV2ZW4gd2l0aG91dCB0aGUgQU1EIEFkcmVuYWxpbmUg ZHJpdmVycyBiZWluZyBpbnN0YWxsZWQgc2luY2UgR1BVLVogc3RpbGwgZGV0ZWN0ZWQgdGhlIGNh cmQgYW5kIHN0aWxsIHNob3dlZCB0aGUgb3B0aW9uIHRvIGR1bXAgdGhlIFZCSU9TLiBJIG9ubHkg ZHVtcGVkIGl0IHdpdGggdGhlIEFNRCBBZHJlbmFsaW5lIGRyaXZlcnMgaW5zdGFsbGVkLjwvZGl2 PjxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAx NHB4OyI+PGJyPjwvZGl2PjxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJp ZjsgZm9udC1zaXplOiAxNHB4OyI+PHNwYW4+U0hBMTogYW1kdmJmbGFzaCBFeHRyYWN0ZWQgUk9N OiA1MTdlMDlkN2FjNmJlNWRhMGIwZmFjN2QwOWY3ODJhM2M5NDk0MzQzPC9zcGFuPjxkaXY+PHNw YW4+RmlsZSBTaXplOiAxLjBNPC9zcGFuPjwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+PHNwYW4+ U0hBMTogR1BVLVogRXh0cmFjdGVkIFJPTTogNTE3ZTA5ZDdhYzZiZTVkYTBiMGZhYzdkMDlmNzgy YTNjOTQ5NDM0Mzwvc3Bhbj48L2Rpdj48ZGl2PjxzcGFuPkZpbGUgU2l6ZTogMS4wTTwvc3Bhbj48 L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2PjxzcGFuPlNIQTE6IERpcmVjdCBMaW51eCBFeHRyYWN0 ZWQgUk9NOiBhYmJkZmQxMWMyNDZmNTcwODM5ZmE3YWQ3ODE4NmRjYjEyNDA4NTk1PC9zcGFuPjwv ZGl2PjxzcGFuPkZpbGUgU2l6ZTogMTE5Szwvc3Bhbj48YnI+PC9kaXY+PGRpdiBzdHlsZT0iZm9u dC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE0cHg7Ij48YnI+PC9kaXY+ DQo8ZGl2IHN0eWxlPSJmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTog MTRweDsiIGNsYXNzPSJwcm90b25tYWlsX3NpZ25hdHVyZV9ibG9jayI+DQogICAgPGRpdiBjbGFz cz0icHJvdG9ubWFpbF9zaWduYXR1cmVfYmxvY2stdXNlciI+DQogICAgICAgIDxkaXY+Sm9uYXRo YW4gVmFzcXVlejxicj48L2Rpdj48ZGl2PlBHUDogMzREQSA4NThDIDE0NDcgNTA5RSBDNzdBICBE NDlGIEZCODUgOTBCNyBDNENBIDUyNzk8YnI+PC9kaXY+PGRpdj5TZW50IHdpdGggUHJvdG9uTWFp bCBTZWN1cmUgRW1haWw8YnI+PC9kaXY+PGRpdj48YnI+PC9kaXY+DQogICAgPC9kaXY+DQogICAg DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm90b25tYWlsX3NpZ25hdHVyZV9ibG9jay1wcm90 b24gcHJvdG9ubWFpbF9zaWduYXR1cmVfYmxvY2stZW1wdHkiPg0KICAgICAgICANCiAgICAgICAg ICAgIDwvZGl2Pg0KPC9kaXY+DQo8ZGl2IHN0eWxlPSJmb250LWZhbWlseTogQXJpYWwsIHNhbnMt c2VyaWY7IGZvbnQtc2l6ZTogMTRweDsiPjxicj48L2Rpdj48ZGl2IGNsYXNzPSJwcm90b25tYWls X3F1b3RlIj4NCiAgICAgICAgT24gU3VuZGF5LCBBdWd1c3QgMzFzdCwgMjAyNSBhdCAwODowMCwg Sm9uYXRoYW4gVmFzcXVleiAmbHQ7am9uQHh5aW5uLm9yZyZndDsgd3JvdGU6PGJyPg0KICAgICAg ICA8YmxvY2txdW90ZSBjbGFzcz0icHJvdG9ubWFpbF9xdW90ZSIgdHlwZT0iY2l0ZSI+DQogICAg ICAgICAgICBUaGFua3MgZm9yIHRoYXQgaW5mbyBTdGVwaGFuLiBZdXAgaXQncyBhbiBVRUZJIGlu c3RhbGwgc2luY2UgSSdtIHVzaW5nIHRoZSBmb2xsb3dpbmcgbGluZSBpbiBteSBiaHl2ZSBzY3Jp cHQ6PGRpdj48YnI+PC9kaXY+PGRpdj4tbCBib290cm9tLC91c3IvbG9jYWwvc2hhcmUvdWVmaS1m aXJtd2FyZS9CSFlWRV9VRUZJLmZkLGZ3Y2ZnPXFlbXU8L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2 PkFuZCB5ZWEgaXQgbWF5IGJlIHBvc3NpYmxlIHNvbWV0aGluZyBpcyBnb2luZyBvbiB3aXRoIEFN RCBDUFUmbmJzcDtob3N0cy4uLjxicj48YnI+PGRpdiBjbGFzcz0icHJvdG9ubWFpbF9zaWduYXR1 cmVfYmxvY2stdXNlciI+PGRpdj5Kb25hdGhhbiBWYXNxdWV6PGJyPjwvZGl2PjxkaXY+UEdQOiAz NERBIDg1OEMgMTQ0NyA1MDlFIEM3N0EgIEQ0OUYgRkI4NSA5MEI3IEM0Q0EgNTI3OTxicj48L2Rp dj48ZGl2PlNlbnQgd2l0aCBQcm90b25NYWlsIFNlY3VyZSBFbWFpbDxicj48L2Rpdj48ZGl2Pjxi cj48L2Rpdj48L2Rpdj48YnI+PGJyPlNlbnQgd2l0aCA8YSB0YXJnZXQ9Il9ibGFuayIgaHJlZj0i aHR0cHM6Ly9wcm90b24ubWUvbWFpbC9ob21lIiByZWw9Im5vcmVmZXJyZXIgbm9mb2xsb3cgbm9v cGVuZXIiPlByb3RvbiBNYWlsPC9hPiBzZWN1cmUgZW1haWwuPGRpdiBjbGFzcz0icHJvdG9ubWFp bF9xdW90ZSI+PGJyPjxicj4tLS0tLS0tLSBPcmlnaW5hbCBNZXNzYWdlIC0tLS0tLS0tPGJyPk9u IFNhdHVyZGF5LCAwOC8zMC8yNSBhdCAyMDoxMSBKb25hdGhhbiBWYXNxdWV6ICZsdDtqb25AeHlp bm4ub3JnJmd0OyB3cm90ZTo8YnI+PGJsb2NrcXVvdGUgY2xhc3M9InByb3Rvbm1haWxfcXVvdGUi PjxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAx NHB4Ij5IZXkgYWxsLDwvZGl2PjxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1z ZXJpZjsgZm9udC1zaXplOiAxNHB4Ij48YnI+PC9kaXY+PGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6 IEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE0cHgiPkkndmUgdXBkYXRlZCBteSBibG9n IHBvc3Qgd2l0aCBtb3JlIGluZm9ybWF0aW9uIGFuZCBzb21lIHVzZWZ1bCBzY3JlZW5zaG90czom bmJzcDs8c3Bhbj48YSB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub3JlZmVycmVyIG5vZm9sbG93IG5v b3BlbmVyIiBocmVmPSJodHRwczovL3h5aW5uLm9yZy9ibG9nL2ZyZWVic2QvZnJlZWJzZF9iaHl2 ZV9ncHVfcGFzc3Rocm91Z2hfYW1kIj5odHRwczovL3h5aW5uLm9yZy9ibG9nL2ZyZWVic2QvZnJl ZWJzZF9iaHl2ZV9ncHVfcGFzc3Rocm91Z2hfYW1kPC9hPjwvc3Bhbj48L2Rpdj48ZGl2IHN0eWxl PSJmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTRweCI+PGJyPjwv ZGl2PjxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjsgZm9udC1zaXpl OiAxNHB4Ij5UaGUgaW1wb3J0YW50IHN0dWZmIHRvIG1lbnRpb24gaXMgdGhhdCBJJ3ZlIGFsc28g Z290dGVuIGEgY2hhbmNlIHRvIHBsYXkgd2l0aCB2bS1iaHl2ZSwgYnV0IGZvciB0aGUgcHVycG9z ZXMgb2YgbWFraW5nIHN1cmUgd2UgZ2V0IGFzIGNsZWFyIGluZm9ybWF0aW9uIGFzIHBvc3NpYmxl IHdpdGhvdXQgaGF2aW5nIHRvIHVud3JhcCB0aGUgdm0tYmh5dmUgc2NyaXB0cywgSSdsbCBjb250 aW51ZSB0byB1c2UgYmh5dmUgZGlyZWN0bHkuIFdpdGggdGhhdCBzYWlkLCBzb21lIHVzZWZ1bCBp bmZvOjwvZGl2PjxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjsgZm9u dC1zaXplOiAxNHB4Ij48YnI+PC9kaXY+PGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6IEFyaWFsLCBz YW5zLXNlcmlmOyBmb250LXNpemU6IDE0cHgiPjx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMDsgbWFy Z2luLWJvdHRvbTogMCI+PGxpIHN0eWxlPSJsaXN0LXN0eWxlLXR5cGU6ICZxdW90Oy0gJnF1b3Q7 Ij48c3Bhbj5UaGUgdkJJT1MgaXMgbm90IHJlcXVpcmVkIHdoZW4gcnVubmluZyBvbiBXaW5kb3dz IGFzIG1lbnRpb25lZCBieSBDb3J2aW4gaGVyZTombmJzcDs8c3Bhbj48YSB0YXJnZXQ9Il9ibGFu ayIgcmVsPSJub3JlZmVycmVyIG5vZm9sbG93IG5vb3BlbmVyIiBocmVmPSJodHRwczovL2xpc3Rz LmZyZWVic2Qub3JnL2FyY2hpdmVzL2ZyZWVic2QtdmlydHVhbGl6YXRpb24vMjAyMi1KdW5lLzAw MDc5Ny5odG1sIj5odHRwczovL2xpc3RzLmZyZWVic2Qub3JnL2FyY2hpdmVzL2ZyZWVic2Qtdmly dHVhbGl6YXRpb24vMjAyMi1KdW5lLzAwMDc5Ny5odG1sPC9hPjwvc3Bhbj4sIHRodXMgSSd2ZSBz dG9wcGVkIHVzaW5nIGl0LiBJIHdhcyBob3dldmVyIGFsc28gYWJsZSB0byBzdWNjZXNzZnVsbHkg dXNlIGhpcyAiZWNobyAxIC4uLiIgcmVjb21tZW5kYXRpb24gdG8gZHVtcCB0aGUgYmlvcyBmcm9t IHdpdGhpbiBMaW51eCAoRmVkb3JhIDQyKS4gSSBhY3R1YWxseSBmYWlsZWQgdG8gZXh0cmFjdCB0 aGUgYmlvcyBiZWZvcmUgKHdpdGhvdXQgdXNpbmcgYW1kdmJmbGFzaCkgYmVjYXVzZSBtb3N0IGxp a2VseSBteSBMaW51eCBNaW50IDIyLjEncyBLZXJuZWwgd2FzIHRvbyBvbGQgdG8gZXh0cmFjdCB0 aGUgUk9NLiBXaGVuIEkgdHJpZWQgdG8gZG8gdGhlIHNhbWUgZXhhY3QgdGhpbmcgdG9kYXkgd2l0 aCBGZWRvcmEgNDIsIGl0IHdvcmtlZCwgYW5kIEkgd2FzIGFibGUgdG8gc2VlIHRoZSAicm9tIiBm aWxlIGZyb20gRmVkb3JhIDQyLCBidXQgbm90IGZyb20gTGludXggTWludCAyMi4xLjwvc3Bhbj48 L2xpPjxsaSBzdHlsZT0ibGlzdC1zdHlsZS10eXBlOiAmcXVvdDstICZxdW90OyI+SSB3YXMgYWJs ZSB0byBnZXQgdGhlIEdQVSB0byBsb2FkIHdpdGhvdXQgYSBDb2RlIDQzIGVycm9yLiBCdXQgaXQn cyBzdGlsbCB1bnVzYWJsZS4gSSB3YXMgYWN0dWFsbHkgYWJsZSB0byBnZXQgdG8gdGhpcyBzdGF0 ZSBiZWZvcmUgYnV0IGl0IHdhcyBpbmNvbnNpc3RlbnQuIFRocm91Z2ggbW9yZSByZXNlYXJjaCBJ IHdhcyBhYmxlIHRvIGdldCBpdCB0byBiZSByZXByb2R1Y2libGUuIFRoZXJlIGFyZSBhIGZldyB0 aGluZ3MgdG8gbWVudGlvbiBoZXJlOjwvbGk+PHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwOyBtYXJn aW4tYm90dG9tOiAwOyBsaXN0LXN0eWxlLXR5cGU6IGNpcmNsZSI+PGxpIHN0eWxlPSIiPlRoZSBj YXJkIHdpbGwgYWx3YXlzIHN0YXJ0IGluIGEgQ29kZSA0MyBmYWlsZWQgc3RhdGUgcmVnYXJkbGVz cyBvZiB3aGF0IEkgbWVudGlvbiBiZWxvdyAoaW5jbHVkaW5nIGlmIEkgcmVib290IHRoZSBob3N0 KS48L2xpPjxsaSBzdHlsZT0iIj5JZiB5b3UgdXNlIFJEUCwgdGhlIGNhcmQgd2lsbCBhbHdheXMg YmUgaW4gYSBDb2RlIDQzIHN0YXRlLjwvbGk+PGxpIHN0eWxlPSIiPklmIEkgdXNlIFZOQywgdGhl IGNhcmQgd2lsbCBzdGFydCBpbiBhIGZhaWxlZCBzdGF0ZSAoYXMgbWVudGlvbmVkIGFib3ZlKSwg SE9XRVZFUiwgeW91IHdpbGwgYmUgYWJsZSB0byBnbyBpbnRvIHRoZSBEZXZpY2UgTWFuYWdlciwg RGlzYWJsZSB0aGUgY2FyZCwgYW5kIHRoZW4gRW5hYmxlIHRoZSBjYXJkLCBhbmQgaXQgd2lsbCBi ZSBlbmFibGVkIHN1Y2Nlc3NmdWxseSBhcyB5b3UgY2FuIHNlZSBpbiBteSBzY3JlZW5zaG90cy4g VGhlIE9TIHdpbGwgYWxzbyBnaXZlIGl0IHJlc291cmNlcyBmcm9tIHdoYXQgd2UgY2FuIHNlZSBp biB0aGUgRGV2aWNlJ3MgUHJvcGVydGllcycgUmVzb3VyY2VzIFRhYi48L2xpPjwvdWw+PC91bD48 L2Rpdj48ZGl2IHN0eWxlPSJmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7IGZvbnQtc2l6 ZTogMTRweCI+PGJyPjwvZGl2PjxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1z ZXJpZjsgZm9udC1zaXplOiAxNHB4Ij5HaXZlbiB3aGF0IEkgbWVudGlvbmVkIGFib3ZlLCBJIHdv dWxkIHJlY29tbWVuZCAoYXMgc29tZSBvdGhlciBwZW9wbGUgcmVjb21tZW5kZWQgaW4gb3RoZXIg bGlua3MgSSd2ZSBmb3VuZCksIHRvIGRpc2FibGUgdGhlIGNhcmQgaW4gdGhlIFZNIGJlZm9yZSB5 b3Ugc2h1dCBpdCBkb3duLCBhbmQgdGhlbiBlbmFibGUgaXQgZnJvbSBpbnNpZGUgb2YgV2luZG93 cyB3aGVuIHlvdSB0dXJuIGl0IGJhY2sgb24uIEFsdGhvdWdoIEkgZG9uJ3Qga25vdyBob3cgbmVj ZXNzYXJ5IHRoaXMgaXMgZ2l2ZW4gdGhhdCBpZiBJIHVzZSBWTkMsIGV2ZW4gaWYgaXQgc3RhcnRz IG9mZiBpbiBhIGZhaWxlZCBzdGF0ZSAobGV0J3Mgc2F5IGZyb20gYSBmcmVzaCBob3N0IHJlYm9v dCksIGRvaW5nIHRoZSAiZGV2aWNlIHJlLW5hYmxpbmcgdHJpY2siIHdpbGwgbGV0IGl0IGxvYWQg c3VjY2Vzc2Z1bGx5IGFnYWluLiBBdCB0aGlzIHBvaW50IHNpbmNlIEkndmUgZ290dGVuIHRoZSBj YXJkIHRvIHNheSBpdCB3b3JrZWQsIEknbSBub3Qgc3VyZSBob3cgdG8gdGVsbCBXaW5kb3dzIHRv IHVzZSB0aGF0IGFzIHRoZSBtYWluIEdQVSB3aGVuIEkgcnVuIG15IGFwcHMuIEkndmUgbG9va2Vk IGF0IHNvbWUgZXhhbXBsZXMgb25saW5lIG9mIHVzaW5nIGRpc3BsYXkgc2V0dGluZ3MgdG8gY2hh bmdlIHRoZSBwcmVmZXJyZWQgY2FyZCwgYnV0IEkgZG9uJ3Qgc2VlIGl0IGxpc3RlZCB0aGVyZS4g QW0gSSBzdXBwb3NlIHRvIHNlZSB0aGUgY2FyZCBpbiBkeGRpYWcgaWYgSSdtIHVzaW5nIFZOQz8g SSdtIGp1c3QgcnVubmluZyB0aGUgYmh5dmUgVk0gb24gbXkgc2VydmVyLCBhbmQgSSBWTkMgb3Zl ciBmcm9tIG15IGxhcHRvcCBvbiB0aGUgc2FtZSBMQU4gbmV0d29yay4gSSdtIGd1ZXNzaW5nIGlm IHRoaW5ncyBhcmUgd29ya2luZyBjb3JyZWN0bHkgSSBzaG91bGQgYmUgYWJsZSB0byBkbyB0aGF0 IHJpZ2h0PyBJIGtub3cgdGhlcmUgYXJlIGFsc28gc29tZSBiZW5jaG1hcmtpbmcgYXBwcyB0aGF0 IHNob3cgeW91IHdoYXQgR1BVcyBpdHMgZGV0ZWN0ZWQgYW5kIG1heWJlIGFsbG93IHlvdSB0byBw aWNrIG9uZSB0byBydW4gYSBiZW5jaG1hcmsgb24uIEkgdHJpZWQgb3BlbmluZyBGdXJNYXJrIGJ1 dCBpdCBmYWlscyBzYXlpbmcgdGhhdCBpdCBvbmx5IGRldGVjdHMgT3BlbiBHTCAxLjEgYW5kIGFs bCBvZiB0aGF0Li4uIEkgYWN0dWFsbHkgdHJpZWQgaW5zdGFsbGluZyBNZXNhIGZvciB3aW5kb3dz IHRvIHNlZSB3aGF0IGhhcHBlbnMgYW5kIHRoYXQgZG9lcyBoZWxwIGJ1dCBpdCdzIHNsb3cgYW5k IGl0J3MgY2xlYXJseSBub3QgdXNpbmcgdGhlIGNhcmQgYW5kIG1vc3QgbGlrZWx5IGRvaW5nIHNv bWUgc29ydCBvZiBzb2Z0d2FyZSByZW5kZXJpbmcgKG1heWJlIGxpa2UgYSBXaW5kb3dzIGxsdm1w aXBlKS48L2Rpdj48ZGl2IHN0eWxlPSJmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7IGZv bnQtc2l6ZTogMTRweCI+PGJyPjwvZGl2Pg0KPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6IEFyaWFs LCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE0cHgiIGNsYXNzPSJwcm90b25tYWlsX3NpZ25hdHVy ZV9ibG9jayI+DQogICAgPGRpdiBjbGFzcz0icHJvdG9ubWFpbF9zaWduYXR1cmVfYmxvY2stdXNl ciI+DQogICAgICAgIDxkaXY+Sm9uYXRoYW4gVmFzcXVlejxicj48L2Rpdj48ZGl2PlBHUDogMzRE QSA4NThDIDE0NDcgNTA5RSBDNzdBICBENDlGIEZCODUgOTBCNyBDNENBIDUyNzk8YnI+PC9kaXY+ PGRpdj5TZW50IHdpdGggUHJvdG9uTWFpbCBTZWN1cmUgRW1haWw8YnI+PC9kaXY+PGRpdj48YnI+ PC9kaXY+DQogICAgPC9kaXY+DQoNCiAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb3Rvbm1haWxf c2lnbmF0dXJlX2Jsb2NrLXByb3RvbiBwcm90b25tYWlsX3NpZ25hdHVyZV9ibG9jay1lbXB0eSI+ DQoNCiAgICAgICAgICAgIDwvZGl2Pg0KPC9kaXY+DQo8ZGl2IHN0eWxlPSJmb250LWZhbWlseTog QXJpYWwsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTRweCI+PGJyPjwvZGl2PjxkaXYgY2xhc3M9 InByb3Rvbm1haWxfcXVvdGUiPg0KICAgICAgICBPbiBNb25kYXksIEF1Z3VzdCAyNXRoLCAyMDI1 IGF0IDE0OjUxLCBKb25hdGhhbiBWYXNxdWV6ICZsdDtqb25AeHlpbm4ub3JnJmd0OyB3cm90ZTo8 YnI+DQogICAgICAgIDxibG9ja3F1b3RlIGNsYXNzPSJwcm90b25tYWlsX3F1b3RlIiB0eXBlPSJj aXRlIj4NCiAgICAgICAgICAgIDxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1z ZXJpZjsgZm9udC1zaXplOiAxNHB4Ij5ObyBnbyBmb3IgbXkgdGVzdGluZyBpbnNpZGUgYSBMaW51 eCBNaW50IDIyLjEgVk0uIEZ1bGx5IHVwZGF0ZWQsIGFuZCBwYXNzaW5nIGluIGJvdGggMy8wLzAg YW5kIDMvMC8xIGZvciBteSBBTUQgUmFkZW9uIGNhcmQuIEkgd2FzIGFibGUgdG8gZXh0cmFjdCBz b21lIG9mIHRoZSAiZG1lc2ciIGFuZCAiZWdsaW5mbyIgb3V0cHV0LiBSdW5uaW5nICJnbHhpbmZv IiBhbHNvIHNob3dlZCB0aGF0IHRoZSBPcGVuR0wgcmVuZGVyZXIgd2FzIHNldCB0byBsbHZtcGlw ZSwgc28gc29mdHdhcmUgcmVuZGVyaW5nIDooLiAibHNwY2kgLWsiIGRldGVjdGVkIGl0IGFuZCBz aG93ZWQgdGhhdCBpdCB3YXMgdXNpbmcgdGhlICJhbWRncHUiIGtlcm5lbCBkcml2ZXIuIFNpbmNl IEknbSB1c2luZyB2bS1iaHl2ZSBhdG0gSSBkaWRuJ3QgdGVzdCB0aGlzIHdpdGggdGhlIGR1bXBl ZCByb20sIGp1c3QgZGlyZWN0bHkgcGFzc2luZyB0aGVtIHRocm91Z2guIEkndmUgdXBsb2FkZWQg c29tZSBvZiB0aGUgbG9ncyBoZXJlIGZvciBub3cgaW4gY2FzZSBhbnlvbmUgd2FudHMgdG8gdGFr ZSBhIGdsYW5jZSBhdCB0aGVtOjwvZGl2PjxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OiBBcmlhbCwg c2Fucy1zZXJpZjsgZm9udC1zaXplOiAxNHB4Ij48YnI+PC9kaXY+PGRpdiBzdHlsZT0iZm9udC1m YW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE0cHgiPjxzcGFuPjxhIHRhcmdl dD0iX2JsYW5rIiByZWw9Im5vcmVmZXJyZXIgbm9mb2xsb3cgbm9vcGVuZXIiIGhyZWY9Imh0dHBz Oi8veHlpbm4ub3JnL2ZyZWVic2QvZmlsZXMvZ3B1X3Bhc3MvMjAyNS0wOC0yNS8iPmh0dHBzOi8v eHlpbm4ub3JnL2ZyZWVic2QvZmlsZXMvZ3B1X3Bhc3MvMjAyNS0wOC0yNS88L2E+PC9zcGFuPjxi cj48L2Rpdj48ZGl2IHN0eWxlPSJmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7IGZvbnQt c2l6ZTogMTRweCI+PGJyPjwvZGl2Pg0KPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6IEFyaWFsLCBz YW5zLXNlcmlmOyBmb250LXNpemU6IDE0cHgiIGNsYXNzPSJwcm90b25tYWlsX3NpZ25hdHVyZV9i bG9jayI+DQogICAgPGRpdiBjbGFzcz0icHJvdG9ubWFpbF9zaWduYXR1cmVfYmxvY2stdXNlciI+ DQogICAgICAgIDxkaXY+Sm9uYXRoYW4gVmFzcXVlejxicj48L2Rpdj48ZGl2PlBHUDogMzREQSA4 NThDIDE0NDcgNTA5RSBDNzdBICBENDlGIEZCODUgOTBCNyBDNENBIDUyNzk8YnI+PC9kaXY+PGRp dj5TZW50IHdpdGggUHJvdG9uTWFpbCBTZWN1cmUgRW1haWw8YnI+PC9kaXY+PGRpdj48YnI+PC9k aXY+DQogICAgPC9kaXY+DQoNCiAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb3Rvbm1haWxfc2ln bmF0dXJlX2Jsb2NrLXByb3RvbiBwcm90b25tYWlsX3NpZ25hdHVyZV9ibG9jay1lbXB0eSI+DQoN CiAgICAgICAgICAgIDwvZGl2Pg0KPC9kaXY+DQo8ZGl2IHN0eWxlPSJmb250LWZhbWlseTogQXJp YWwsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTRweCI+PGJyPjwvZGl2PjxkaXYgY2xhc3M9InBy b3Rvbm1haWxfcXVvdGUiPg0KICAgICAgICBPbiBNb25kYXksIEF1Z3VzdCAyNXRoLCAyMDI1IGF0 IDE0OjM3LCBSb2JlcnQgQ29ja2VyICZsdDtyY29ja2VyODdAZ21haWwuY29tJmd0OyB3cm90ZTo8 YnI+DQogICAgICAgIDxibG9ja3F1b3RlIGNsYXNzPSJwcm90b25tYWlsX3F1b3RlIiB0eXBlPSJj aXRlIj4NCg0KPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6IEFwdG9zLCAtYXBwbGUtc3lzdGVtLCBI ZWx2ZXRpY2FOZXVlLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDEycHQiPg0KPGRpdiBzdHlsZT0i Zm9udC1mYW1pbHk6IEFwdG9zLCBBcHRvc19NU0ZvbnRTZXJ2aWNlLCAtYXBwbGUtc3lzdGVtLCBS b2JvdG8sIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTJwdCIgZGly PSJsdHIiPg0KSGV5IGdyb3VwIGhhcyBiaHZ5ZSBjb3JlIGRldiBiYWtlZCBvdXQgYW4gdXBkYXRl IGZvciB0aGlzJm5ic3A7PC9kaXY+DQo8L2Rpdj4NCjxkaXYgaWQ9Im1zLW91dGxvb2stbW9iaWxl LWJvZHktc2VwYXJhdG9yLWxpbmUiIHN0eWxlPSJmb250LWZhbWlseTogQXB0b3MsIC1hcHBsZS1z eXN0ZW0sIEhlbHZldGljYU5ldWUsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTJwdCIgZGlyPSJh dXRvIj4NCjxicj4NCjwvZGl2Pg0KPGRpdiBpZD0ibXMtb3V0bG9vay1tb2JpbGUtc2lnbmF0dXJl IiBzdHlsZT0iZm9udC1mYW1pbHk6IEFwdG9zLCAtYXBwbGUtc3lzdGVtLCBIZWx2ZXRpY2FOZXVl LCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDEycHQiPg0KPGRpdiBkaXI9Imx0ciI+Um9iZXJ0PC9k aXY+DQo8L2Rpdj4NCjxociBzdHlsZT0iZGlzcGxheTogaW5saW5lLWJsb2NrOyB3aWR0aDogOTgl IiB0YWJpbmRleD0iLTEiPg0KPGRpdiBpZD0iZGl2UnBseUZ3ZE1zZyIgZGlyPSJsdHIiPjxmb250 IGZhY2U9IkNhbGlicmksIHNhbnMtc2VyaWYiIHN0eWxlPSJmb250LXNpemU6IDExcHQiIGNvbG9y PSIjMDAwMDAwIj48Yj5Gcm9tOjwvYj4gb3duZXItZnJlZWJzZC12aXJ0dWFsaXphdGlvbkBGcmVl QlNELm9yZyAmbHQ7b3duZXItZnJlZWJzZC12aXJ0dWFsaXphdGlvbkBGcmVlQlNELm9yZyZndDsg b24gYmVoYWxmIG9mIEpvbmF0aGFuIFZhc3F1ZXogJmx0O2pvbkB4eWlubi5vcmcmZ3Q7PGJyPg0K PGI+U2VudDo8L2I+IE1vbmRheSwgQXVndXN0IDI1LCAyMDI1IDExOjM1OjMxIEFNPGJyPg0KPGI+ VG86PC9iPiBKb25hdGhhbiBWYXNxdWV6ICZsdDtqb25AeHlpbm4ub3JnJmd0Ozxicj4NCjxiPkNj OjwvYj4gU3RlcGhhbiBBbHRoYXVzICZsdDtTdGVwaGFuLkFsdGhhdXNARHVlZGluZ2hhdXNlbi5l dSZndDs7IHZpcnR1YWxpemF0aW9uQGZyZWVic2Qub3JnICZsdDt2aXJ0dWFsaXphdGlvbkBmcmVl YnNkLm9yZyZndDs8YnI+DQo8Yj5TdWJqZWN0OjwvYj4gUmU6IEdQVSBQYXNzdGhyb3VnaCBvbiBG cmVlQlNEIDE0LjMgKEFNRCBSYWRlb24gUlggNjkwMCBYVCBhbmQgV2luZG93cyAxMCBQcm8pPC9m b250Pg0KPGRpdj4mbmJzcDs8L2Rpdj4NCjwvZGl2Pg0KPGRpdj4NCjxkaXYgc3R5bGU9ImZvbnQt ZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxNHB4Ij5JIHdhcyBhYmxlIHRv IGdldCBhIGZyZXNoIFdpbiAxMCBQcm8gVk0gcnVubmluZyB0aHJvdWdoIHZtLWJoeXZlIGJ1dCBu byBwcm9ncmVzcy4gU3RpbGwgc2FtZSBDb2RlIDQzIGVycm9yIGFzIGJlZm9yZS4gSSB3YXNuJ3Qg YWJsZSB0byBmaWd1cmUgb3V0IGhvdyB0byBwYXNzIHRoZQ0KPGNvZGU+cm9tPWJpb3Mucm9tPC9j b2RlPuKAiyB0aHJvdWdoIHZtLWJoeXZlLCBJIGRpZG4ndCBzZWUgYW55dGhpbmcgYWJvdXQgaXQg aW4gdGhlIGNvbmZpZy5zYW1wbGUgZmlsZSBhbmQgSSBhbHNvIHRyaWVkIHRvIGJ5cGFzcyB0aGF0 IGJ5IGFkZGluZyBpdCBpbiBiaHl2ZV9vcHRpb25zIGJ1dCBubyBnbywgdGhlIFZNIHdvdWxkbid0 IGV2ZW4gc3RhcnQgaWYgSSBkaWQgdGhhdC4gSSBzZWUgdGhlcmUgaXMgYSAiYmh5dmVfZGV2aWNl cyIgdGhhdCBjb250YWlucw0KIGFsbCBvZiB0aGUgc2xvdCBkZXZpY2VzIGJ1dCBJIGRvbid0IHNl ZSB0aGF0IGFzIGFuIGFkanVzdGFibGUgdmFyaWFibGUgYmFzZWQgb24gdGhlIGNvbmZpZy5zYW1w bGUgaW5mby4gSSd2ZSBwYXN0ZWQgbXkgY3VycmVudCB2bS1iaHl2ZSB0ZW1wbGF0ZSBiZWxvdy4g TXkgbmV4dCB0ZXN0IGlzIHRvIHRyeSB0aGUgc2FtZSB0aGluZyBpbnNpZGUgYSBMaW51eCBndWVz dCB0byBzZWUgd2hhdCBoYXBwZW5zLjwvZGl2Pg0KPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6IEFy aWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE0cHgiPjxicj4NCjwvZGl2Pg0KPGRpdiBzdHls ZT0iZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE0cHgiPi0tLS0t LS0tLS0tLS0tLS08L2Rpdj4NCjxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1z ZXJpZjsgZm9udC1zaXplOiAxNHB4Ij48YnI+DQo8L2Rpdj4NCjxkaXYgc3R5bGU9ImZvbnQtZmFt aWx5OiBBcmlhbCwgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxNHB4Ij48c3Bhbj5sb2FkZXI9InVl ZmkiICZuYnNwOyAmbmJzcDs8L3NwYW4+DQo8ZGl2PjxzcGFuPmNwdT0iNCIgJm5ic3A7ICZuYnNw Ozwvc3Bhbj48L2Rpdj4NCjxkaXY+PHNwYW4+Y3B1X3NvY2tldHM9IjEiICZuYnNwOyAmbmJzcDs8 L3NwYW4+PC9kaXY+DQo8ZGl2PjxzcGFuPmNwdV9jb3Jlcz0iNCIgJm5ic3A7ICZuYnNwOzwvc3Bh bj48L2Rpdj4NCjxkaXY+PHNwYW4+Y3B1X3RocmVhZHM9IjEiICZuYnNwOyAmbmJzcDs8L3NwYW4+ PC9kaXY+DQo8ZGl2PjxzcGFuPm1lbW9yeT0iMTZHIiAmbmJzcDsgJm5ic3A7PC9zcGFuPjwvZGl2 Pg0KPGRpdj48c3Bhbj53aXJlZF9tZW1vcnk9InllcyIgJm5ic3A7ICZuYnNwOzwvc3Bhbj48L2Rp dj4NCjxkaXY+PHNwYW4+Jm5ic3A7ICZuYnNwOyA8L3NwYW4+PC9kaXY+DQo8ZGl2PjxzcGFuPnV0 Y3RpbWU9Im5vIiAmbmJzcDsgJm5ic3A7PC9zcGFuPjwvZGl2Pg0KPGRpdj48c3Bhbj5haGNpX2Rl dmljZV9saW1pdD0iOCIgJm5ic3A7ICZuYnNwOzwvc3Bhbj48L2Rpdj4NCjxkaXY+PHNwYW4+Jm5i c3A7ICZuYnNwOyA8L3NwYW4+PC9kaXY+DQo8ZGl2PjxzcGFuPmRpc2swX3R5cGU9Im52bWUiICZu YnNwOyAmbmJzcDs8L3NwYW4+PC9kaXY+DQo8ZGl2PjxzcGFuPmRpc2swX25hbWU9ImRpc2swLmlt ZyIgJm5ic3A7ICZuYnNwOzwvc3Bhbj48L2Rpdj4NCjxkaXY+PHNwYW4+Jm5ic3A7ICZuYnNwOyA8 L3NwYW4+PC9kaXY+DQo8ZGl2PjxzcGFuPm5ldHdvcmswX3R5cGU9ImUxMDAwIiAmbmJzcDsgJm5i c3A7PC9zcGFuPjwvZGl2Pg0KPGRpdj48c3Bhbj5uZXR3b3JrMF9zd2l0Y2g9InB1YmxpYyIgJm5i c3A7ICZuYnNwOzwvc3Bhbj48L2Rpdj4NCjxkaXY+PHNwYW4+Jm5ic3A7ICZuYnNwOyA8L3NwYW4+ PC9kaXY+DQo8ZGl2PjxzcGFuPnBhc3N0aHJ1MD0iMy8wLzA9MjowIiAmbmJzcDsgJm5ic3A7PC9z cGFuPjwvZGl2Pg0KPGRpdj48c3Bhbj5wYXNzdGhydTE9IjMvMC8xPTI6MSIgJm5ic3A7ICZuYnNw Ozwvc3Bhbj48L2Rpdj4NCjxkaXY+PHNwYW4+Jm5ic3A7ICZuYnNwOyA8L3NwYW4+PC9kaXY+DQo8 ZGl2PjxzcGFuPiNiaHl2ZV9vcHRpb25zPSItcyAyOjAscGFzc3RocnUsMy8wLzAscm9tPWJpb3Mu cm9tIiAmbmJzcDsgJm5ic3A7PC9zcGFuPjwvZGl2Pg0KPGRpdj48c3Bhbj48YnI+DQo8L3NwYW4+ PC9kaXY+DQo8ZGl2PjxzcGFuPiMgVXNpbmcgUkRQIHBvc3QtaW5zdGFsbC4mbmJzcDsgJm5ic3A7 PC9zcGFuPjwvZGl2Pg0KPGRpdj48c3Bhbj5ncmFwaGljcz0ibm8iICZuYnNwOyAmbmJzcDs8L3Nw YW4+PC9kaXY+DQo8ZGl2PjxzcGFuPmdyYXBoaWNzX3BvcnQ9IjU5MDAiICZuYnNwOyAmbmJzcDs8 L3NwYW4+PC9kaXY+DQo8ZGl2PjxzcGFuPmdyYXBoaWNzX2xpc3Rlbj0iMC4wLjAuMCIgJm5ic3A7 ICZuYnNwOzwvc3Bhbj48L2Rpdj4NCjxkaXY+PHNwYW4+Z3JhcGhpY3NfcmVzPSIxOTIweDEwODAi ICZuYnNwOyAmbmJzcDs8L3NwYW4+PC9kaXY+DQo8ZGl2PjxzcGFuPmdyYXBoaWNzX3dhaXQ9Inll cyIgJm5ic3A7ICZuYnNwOzwvc3Bhbj48L2Rpdj4NCjxkaXY+PHNwYW4+Jm5ic3A7ICZuYnNwOyA8 L3NwYW4+PC9kaXY+DQo8ZGl2PjxzcGFuPnhoY2lfbW91c2U9InllcyIgJm5ic3A7ICZuYnNwOzwv c3Bhbj48L2Rpdj4NCjxkaXY+PHNwYW4+dXVpZD0iNTM1ZDU0YjUtODFjYi0xMWYwLTkzYTItOThi Nzg1MDFiZGE4IiAmbmJzcDsgJm5ic3A7PC9zcGFuPjwvZGl2Pg0KPHNwYW4+bmV0d29yazBfbWFj PSI1ODo5YzpmYzowNDo1YTplYiImbmJzcDsgJm5ic3A7PC9zcGFuPjwvZGl2Pg0KPGRpdiBzdHls ZT0iZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE0cHgiPjxzcGFu Pjxicj4NCjwvc3Bhbj48L2Rpdj4NCjxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fu cy1zZXJpZjsgZm9udC1zaXplOiAxNHB4Ij4tLS0tLS0tLS0tLS0tLS0tPC9kaXY+DQo8ZGl2IHN0 eWxlPSJmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTRweCI+PGJy Pg0KPC9kaXY+DQo8ZGl2IGNsYXNzPSJ4X3Byb3Rvbm1haWxfc2lnbmF0dXJlX2Jsb2NrIiBzdHls ZT0iZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE0cHgiPg0KPGRp diBjbGFzcz0ieF9wcm90b25tYWlsX3NpZ25hdHVyZV9ibG9jay11c2VyIj4NCjxkaXY+Sm9uYXRo YW4gVmFzcXVlejxicj4NCjwvZGl2Pg0KPGRpdj5QR1A6IDM0REEgODU4QyAxNDQ3IDUwOUUgQzc3 QSBENDlGIEZCODUgOTBCNyBDNENBIDUyNzk8YnI+DQo8L2Rpdj4NCjxkaXY+U2VudCB3aXRoIFBy b3Rvbk1haWwgU2VjdXJlIEVtYWlsPGJyPg0KPC9kaXY+DQo8ZGl2Pjxicj4NCjwvZGl2Pg0KPC9k aXY+DQo8ZGl2IGNsYXNzPSJ4X3Byb3Rvbm1haWxfc2lnbmF0dXJlX2Jsb2NrLXByb3RvbiB4X3By b3Rvbm1haWxfc2lnbmF0dXJlX2Jsb2NrLWVtcHR5Ij4NCjwvZGl2Pg0KPC9kaXY+DQo8ZGl2IHN0 eWxlPSJmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTRweCI+PGJy Pg0KPC9kaXY+DQo8ZGl2IGNsYXNzPSJ4X3Byb3Rvbm1haWxfcXVvdGUiPk9uIE1vbmRheSwgQXVn dXN0IDI1dGgsIDIwMjUgYXQgMTE6MDUsIEpvbmF0aGFuIFZhc3F1ZXogJmx0O2pvbkB4eWlubi5v cmcmZ3Q7IHdyb3RlOjxicj4NCjxibG9ja3F1b3RlIGNsYXNzPSJ4X3Byb3Rvbm1haWxfcXVvdGUi IHR5cGU9ImNpdGUiPg0KPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlm OyBmb250LXNpemU6IDE0cHgiPlVuZm9ydHVuYXRlbHkgSSBkb24ndCBoYXZlIGFuIGludGVsIG1h Y2hpbmUgd2l0aCBhbiBhdmFpbGFibGUgUENJZSBzbG90LiBIb3dldmVyIEknbSB0cnlpbmcgYW5v dGhlciB0aGluZyB3aGljaCBpcyB0byBwYXNzdGhyb3VnaCB0aGUgY2FyZCB0byBhIExpbnV4IGd1 ZXN0LiBJIG5lZWQgdG8gcnVuIG1vcmUgZXhwZXJpbWVudHMgYnV0IGEgcHJlbGltaW5hcnkNCiBi b290IG9mIGEgTGludXggTWludCBJU08gZGlkIHNob3cgdGhlIEFNRCBSYWRlb24gUlggNjkwMCBY VCBjYXJkIGluIDxjb2RlPmxzcGNpPC9jb2RlPuKAiyBhbmQgc2hvd2VkIHRoYXQgaXQgd2FzIHVz aW5nIHRoZQ0KPGNvZGU+YW1kZ3B1PC9jb2RlPuKAiyBkcml2ZXIuIEkgdGhlbiBkaWQgYSBiYXNp YyA8Y29kZT5nbHhnZWFyczwvY29kZT7igIsgYW5kIGl0IG9wZW5lZCB1cCBpbiBteSBWTkMgd2lu ZG93IGFuZCBzaG93ZWQgdGhlIEZQUyBjb3VudGVyIGF0IG92ZXIgMjAwMCBmcHMuIFRoZSBvbmx5 IGlzc3VlIEkgbm90aWNlZCB3YXMgd2hlbiBzaHV0dGluZyBkb3duIHRoZSBsaXZlIENEIGVudmly b25tZW50IHRoZXJlIHdlcmUNCjxjb2RlPmFtZGdwdTwvY29kZT7igIsgZmFpbHVyZSBtZXNzYWdl cyB3aGVyZSBpdCB3YXMgZmFpbGluZyB0byB3cml0ZSBzb21ldGhpbmcgdG8gaXQuIEknbSBjdXJy ZW50bHkgcmVkb2luZyBteSAiYmFzaWMgYmh5dmUgc2NyaXB0IiBhbmQgbW92aW5nIGl0IG92ZXIg dG8gInZtLWJoeXZlIiBzaW5jZSBpdCBzZWVtcyBhIGxvdCBvZiBwZW9wbGUgYXJlIHVzaW5nIHRo YXQgaW5zdGVhZCBvZiB0aGUgbW9yZSBtYW51YWwgYXBwcm9hY2guIFRoaXMgc2hvdWxkDQogaG9w ZWZ1bGx5IGhlbHAgc2ltcGxpZnkgdGhpbmdzIGZvciBkZWJ1Z2dpbmcuIElmIHRoZSBjYXJkIHdv cmtzIG9uIExpbnV4IHZpYSBwYXNzdGhyb3VnaCB0aGlzIHdvdWxkIGFsc28gYmUgdXNlZnVsIGlu Zm8gYW5kIGNhbiBhbGxvdyBtZSB0byBzZWUgdGhlIHBlcmZvcm1hbmNlIG9mIEN5cGVycHVuayAy MDc3LCBhbmQgc29tZSBvdGhlciBnYW1lcyAoZXZlbiBpZiBJJ20gbm90IGdldHRpbmcgMTAwJSBv ZiB0aGUgY2FyZCdzIHBlcmZvcm1hbmNlKS48L2Rpdj4NCjxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5 OiBBcmlhbCwgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxNHB4Ij48YnI+DQo8L2Rpdj4NCjxkaXYg Y2xhc3M9InhfcHJvdG9ubWFpbF9zaWduYXR1cmVfYmxvY2siIHN0eWxlPSJmb250LWZhbWlseTog QXJpYWwsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTRweCI+DQo8ZGl2IGNsYXNzPSJ4X3Byb3Rv bm1haWxfc2lnbmF0dXJlX2Jsb2NrLXVzZXIiPg0KPGRpdj5Kb25hdGhhbiBWYXNxdWV6PGJyPg0K PC9kaXY+DQo8ZGl2PlBHUDogMzREQSA4NThDIDE0NDcgNTA5RSBDNzdBIEQ0OUYgRkI4NSA5MEI3 IEM0Q0EgNTI3OTxicj4NCjwvZGl2Pg0KPGRpdj5TZW50IHdpdGggUHJvdG9uTWFpbCBTZWN1cmUg RW1haWw8YnI+DQo8L2Rpdj4NCjxkaXY+PGJyPg0KPC9kaXY+DQo8L2Rpdj4NCjxkaXYgY2xhc3M9 InhfcHJvdG9ubWFpbF9zaWduYXR1cmVfYmxvY2stcHJvdG9uIHhfcHJvdG9ubWFpbF9zaWduYXR1 cmVfYmxvY2stZW1wdHkiPg0KPC9kaXY+DQo8L2Rpdj4NCjxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5 OiBBcmlhbCwgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxNHB4Ij48YnI+DQo8L2Rpdj4NCjxkaXYg Y2xhc3M9InhfcHJvdG9ubWFpbF9xdW90ZSI+T24gTW9uZGF5LCBBdWd1c3QgMjV0aCwgMjAyNSBh dCAxMTowMCwgU3RlcGhhbiBBbHRoYXVzICZsdDtTdGVwaGFuLkFsdGhhdXNARHVlZGluZ2hhdXNl bi5ldSZndDsgd3JvdGU6PGJyPg0KPGJsb2NrcXVvdGUgY2xhc3M9InhfcHJvdG9ubWFpbF9xdW90 ZSIgdHlwZT0iY2l0ZSI+DQo8ZGl2IGNsYXNzPSJ4X21vei1jaXRlLXByZWZpeCI+T24gOC8yNS8y NSAxNjo1NiwgSm9uYXRoYW4gVmFzcXVleiB3cm90ZTo8YnI+DQo8L2Rpdj4NCjxibG9ja3F1b3Rl IHR5cGU9ImNpdGUiPg0KPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlm OyBmb250LXNpemU6IDE0cHgiPkhleSBTdGVwaGFuLDwvZGl2Pg0KPGRpdiBzdHlsZT0iZm9udC1m YW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE0cHgiPjxicj4NCjwvZGl2Pg0K PGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE0 cHgiPll1cCwgSSd2ZSB0cmllZCBwYXNzaW5nIGJvdGggMy8wLzAgYW5kIDMvMC8xIGFuZCBubyBn bywgYW5kIEkgYWxzbyBtYWtlIHN1cmUgdG8gcmVib290IHRoZSBob3N0IGluIGJldHdlZW4gcnVu cyBkdWUgdG8gdGhlIGFtZCBoYXJkd2FyZSBpc3N1ZS4gSSBkb24ndCBiZWxpZXZlIDMvMC8xIGlz IG5lY2Vzc2FyeSB0aG91Z2ggYmFzZWQgb24gdGhlIGV4YW1wbGVzDQogYnkgQ29ydmluIGluIGhp cyB0YWxrLiBIZSBvbmx5IHBhc3NlZCBpbiAzLzAvMCAoSSdtIGd1ZXNzaW5nIGhpcyBjYXJkIGFs c28gaGFzIGEgMy8wLzEgZnVuY3Rpb24gdGhhdCBoZSBpc24ndCB1c2luZyBzaW5jZSB0aGF0J3Mg dGhlIGF1ZGlvIGNoYW5uZWwpLjwvZGl2Pg0KPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6IEFyaWFs LCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE0cHgiPjxicj4NCjwvZGl2Pg0KPGRpdiBjbGFzcz0i eF9wcm90b25tYWlsX3NpZ25hdHVyZV9ibG9jayIgc3R5bGU9ImZvbnQtZmFtaWx5OiBBcmlhbCwg c2Fucy1zZXJpZjsgZm9udC1zaXplOiAxNHB4Ij4NCjxkaXYgY2xhc3M9InhfcHJvdG9ubWFpbF9z aWduYXR1cmVfYmxvY2stdXNlciI+DQo8ZGl2PkpvbmF0aGFuIFZhc3F1ZXo8YnI+DQo8L2Rpdj4N CjxkaXY+UEdQOiAzNERBIDg1OEMgMTQ0NyA1MDlFIEM3N0EgRDQ5RiBGQjg1IDkwQjcgQzRDQSA1 Mjc5PGJyPg0KPC9kaXY+DQo8ZGl2PlNlbnQgd2l0aCBQcm90b25NYWlsIFNlY3VyZSBFbWFpbDxi cj4NCjwvZGl2Pg0KPGRpdj48YnI+DQo8L2Rpdj4NCjwvZGl2Pg0KPGRpdiBjbGFzcz0ieF9wcm90 b25tYWlsX3NpZ25hdHVyZV9ibG9jay1wcm90b24geF9wcm90b25tYWlsX3NpZ25hdHVyZV9ibG9j ay1lbXB0eSI+DQo8L2Rpdj4NCjwvZGl2Pg0KPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6IEFyaWFs LCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE0cHgiPjxicj4NCjwvZGl2Pg0KPGRpdiBjbGFzcz0i eF9wcm90b25tYWlsX3F1b3RlIj5PbiBNb25kYXksIEF1Z3VzdCAyNXRoLCAyMDI1IGF0IDEwOjUy LCBTdGVwaGFuIEFsdGhhdXMNCjxhIGNsYXNzPSJ4X21vei10eHQtbGluay1yZmMyMzk2RSIgcmVs PSJub3JlZmVycmVyIj4NCiZsdDtTdGVwaGFuLkFsdGhhdXNARHVlZGluZ2hhdXNlbi5ldSZndDs8 L2E+IHdyb3RlOjxicj4NCjxibG9ja3F1b3RlIGNsYXNzPSJ4X3Byb3Rvbm1haWxfcXVvdGUiIHR5 cGU9ImNpdGUiPg0KPGRpdiBjbGFzcz0ieF9tb3otY2l0ZS1wcmVmaXgiPk9uIDgvMjUvMjUgMTY6 NDcsIFN0ZXBoYW4gQWx0aGF1cyB3cm90ZTo8YnI+DQo8L2Rpdj4NCjxibG9ja3F1b3RlIHR5cGU9 ImNpdGUiPg0KPGRpdiBjbGFzcz0ieF9tb3otY2l0ZS1wcmVmaXgiPk9uIDgvMjQvMjUgMjM6NTgs IEpvbmF0aGFuIFZhc3F1ZXogd3JvdGU6PGJyPg0KPC9kaXY+DQo8YmxvY2txdW90ZSB0eXBlPSJj aXRlIj4NCjxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjsgZm9udC1z aXplOiAxNHB4Ij48c3Bhbj5IZXkgYWxsLDwvc3Bhbj48L2Rpdj4NCjxkaXYgc3R5bGU9ImZvbnQt ZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxNHB4Ij48c3Bhbj48YnI+DQo8 L3NwYW4+PC9kaXY+DQo8ZGl2IHN0eWxlPSJmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7 IGZvbnQtc2l6ZTogMTRweCI+PHNwYW4+SSd2ZSBiZWVuIGV4cGVyaW1lbnRpbmcgd2l0aCB0cnlp bmcgdG8gZ2V0IG15IHNlcnZlcidzIGRlZGljYXRlZCBBTUQgUmFkZW9uIFJYIDY5MDAgWFQgd29y a2luZyBvbiBhIGJoeXZlIFdpbmRvd3MgMTAgUHJvIGNsaWVudCBmb3IgZ2FtaW5nIHB1cnBvc2Vz LiBJJ3ZlIGJlZW4gcmVhZGluZyBhIGJ1bmNoIG9mIGJsb2cgcG9zdHMsIHNpdGVzLA0KIGZpbGVz LCBhbmQgdmlkZW9zICh0aGFua3MgQ29ydmluKSB0byB0cnkgYW5kIHBpZWNlIHRoaW5ncyB0b2dl dGhlci4gSSd2ZSBiZWVuIGFibGUgdG8gZ2V0IHRoZSBWTSB0byByZWNvZ25pemUgdGhlIGNhcmQs IGJ1dCBzdGlsbCBzdHVjayBvbiB0aGUgQ29kZSA0MyBpc3N1ZSAod2l0aCBvciB3aXRob3V0IHVz aW5nIHRoZSB2QklPUyBJJ3ZlIGV4dHJhY3RlZCBmcm9tIG15IGRlZGljYXRlZCBjYXJkIGFuZCBh bHNvIGVuc3VyaW5nIGFueSBvcHRpb25zDQogbmVlZGVkIHRvIGJlIG9uIGluIHRoZSBVRUZJIHNl dHRpbmdzIGFyZSBlbmFibGVkKS4gVGhpcyBtYWNoaW5lIGlzIHJ1bm5pbmcgb24gYW4gQU1EIFJ5 emVuIDkgNzk1MFggMTYtQ29yZSBQcm9jZXNzb3IsIHNvIGl0J3MgYSBmdWxsIEFNRCBzZXR1cCwg bm8gSW50ZWwgc3R1ZmYuIEl0IHRlY2huaWNhbGx5IHNob3VsZCBiZSByZWxhdGl2ZWx5ICJlYXN5 IiB0byBnZXQgQU1EIHdvcmtpbmcgZnJvbSB3aGF0IEkndmUgcmVhZCAoZXhjbHVkaW5nIHRoZQ0K IGtub3duIEFNRCBIYXJkd2FyZSByZXNldCBpc3N1ZSkuIEkndmUgZG9jdW1lbnRlZCBldmVyeXRo aW5nIEkndmUgZG9uZSBzbyBmYXIsIGFuZCB3aWxsIGJlIGRvY3VtZW50aW5nIG1vcmUgYW5kIHNp bXBsaWZ5aW5nIHRoZSBpbnN0cnVjdGlvbnMgYXMgSSBtYWtlIHByb2dyZXNzLiBQbGVhc2UgbGV0 IG1lIGtub3cgaWYgeW91IHNlZSBhbnkgdGhpbmcgd2VpcmQgb3IgYW55dGhpbmcgSSBjb3VsZCB0 cnkgYmFzZWQgb24gd2hhdCBJJ3ZlIHJld3JpdHRlbi4NCiBJJ2xsIHRyeSB0byBnaXZlIGl0IGEg Z28gYW5kIHByb3ZpZGUgZmVlZGJhY2suIFRoYW5rIHlvdSE8L3NwYW4+PC9kaXY+DQo8ZGl2IHN0 eWxlPSJmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTRweCI+PHNw YW4+PGJyPg0KPC9zcGFuPjwvZGl2Pg0KPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6IEFyaWFsLCBz YW5zLXNlcmlmOyBmb250LXNpemU6IDE0cHgiPjxzcGFuPjxhIHRhcmdldD0iX2JsYW5rIiByZWw9 Im5vcmVmZXJyZXIgbm9mb2xsb3cgbm9vcGVuZXIiIGhyZWY9Imh0dHBzOi8veHlpbm4ub3JnL2Js b2cvZnJlZWJzZC9mcmVlYnNkX2JoeXZlX2dwdV9wYXNzdGhyb3VnaF9hbWQiIGNsYXNzPSJ4X21v ei10eHQtbGluay1mcmVldGV4dCI+aHR0cHM6Ly94eWlubi5vcmcvYmxvZy9mcmVlYnNkL2ZyZWVi c2RfYmh5dmVfZ3B1X3Bhc3N0aHJvdWdoX2FtZDwvYT48L3NwYW4+PGJyPg0KPC9kaXY+DQo8ZGl2 IHN0eWxlPSJmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTRweCI+ PGJyPg0KPC9kaXY+DQo8ZGl2IGNsYXNzPSJ4X3Byb3Rvbm1haWxfc2lnbmF0dXJlX2Jsb2NrIiBz dHlsZT0iZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE0cHgiPg0K PGRpdiBjbGFzcz0ieF9wcm90b25tYWlsX3NpZ25hdHVyZV9ibG9jay11c2VyIj4NCjxkaXY+Sm9u YXRoYW4gVmFzcXVlejxicj4NCjwvZGl2Pg0KPGRpdj5QR1A6IDM0REEgODU4QyAxNDQ3IDUwOUUg Qzc3QSBENDlGIEZCODUgOTBCNyBDNENBIDUyNzk8YnI+DQo8L2Rpdj4NCjxkaXY+U2VudCB3aXRo IFByb3Rvbk1haWwgU2VjdXJlIEVtYWlsPGJyPg0KPC9kaXY+DQo8ZGl2Pjxicj4NCjwvZGl2Pg0K PC9kaXY+DQo8ZGl2IGNsYXNzPSJ4X3Byb3Rvbm1haWxfc2lnbmF0dXJlX2Jsb2NrLXByb3RvbiB4 X3Byb3Rvbm1haWxfc2lnbmF0dXJlX2Jsb2NrLWVtcHR5Ij4NCjwvZGl2Pg0KPC9kaXY+DQo8L2Js b2NrcXVvdGU+DQo8cD5IaSE8L3A+DQo8cD5pIGhhdmUgYSBBTUQgUlg2NDAwIEdQVSBzZXR1cCBy dW5uaW5nIG9uIDE0LjIgd2l0aCB3aW4xMCBndWVzdCwgaG9zdCBpcyBhIGludGVsIHN5c3RlbS48 L3A+DQo8cD5pIHRoaW5rIHlvdSBoYXZlIHRvIHBhc3N0aHJvdWdoIHRoZSAzLzAvMSBkZXZpY2Ug YXMgd2VsbCE8L3A+DQo8cD5UaGUgYmlvcy5yb20gaXMgZXh0cmFjdGVkIGZyb20gdGhpcyBjYXJk IGluIHBsYWNlID88L3A+DQo8cD48YnI+DQo8L3A+DQo8cD5SZWdhcmRzLDxicj4NClN0ZXBoYW48 L3A+DQo8cD48YnI+DQo8L3A+DQo8L2Jsb2NrcXVvdGU+DQo8cD5BaCwgYW5kIGJlIHNodXJlIHRv IHJlYm9vdCB0aGUgd2hvbGUgc2V0dXAsIGluY2x1c2l2ZSBob3N0LCBmb3IgZXZlcnkgbmV3IHRl c3QtY2FzZSwNCjxicj4NCmF0IGxlYXN0IGFzIGxvbmcgYXQgaXMgbm90IGd1YXJhbnRlZWQgdGhh dCB3ZSBjYW4gbGl2ZSB3aXRob3V0Li48L3A+DQo8cD5SZWdhcnMsPGJyPg0KU3RlcGhhbjwvcD4N CjxwPjxicj4NCjwvcD4NCjwvYmxvY2txdW90ZT4NCjxicj4NCjwvZGl2Pg0KPC9ibG9ja3F1b3Rl Pg0KPHA+SGkhPC9wPg0KPHA+TXkgb25seSBuZXh0IGFzc3VtcHRpb24gd291bGQgYmUgdGhhdCB0 aGlzIG9ubHkgZG9lcyBub3Qgd29yayBvbiBBTUQgaG9zdC48L3A+DQo8cD5Zb3UgZG9uJ3QgaGF2 ZSBhbiBpbnRlbCBzeXN0ZW0gdG8gdGVzdCwgeW91IHdvdWxkIGhhdmVkb25lIGl0LCBpZiBzby4u ICg/KTwvcD4NCjxwPlN0ZXBoYW48L3A+DQo8cD48YnI+DQo8L3A+DQo8L2Jsb2NrcXVvdGU+DQo8 YnI+DQo8L2Rpdj4NCjwvYmxvY2txdW90ZT4NCjxicj4NCjwvZGl2Pg0KPC9kaXY+DQoNCg0KDQog ICAgICAgIDwvYmxvY2txdW90ZT48YnI+DQogICAgPC9kaXY+DQogICAgICAgIDwvYmxvY2txdW90 ZT48YnI+DQogICAgPC9kaXY+PC9ibG9ja3F1b3RlPjwvZGl2Pg0KICAgICAgICAgICAgICAgICAg ICA8L2Rpdj4NCiAgICAgICAgPC9ibG9ja3F1b3RlPjxicj4NCiAgICA8L2Rpdj4= --b1=_SqazFyrIdMkNAFJnPiDeJHH64ewp5o7xiMiPqEG8Q--