From nobody Sat Jun 24 15:29:01 2023 X-Original-To: freebsd-hackers@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 4QpJ1R4y4tz4hJVX for ; Sat, 24 Jun 2023 15:29:15 +0000 (UTC) (envelope-from asomers@gmail.com) Received: from mail-qv1-f41.google.com (mail-qv1-f41.google.com [209.85.219.41]) (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 "GTS CA 1D4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4QpJ1Q5K3Nz3tXf for ; Sat, 24 Jun 2023 15:29:14 +0000 (UTC) (envelope-from asomers@gmail.com) Authentication-Results: mx1.freebsd.org; dkim=none; spf=pass (mx1.freebsd.org: domain of asomers@gmail.com designates 209.85.219.41 as permitted sender) smtp.mailfrom=asomers@gmail.com; dmarc=none Received: by mail-qv1-f41.google.com with SMTP id 6a1803df08f44-62ffec60373so17511236d6.0 for ; Sat, 24 Jun 2023 08:29:14 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1687620553; x=1690212553; h=content-transfer-encoding:cc:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=As7hdchPKqSP2zWdpYlGLx6TNQyVqHkar982rMnFN/c=; b=AfzHoeYohLUYtnKtaSjbVYIquO++Udt1gyfqdGGGw8hUEMUUMGiF324a4uVi+sKn3F i7/kX5AwE2cj0OCaWcYHdK2xghp7H1cW0bPzKWhhpxhHiBLtfemhaSB9FNa6kuIcL93T YnLZh3fx4ZWr+q6E3j0jBh3CwGRF6fUwJRuHl0zybpJ+YHSDAXe+El9kxxSOqRzTpz7U Q6fX/1/gIaHzUqnBEv0AUTrPstThf3bGZ3SJtOipK41okOLxGTveQxuKdg9DzPz+o8ey UbiTwTNR71GF9Jan+K8uf0HlQpmd7AjUb7VqkhtRSGo7EriNUpb4W5nrbBpAac8041lG cErA== X-Gm-Message-State: AC+VfDxhg93xa2JTU8MFJpxVXlKiUxytDUrWEOOWEWTQVLoyRP4FV1yX xgJdcBhGOpgrquRG8Lob8+v0pk1mPggQTN3xCVjU1Bfgj7g= X-Received: by 2002:a05:6214:1c47:b0:5b5:9c2:8c29 with SMTP id if7-20020a0562141c4700b005b509c28c29mt22228661qvb.12.1687620553280; Sat, 24 Jun 2023 08:29:13 -0700 (PDT) List-Id: Technical discussions relating to FreeBSD List-Archive: https://lists.freebsd.org/archives/freebsd-hackers List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-hackers@freebsd.org MIME-Version: 1.0 References: In-Reply-To: From: Alan Somers Date: Sat, 24 Jun 2023 08:29:01 -0700 Message-ID: Subject: Re: Should close() release locks atomically? Cc: Konstantin Belousov , FreeBSD Hackers Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spamd-Result: default: False [0.18 / 15.00]; MISSING_TO(2.00)[]; SUBJECT_ENDS_QUESTION(1.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_SHORT(-0.98)[-0.983]; NEURAL_HAM_MEDIUM(-0.84)[-0.841]; FORGED_SENDER(0.30)[asomers@freebsd.org,asomers@gmail.com]; R_SPF_ALLOW(-0.20)[+ip4:209.85.128.0/17]; MIME_GOOD(-0.10)[text/plain]; MLMMJ_DEST(0.00)[freebsd-hackers@freebsd.org]; PREVIOUSLY_DELIVERED(0.00)[freebsd-hackers@freebsd.org]; R_DKIM_NA(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[209.85.219.41:from]; RWL_MAILSPIKE_POSSIBLE(0.00)[209.85.219.41:from]; MIME_TRACE(0.00)[0:+]; DMARC_NA(0.00)[freebsd.org]; TO_MATCH_ENVRCPT_SOME(0.00)[]; BLOCKLISTDE_FAIL(0.00)[209.85.219.41:server fail]; FREEFALL_USER(0.00)[asomers]; FREEMAIL_CC(0.00)[gmail.com,freebsd.org]; RCVD_TLS_LAST(0.00)[]; RCPT_COUNT_TWO(0.00)[2]; TO_DN_ALL(0.00)[]; FROM_HAS_DN(0.00)[]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US]; FREEMAIL_ENVFROM(0.00)[gmail.com]; FROM_NEQ_ENVFROM(0.00)[asomers@freebsd.org,asomers@gmail.com]; ARC_NA(0.00)[]; RCVD_COUNT_TWO(0.00)[2] X-Rspamd-Queue-Id: 4QpJ1Q5K3Nz3tXf X-Spamd-Bar: / X-ThisMailContainsUnwantedMimeParts: N On Fri, Jun 23, 2023 at 1:53=E2=80=AFPM Alan Somers w= rote: > > On Fri, Jun 23, 2023 at 1:48=E2=80=AFPM Konstantin Belousov wrote: > > > > On Fri, Jun 23, 2023 at 01:11:34PM -0700, Alan Somers wrote: > > > On Fri, Jun 23, 2023 at 1:03=E2=80=AFPM Konstantin Belousov wrote: > > > > > > > > On Fri, Jun 23, 2023 at 12:00:36PM -0700, Alan Somers wrote: > > > > > The close() syscall automatically releases locks. Should it do s= o > > > > > atomically or is a delay permitted? I can't find anything in our= man > > > > > pages or the open group specification that says. > > > > > > > > > > The distinction matters when using O_NONBLOCK. For example: > > > > > > > > > > fd =3D open(..., O_DIRECT | O_EXLOCK | O_NONBLOCK); //succeeds > > > > > // do some I/O > > > > > close(fd); > > > > > fd =3D open(..., O_DIRECT | O_EXLOCK | O_NONBLOCK); //fails with = EAGAIN! > > > > > > > > > > I see this error frequently on a heavily loaded system. It isn't= a > > > > > typical thread race though; ktrace shows that only one thread tri= es to > > > > > open the file in question. From the ktrace, I can see that the f= inal > > > > > open() comes immediately after the close(), with no intervening > > > > > syscalls from that thread. It seems that close() doesn't release= the > > > > > lock right away. I wouldn't notice if I weren't using O_NONBLOCK= . > > > > > > > > > > Should this be considered a bug? If so I could try to come up wi= th a > > > > > minimal test case. But it's somewhat academic, since I plan to > > > > > refactor the code in a way that will eliminate the duplicate open= (). > > > > What type of the object is behind fd? O_NONBLOCK affects open itse= lf. > > > > We release flock after object close method, but before close(2) ret= urns. > > > > > > This is a plain file on ZFS. > > > > Can you write a self-contained example, and check the same issue e.g. o= n > > tmpfs? > > I just reproduced it on tmpfs. A minimal test case will take some more t= ime... I'm afraid that I haven't been successful in creating a minimal test case. My original test case, while it reliably reproduces the problem, is huge. I'm sorry, but I think I'm going to declare ENOTIME and get back to the aforementioned refactoring. From nobody Mon Jun 26 18:22:05 2023 X-Original-To: freebsd-hackers@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 4Qqbm04BNWz4jwPf; Mon, 26 Jun 2023 18:22:08 +0000 (UTC) (envelope-from gjb@freebsd.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2610:1c1:1:6074::16:84]) (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 "freefall.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Qqbm028ZDz40sQ; Mon, 26 Jun 2023 18:22:08 +0000 (UTC) (envelope-from gjb@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1687803728; h=from:from:reply-to:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type; bh=mByshUHqBwsRMrAL6Nw0UU/XoPLBjh1MMr8Q3Pfr8Dc=; b=KCyT58rn1GYmgWd/NNti0szK/fE2gsBtjHu/0T8eNeP1w+H7FV1NTddzfsQeB4JetVIOAl uJDR50LkuvqxdLhymz/oOnEd30iLPPMiZGYBow3yzUYprG2bOsR8+maPYp3EtLnbzpnAc2 han8kh8tqQTO2Oow/BfbJnrvqCWVS2lWWvJs9NYGlTAjeJtkI1HD068JrA8PkxXC7TY9TN AUpI5auj3abZmwKlTtZiSal7vPGeIcMCrP7TT/dFSFOSG0RFYC9mOEpd0y7+XUcRh419EN QOTSWF2bompekY+4lRxz8UYnCz8QsnCNO2qi+7O9//Xp205Cqm3cDHj0XDt19w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1687803728; h=from:from:reply-to:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type; bh=mByshUHqBwsRMrAL6Nw0UU/XoPLBjh1MMr8Q3Pfr8Dc=; b=pS/3Kd1CgPQ0XbHrH4uXNNkND9cwjeQ4KyN4vQYjHK4VVQJmIsqgEAycyAuyaSfpn4h+8k 98bGcj/kxmj5iYeurZcz7kLiEAUnNtlv9lv8SUIEUMIvOvCo/2E9eDEah34hY2A/8FJmUG rBQ5wu/tFQDS6DNxvTRhK8IK9gvJ30B1yJQmMHxSeKUu3X30DimuzDh2dCKsc5qI7HgAZt FwJ5zLP+uLIwlN3YNg7yqTWAfvSY4TJ3Zp9pFkojM87dtcXqsPjFOEM3WmTIwDFS1ksUTY hENr3Vtj7A1jbsE8Vf5+IQtoH9eKbzvnS/Fqq6QKK7Zz/I4jI7RT7z6+3eAaVA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1687803728; a=rsa-sha256; cv=none; b=BJGM3m/vG9SgTypE9OnzK3TRbjb9i7ckDTMWuPrJdpislvHqt9Ekj1B3kHpHNqdJ6fhLbs Q0uUCJzPqxgwel2spE8gFGGJzKVw8H1nuvnYZSVCTqubTrdE89K5aKYuVIywqss0m298yJ A5LBDb3vlXnEHaJ43jb5pZ8n07B3AF5HUnzbugsSpyA2kDO4iKctccl6N9jfcKraUos4bO 3+31TUKTpQCAQd05wC2AC+Z9Wk3GIPCLgMBMGaLb5fGwY8SzJTq4M9o4xVLAcPPSyCQZQq F6igsc5fmb/6JAPNyxOMikZgpUzG2qa7Uuajt4GqGafRaoEZmulvarkcAlm+yw== Received: from FreeBSD.org (freefall.freebsd.org [IPv6:2610:1c1:1:6074::16:84]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by freefall.freebsd.org (Postfix) with ESMTPS id D00A521CA3; Mon, 26 Jun 2023 18:22:07 +0000 (UTC) (envelope-from gjb@freebsd.org) Date: Mon, 26 Jun 2023 18:22:05 +0000 From: Glen Barber To: freebsd-arch@freebsd.org, freebsd-hackers@freebsd.org, freebsd-current@freebsd.org Cc: FreeBSD Release Engineering Team Subject: Updated 14.0-RELEASE schedule Message-ID: <20230626182205.GL16988@FreeBSD.org> Reply-To: FreeBSD Release Engineering Team List-Id: Technical discussions relating to FreeBSD List-Archive: https://lists.freebsd.org/archives/freebsd-hackers List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-hackers@freebsd.org MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="TnYVF1hk1c8rpHiF" Content-Disposition: inline X-ThisMailContainsUnwantedMimeParts: N --TnYVF1hk1c8rpHiF Content-Type: text/plain; charset=us-ascii Content-Disposition: inline This is the updated schedule for the 14.0-RELEASE release cycle, which will begin August 4, 2023. The schedule for the release cycle is: head slush/KBI freeze: August 4, 2023 [... ALPHA builds ...]: TBD stable/14 branch: August 18, 2023 [... ALPHA builds ...]: TBD releng/14.0 branch: September 8, 2023 BETA 1 build starts: September 8, 2023 doc/ tree slush: September 10, 2023 BETA2 build starts: September 15, 2023 BETA3 build starts: September 22, 2023 [*] doc/ tree tag: September 24, 2023 RC1 build starts: September 29, 2023 ports quarterly branch: October 1, 2023 RC2 build starts: October 6, 2023 RC3 build starts: October 13, 2023 [*] RELEASE build starts: October 20, 2023 RELEASE announcement: October 23, 2023 Branch EoL: October 31, 2028 [*] - If needed The schedule is also be available on the FreeBSD Project website at: https://www.freebsd.org/releases/14.0R/schedule/ Thank you for your patience during the delay while we continue to bring high quality releases. And, of course, thank you to everyone involved in helping get us past the blocking items for this release. Glen On behalf of: re@ You can help me continue work on FreeBSD: https://www.gofundme.com/f/gjbbsd --TnYVF1hk1c8rpHiF Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEEjRJAPC5sqwhs9k2jAxRYpUeP4pMFAmSZ100ACgkQAxRYpUeP 4pNEtw//bnPbai/nfkYChyi8c/N//z9Sv87JgwQLTZQfE5XKSiKy6P/ZLCGqz6WV tZHmcm5AMekzGiOpkiC5XKfWoaGzbedKsJnVk7lCUcKYtrRjdUNx+AS90QEh2kUr untnQgt/3cSJg45hAoCaLfw2zomQ6Uo98IOuxvidW1DyYvLxK2uB+wpqrO+3c2Yy aio9437lZrTFy2s3W8adGLXrvo5X/3A+md/csPhBI3+lG7+gIYvOgjVJkgjUvYlK ozRrCwYgeiWl6GJ+KiJDQ8ThzvWAnJ/WgOO30JSXO2I62kBvlH+KOrWWiuGzUKIA ObkO5pRWPSwr+qIbYfhqHo7F9+HK9of0f6Zv77c6YM5o3GvAs0sfWCNouV/8EchW j8illgYnD2d0OixC0qb8pvlm1fevzkvWHO1eV/K8Il5M5lKg8DDPuNLBqa4oNAOf inX8GEJyeSg287djeePXEFmMpmlcyRYOSJsUZ10JqRNS/hhpb7BbZXrisdgrlpFs Egg0qUnELfE+zUlsaEzggRQpNQcDfy22EsAZc+TNSRWQq/1ukVyvbEqMq8elYZrz muobRp9ESxt7hXCj8EcKUID1VBDctBxM4wARpQdCDjzt6tBwlyCcYiolvvnh7Jr+ b2PWLCgouOmworv/5Ytn51VjU1a842LQTgCUvA2ScIiCA96oTpE= =yK1o -----END PGP SIGNATURE----- --TnYVF1hk1c8rpHiF-- From nobody Wed Jun 28 12:52:01 2023 X-Original-To: freebsd-hackers@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 4QrhLN6VPsz4jq4N for ; Wed, 28 Jun 2023 12:52:12 +0000 (UTC) (envelope-from jo@bruelltuete.com) Received: from email.jo-t.de (seppel.jo-t.de [45.132.244.126]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4QrhLM5b5pz4Lrl for ; Wed, 28 Jun 2023 12:52:11 +0000 (UTC) (envelope-from jo@bruelltuete.com) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=bruelltuete.com header.s=bruelltuete18a header.b=o9wf4D0q; spf=pass (mx1.freebsd.org: domain of jo@bruelltuete.com designates 45.132.244.126 as permitted sender) smtp.mailfrom=jo@bruelltuete.com; dmarc=pass (policy=none) header.from=bruelltuete.com DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=bruelltuete.com; s=bruelltuete18a; t=1687956724; bh=THM7KYxrjC8/v9az2wuRsuVmOUah4YHbx4dZwOJdW/8=; h=Message-ID:Date:MIME-Version:Subject:To:References:From:From; b=o9wf4D0q5Pffl8LFwv4zai8suKnzwWfh6/JBSeOd10ZsbvfnGJfqhW6xKtQzFkKas a/ili7jMEbtYq1nme1nW2lO3mFzYkryYQ71h/y6ziFi5sg4yjW8Z5WeTqPLKiUhjIi 30l19lWufauT2MSfAoSEMhE4SCUV7Cn781YTpw2SEC98YlWpyZhlhpxKGNEAUaAJ86 XgSy220zW2gRxXyFwkczUr0AYCATobqYPadqsQe+PZyK/Zs3GQm7BXiBTG4OMvNlv5 Q/A7yZlziVBWNFdp/zsjfHZU2lUN7wWj+3CpfuZf/PoSnB5dtRpV/1TP0/GRJQdosh w1yuMju4YyEEg== Message-ID: <46264f3e-1af3-6744-727f-74ba79fa42a7@bruelltuete.com> Date: Wed, 28 Jun 2023 13:52:01 +0100 List-Id: Technical discussions relating to FreeBSD List-Archive: https://lists.freebsd.org/archives/freebsd-hackers List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-hackers@freebsd.org MIME-Version: 1.0 Subject: Re: tpm for AMD Ryzen To: Enji Cooper Cc: FreeBSD Hackers References: <83976649-D24E-475C-9BA2-9922466062A9@gmail.com> Content-Language: en-GB From: Johannes Totz In-Reply-To: <83976649-D24E-475C-9BA2-9922466062A9@gmail.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Spamd-Result: default: False [-4.00 / 15.00]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_SHORT(-1.00)[-0.999]; NEURAL_HAM_LONG(-1.00)[-0.998]; DMARC_POLICY_ALLOW(-0.50)[bruelltuete.com,none]; R_SPF_ALLOW(-0.20)[+mx]; R_DKIM_ALLOW(-0.20)[bruelltuete.com:s=bruelltuete18a]; MIME_GOOD(-0.10)[text/plain]; FROM_EQ_ENVFROM(0.00)[]; MLMMJ_DEST(0.00)[freebsd-hackers@FreeBSD.org]; MIME_TRACE(0.00)[0:+]; FREEMAIL_TO(0.00)[gmail.com]; RCVD_COUNT_ZERO(0.00)[0]; ARC_NA(0.00)[]; DKIM_TRACE(0.00)[bruelltuete.com:+]; ASN(0.00)[asn:197540, ipnet:45.132.244.0/22, country:DE]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_TWO(0.00)[2]; TO_MATCH_ENVRCPT_SOME(0.00)[]; TO_DN_ALL(0.00)[]; MID_RHS_MATCH_FROM(0.00)[] X-Rspamd-Queue-Id: 4QrhLM5b5pz4Lrl X-Spamd-Bar: --- X-ThisMailContainsUnwantedMimeParts: N On 19/06/2023 19:57, Enji Cooper wrote: > >> On Jun 19, 2023, at 11:09 AM, Johannes Totz wrote: >> >> Hi everyone, >> >> I'm trying to get the (f)TPM that comes with AMD's Zen2 to work. >> BIOS config screen says it's doing CRB mode. >> >> So I start poking in tpm_crb.c https://github.com/freebsd/freebsd-src/blob/main/sys/dev/tpm/tpm_crb.c >> >> Out of the box, it does not attach. The TPM2 ACPI table says its start method is 2 (aka ACPI). That's easy to hack around, just mess with the if-condition at https://github.com/freebsd/freebsd-src/blob/main/sys/dev/tpm/tpm_crb.c#L115 >> >> With that adjusted, tpmcrb now probes successfully but does not attach. >> >> As far as I can tell the register values it tries to read from the ACPI-provided memory window are just bogus. >> >> That makes me suspect that the BIOS has misconfigured it. The TPM2 table has a different address than what's reported at runtime. >> The table says 0xfd210510 is the (physical) address, but acpi says it's 0xbd13f000. >> >> Fiddling about with hint.tpmcrb.0.maddr and friends does not yield anything fruitful: anything I try to override with hints is just ignored. >> Hacking in a >> bus_set_resource(dev, SYS_RES_MEMORY, ... 0xfd210510 ...); >> ends up giving me that override but still no dice re actual tpm functionality. >> >> Has anyone gotten the tpm to work on (consumer) Ryzen? > > Hi Johannes, > I just built a Ryzen machine too with an ASUS Motherboard. Could you please post the hack that you did to the if-else statement up on gist so I can take a look at it? Just chop out the the tbl->StartMethod condition at https://github.com/freebsd/freebsd-src/blob/main/sys/dev/tpm/tpm_crb.c#L116. For probing and attach you don't need the start method (as far as I understand the spec). You can check with 'acpidump -t | grep -A 5 TPM' what your start method is. Mine is: TPM2: Length=76, Revision=4, Checksum=183, OEMID=ALASKA, OEM Table ID=A M I, OEM Revision=0x1, Creator ID=AMI, Creator Revision=0x0 ControlArea=fd210510 StartMethod=2 > Also, if you can post "boot -v” and “pciconf -lv” output to separate gists, that would be super helpful :). verbose boot is inconvenient. Here's pciconf: hostb0@pci0:0:0:0: class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x1480 subvendor=0x1022 subdevice=0x1480 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'Starship/Matisse Root Complex' class = bridge subclass = HOST-PCI hostb1@pci0:0:1:0: class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x1482 subvendor=0x0000 subdevice=0x0000 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'Starship/Matisse PCIe Dummy Host Bridge' class = bridge subclass = HOST-PCI pcib1@pci0:0:1:1: class=0x060400 rev=0x00 hdr=0x01 vendor=0x1022 device=0x1483 subvendor=0x1022 subdevice=0x1234 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'Starship/Matisse GPP Bridge' class = bridge subclass = PCI-PCI hostb2@pci0:0:2:0: class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x1482 subvendor=0x0000 subdevice=0x0000 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'Starship/Matisse PCIe Dummy Host Bridge' class = bridge subclass = HOST-PCI hostb3@pci0:0:3:0: class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x1482 subvendor=0x0000 subdevice=0x0000 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'Starship/Matisse PCIe Dummy Host Bridge' class = bridge subclass = HOST-PCI hostb4@pci0:0:4:0: class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x1482 subvendor=0x0000 subdevice=0x0000 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'Starship/Matisse PCIe Dummy Host Bridge' class = bridge subclass = HOST-PCI hostb5@pci0:0:5:0: class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x1482 subvendor=0x0000 subdevice=0x0000 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'Starship/Matisse PCIe Dummy Host Bridge' class = bridge subclass = HOST-PCI hostb6@pci0:0:7:0: class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x1482 subvendor=0x0000 subdevice=0x0000 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'Starship/Matisse PCIe Dummy Host Bridge' class = bridge subclass = HOST-PCI pcib11@pci0:0:7:1: class=0x060400 rev=0x00 hdr=0x01 vendor=0x1022 device=0x1484 subvendor=0x1022 subdevice=0x1484 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'Starship/Matisse Internal PCIe GPP Bridge 0 to bus[E:B]' class = bridge subclass = PCI-PCI hostb7@pci0:0:8:0: class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x1482 subvendor=0x0000 subdevice=0x0000 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'Starship/Matisse PCIe Dummy Host Bridge' class = bridge subclass = HOST-PCI pcib12@pci0:0:8:1: class=0x060400 rev=0x00 hdr=0x01 vendor=0x1022 device=0x1484 subvendor=0x1022 subdevice=0x1484 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'Starship/Matisse Internal PCIe GPP Bridge 0 to bus[E:B]' class = bridge subclass = PCI-PCI intsmb0@pci0:0:20:0: class=0x0c0500 rev=0x61 hdr=0x00 vendor=0x1022 device=0x790b subvendor=0x1565 subdevice=0x370b vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'FCH SMBus Controller' class = serial bus subclass = SMBus isab0@pci0:0:20:3: class=0x060100 rev=0x51 hdr=0x00 vendor=0x1022 device=0x790e subvendor=0x1565 subdevice=0x370b vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'FCH LPC Bridge' class = bridge subclass = PCI-ISA hostb8@pci0:0:24:0: class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x1440 subvendor=0x0000 subdevice=0x0000 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'Matisse/Vermeer Data Fabric: Device 18h; Function 0' class = bridge subclass = HOST-PCI hostb9@pci0:0:24:1: class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x1441 subvendor=0x0000 subdevice=0x0000 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'Matisse/Vermeer Data Fabric: Device 18h; Function 1' class = bridge subclass = HOST-PCI hostb10@pci0:0:24:2: class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x1442 subvendor=0x0000 subdevice=0x0000 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'Matisse/Vermeer Data Fabric: Device 18h; Function 2' class = bridge subclass = HOST-PCI hostb11@pci0:0:24:3: class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x1443 subvendor=0x0000 subdevice=0x0000 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'Matisse/Vermeer Data Fabric: Device 18h; Function 3' class = bridge subclass = HOST-PCI hostb12@pci0:0:24:4: class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x1444 subvendor=0x0000 subdevice=0x0000 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'Matisse/Vermeer Data Fabric: Device 18h; Function 4' class = bridge subclass = HOST-PCI hostb13@pci0:0:24:5: class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x1445 subvendor=0x0000 subdevice=0x0000 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'Matisse/Vermeer Data Fabric: Device 18h; Function 5' class = bridge subclass = HOST-PCI hostb14@pci0:0:24:6: class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x1446 subvendor=0x0000 subdevice=0x0000 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'Matisse/Vermeer Data Fabric: Device 18h; Function 6' class = bridge subclass = HOST-PCI hostb15@pci0:0:24:7: class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x1447 subvendor=0x0000 subdevice=0x0000 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'Matisse/Vermeer Data Fabric: Device 18h; Function 7' class = bridge subclass = HOST-PCI none0@pci0:1:0:0: class=0x0c0330 rev=0x01 hdr=0x00 vendor=0x1022 device=0x43d0 subvendor=0x1b21 subdevice=0x1142 vendor = 'Advanced Micro Devices, Inc. [AMD]' class = serial bus subclass = USB ahci0@pci0:1:0:1: class=0x010601 rev=0x01 hdr=0x00 vendor=0x1022 device=0x43c8 subvendor=0x1b21 subdevice=0x1062 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = '400 Series Chipset SATA Controller' class = mass storage subclass = SATA pcib2@pci0:1:0:2: class=0x060400 rev=0x01 hdr=0x01 vendor=0x1022 device=0x43c6 subvendor=0x1b21 subdevice=0x0201 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = '400 Series Chipset PCIe Bridge' class = bridge subclass = PCI-PCI pcib3@pci0:2:0:0: class=0x060400 rev=0x01 hdr=0x01 vendor=0x1022 device=0x43c7 subvendor=0x1b21 subdevice=0x3306 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = '400 Series Chipset PCIe Port' class = bridge subclass = PCI-PCI pcib4@pci0:2:1:0: class=0x060400 rev=0x01 hdr=0x01 vendor=0x1022 device=0x43c7 subvendor=0x1b21 subdevice=0x3306 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = '400 Series Chipset PCIe Port' class = bridge subclass = PCI-PCI pcib5@pci0:2:2:0: class=0x060400 rev=0x01 hdr=0x01 vendor=0x1022 device=0x43c7 subvendor=0x1b21 subdevice=0x3306 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = '400 Series Chipset PCIe Port' class = bridge subclass = PCI-PCI pcib6@pci0:2:3:0: class=0x060400 rev=0x01 hdr=0x01 vendor=0x1022 device=0x43c7 subvendor=0x1b21 subdevice=0x3306 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = '400 Series Chipset PCIe Port' class = bridge subclass = PCI-PCI pcib7@pci0:2:4:0: class=0x060400 rev=0x01 hdr=0x01 vendor=0x1022 device=0x43c7 subvendor=0x1b21 subdevice=0x3306 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = '400 Series Chipset PCIe Port' class = bridge subclass = PCI-PCI pcib8@pci0:2:5:0: class=0x060400 rev=0x01 hdr=0x01 vendor=0x1022 device=0x43c7 subvendor=0x1b21 subdevice=0x3306 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = '400 Series Chipset PCIe Port' class = bridge subclass = PCI-PCI pcib9@pci0:2:6:0: class=0x060400 rev=0x01 hdr=0x01 vendor=0x1022 device=0x43c7 subvendor=0x1b21 subdevice=0x3306 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = '400 Series Chipset PCIe Port' class = bridge subclass = PCI-PCI pcib10@pci0:2:7:0: class=0x060400 rev=0x01 hdr=0x01 vendor=0x1022 device=0x43c7 subvendor=0x1b21 subdevice=0x3306 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = '400 Series Chipset PCIe Port' class = bridge subclass = PCI-PCI re0@pci0:4:0:0: class=0x020000 rev=0x15 hdr=0x00 vendor=0x10ec device=0x8168 subvendor=0x1565 subdevice=0x2312 vendor = 'Realtek Semiconductor Co., Ltd.' device = 'RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller' class = network subclass = ethernet none1@pci0:11:0:0: class=0x130000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x148a subvendor=0x1022 subdevice=0x148a vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'Starship/Matisse PCIe Dummy Function' class = non-essential instrumentation none2@pci0:12:0:0: class=0x130000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x1485 subvendor=0x1022 subdevice=0x1485 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'Starship/Matisse Reserved SPP' class = non-essential instrumentation none3@pci0:12:0:1: class=0x108000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x1486 subvendor=0x1022 subdevice=0x1486 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'Starship/Matisse Cryptographic Coprocessor PSPCPP' class = encrypt/decrypt none4@pci0:12:0:3: class=0x0c0330 rev=0x00 hdr=0x00 vendor=0x1022 device=0x149c subvendor=0x1565 subdevice=0x370b vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'Matisse USB 3.0 Host Controller' class = serial bus subclass = USB none5@pci0:12:0:4: class=0x040300 rev=0x00 hdr=0x00 vendor=0x1022 device=0x1487 subvendor=0x1565 subdevice=0x824c vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'Starship/Matisse HD Audio Controller' class = multimedia subclass = HDA > Cheers! > -Enji From nobody Wed Jun 28 16:40:13 2023 X-Original-To: freebsd-hackers@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 4QrnPp1XNmz4km9x for ; Wed, 28 Jun 2023 16:40:30 +0000 (UTC) (envelope-from markm@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (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.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4QrnPn59nBz3GwF; Wed, 28 Jun 2023 16:40:29 +0000 (UTC) (envelope-from markm@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1687970429; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=VGP9ua8bE3/mVe6m1K40v9hb58+rSJYbB/7MGzDQZko=; b=hOGZeaU0LQft/SqZUqxD/TtmeEFedQpeDkJVnlCzmjwySht+uWIAFroiJrLAa0/2jme/Q/ SA1QaYGnyfS66r9EO7EO7AhwA/+rsgOtHERkNixYe8cJBYcOhvXRjeViIfM4pNHcnQEZ4H 03VPdR+nkRYs8Hv5+qsZwQ6M/XVaKVxj9w5h9qFMit3/C/1jPYMchqMRMTAujmlRQvT5oB Ci+0ADqar5s+R3AaCLPqvHbwwtXVQBxfvpgAbbXBxqvYsSDg/pyWHfb4HjudH8oIOyHobO EhJxR+7LeAP4K9ap2wobdYn1sH8SvSlUnWzMTEdlkYoVliCX0kKeqSPwYbqsrA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1687970429; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=VGP9ua8bE3/mVe6m1K40v9hb58+rSJYbB/7MGzDQZko=; b=HncXD5CcJWIKH2s63N+Luf3EWdwCgLs0V6MA06DiHwzElRnxc7VZJ8seb3X03SKXUOjFSb uQN8YAPG0CEfp28ur5QX3IdC/Eo8WWpjWObLZvrLbqckFCSPVWuhYXhq1UFMM5Be5Cf7Ie m8/0s7pIpBtkJcYZ3BADcYwfTVNWmc17zpXAww/ZT4oLbbbJnW3gBvTt+tPb7am+pH/HDU s3aiGwVGfL3fV/FfrbH3Go9jZzcxDRL1DNo1XQHHq2i5xj4Pgq9GtMenNgZp4pArJheZLb EBTM0Pbh5kLu9J/rcVwTtb1vkweLCQwDxBYDPJC4XCay9HfNqXoi+u+gvNzMZQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1687970429; a=rsa-sha256; cv=none; b=NWkBw5bsy15l7PnFGkatwlXNOmMc9IjQF5713UeiFbhXAbPEx+OCHDbUujaxnWWfLJD6ZS v/TZjOitWrSR1lsewsQCp2IRbDYPC0WNfiK6P+xPBnoxMmRPnzrMPO7xwReCUOlJFmAX+J FQ7SZSvTFveNg9vB+bHuMhfZhG5w+HqYxyWCsRZmPPxfCBxDeT9BsIC7FGPnhCp43UadEg HHUBzrSOVogRxE+krrg8lPjuQwMH6a5MqJjoLHabkhCwKNP2C+xS2mBGZOhog7UJeAkM8Y y0p6l6t4yf6+a7ELueEiCx9r5QxYXyqsyM3Z22H0TwteHgG5pN8OF2WAjiR4WA== Received: from smtpclient.apple (82-132-230-185.dab.02.net [82.132.230.185]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) (Authenticated sender: markm) by smtp.freebsd.org (Postfix) with ESMTPSA id 4QrnPl1y1PzfYF; Wed, 28 Jun 2023 16:40:27 +0000 (UTC) (envelope-from markm@FreeBSD.org) Content-Type: multipart/signed; boundary="Apple-Mail=_1AD82790-7A67-442B-8C7F-5D5DDDF076E8"; protocol="application/pgp-signature"; micalg=pgp-sha512 List-Id: Technical discussions relating to FreeBSD List-Archive: https://lists.freebsd.org/archives/freebsd-hackers List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-hackers@freebsd.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3731.600.7\)) Subject: Re: Should close() release locks atomically? From: Mark Murray In-Reply-To: Date: Wed, 28 Jun 2023 17:40:13 +0100 Cc: FreeBSD Hackers Message-Id: <0B120328-BA3A-49B8-9537-A3E40EA840CA@FreeBSD.org> References: To: Alan Somers X-Mailer: Apple Mail (2.3731.600.7) X-ThisMailContainsUnwantedMimeParts: N --Apple-Mail=_1AD82790-7A67-442B-8C7F-5D5DDDF076E8 Content-Type: multipart/alternative; boundary="Apple-Mail=_79FF0303-4FEB-4B8C-A4E4-28340E90127B" --Apple-Mail=_79FF0303-4FEB-4B8C-A4E4-28340E90127B Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 > On 24 Jun 2023, at 16:29, Alan Somers wrote: >=20 > I'm afraid that I haven't been successful in creating a minimal test > case. My original test case, while it reliably reproduces the > problem, is huge. I'm sorry, but I think I'm going to declare ENOTIME > and get back to the aforementioned refactoring. Hi - have you tried using e.g. CReduce to get a testcase? I've used CReduce a bit @work for compiler development and its pretty good. https://github.com/csmith-project/creduce=EF=BF=BC csmith-project/creduce: C-Reduce, a C and C++ program reducer github.com M -- Mark R V Murray --Apple-Mail=_79FF0303-4FEB-4B8C-A4E4-28340E90127B Content-Type: multipart/related; type="text/html"; boundary="Apple-Mail=_25AB7AAF-E1B8-48EF-B298-83B1B645B974" --Apple-Mail=_25AB7AAF-E1B8-48EF-B298-83B1B645B974 Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=us-ascii
On 24 Jun 2023, = at 16:29, Alan Somers <asomers@freebsd.org> wrote:

I'm afraid that I haven't = been successful in creating a minimal test
case.  My original = test case, while it reliably reproduces the
problem, is huge. =  I'm sorry, but I think I'm going to declare ENOTIME
and get = back to the aforementioned = refactoring.

Hi - = have you tried using e.g. CReduce to get a testcase? I've = used
CReduce a bit @work for compiler development and its = pretty good.


M
-- 
Mark R V Murray
= --Apple-Mail=_25AB7AAF-E1B8-48EF-B298-83B1B645B974 Content-Transfer-Encoding: base64 Content-Disposition: inline; filename=creduce.png Content-Type: image/png; name=creduce.png; x-unix-mode=0666 Content-Id: iVBORw0KGgoAAAANSUhEUgAABAAAAAIACAYAAAAczR65AAAAAXNSR0IArs4c6QAAAERlWElmTU0A KgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAEAKADAAQAAAAB AAACAAAAAAAFhAkAAABAAElEQVR4AeydB2BUxRaGDySk0Zv03osUEQFFFEUUe69Ynvrsz/Lsveuz PHvvPBWpgoD03rtILyH0mlASkkAq7/yz3HB3s7vZ3Ww2Zf/RZTd3753yzdy7c86cc6bccU3CRAIk QAIkQAIkQAIkQAIkQAIkQAIkUKYJlC/TrWPjSIAESIAESIAESIAESIAESIAESIAEDAEqADgQSIAE SIAESIAESIAESIAESIAESCAMCFABEAadzCaSAAmQAAmQAAmQAAmQAAmQAAmQABUAHAMkQAIkQAIk QAIkQAIkQAIkQAIkEAYEqAAIg05mE0mABEiABEiABEiABEiABEiABEiACgCOARIgARIgARIgARIg ARIgARIgARIIAwJUAIRBJ7OJJEACJEACJEACJEACJEACJEACJEAFAMcACZAACZAACZAACZAACZAA CZAACYQBASoAwqCT2UQSIAESIAESIAESIAESIAESIAESoAKAY4AESIAESIAESIAESIAESIAESIAE woAAFQBh0MlsIgmQAAmQAAmQAAmQAAmQAAmQAAlQAcAxQAIkQAIkQAIkQAIkQAIkQAIkQAJhQIAK gDDoZDaRBEiABEiABEiABEiABEiABEiABKgA4BggARIgARIgARIgARIgARIgARIggTAgQAVAGHQy m0gCJEACJEACJEACJEACJEACJEACVABwDJAACZAACZAACZAACZAACZAACZBAGBCgAiAMOplNJAES IAESIAESIAESIAESIAESIAEqADgGSIAESIAESIAESIAESIAESIAESCAMCFABEAadzCaSAAmQAAmQ AAmQAAmQAAmQAAmQABUAHAMkQAIkQAIkQAIkQAIkQAIkQAIkEAYEqAAIg05mE0mABEiABEiABEiA BEiABEiABEiACgCOARIgARIgARIgARIgARIgARIgARIIAwJUAIRBJ7OJJEACJEACJEACJEACJEAC JEACJEAFAMcACZAACZAACZAACZAACZAACZAACYQBASoAwqCT2UQSIAESIAESIAESIAESIAESIAES oAKAY4AESIAESIAESIAESIAESIAESIAEwoAAFQBh0MlsIgmQAAmQAAmQAAmQAAmQAAmQAAlQAcAx QAIkQAIkQAIkQAIkQAIkQAIkQAJhQIAKgDDoZDaRBEiABEiABEiABEiABEiABEiABKgA4BggARIg ARIgARIgARIgARIgARIggTAgQAVAGHQym0gCJEACJEACJEACJEACJEACJEACVABwDJAACZAACZAA CZAACZAACZAACZBAGBCgAiAMOplNJAESIAESIAESIAESIAESIAESIAEqADgGSIAESIAESIAESIAE SIAESIAESCAMCFABEAadzCaSAAmQAAmQAAmQAAmQAAmQAAmQABUAHAMkQAIkQAIkQAIkQAIkQAIk QAIkEAYEqAAIg05mE0mABEiABEiABEiABEiABEiABEiACgCOARIgARIgARIgARIgARIgARIgARII AwJUAIRBJ7OJJEACJEACJEACJEACJEACJEACJEAFAMcACZAACZAACZAACZAACZAACZAACYQBASoA wqCT2UQSIAESIAESIAESIAESIAESIAESoAKAY4AESIAESIAESIAESIAESIAESIAEwoAAFQBh0Mls IgmQAAmQAAmQAAmQAAmQAAmQAAlQAcAxQAIkQAIkQAIkQAIkQAIkQAIkQAJhQIAKgDDoZDaRBEiA BEiABEiABEiABEiABEiABKgA4BggARIgARIgARIgARIgARIgARIggTAgQAVAGHQym0gCJEACJEAC JEACJEACJEACJEACVABwDJAACZAACZAACZAACZAACZAACZBAGBCgAiAMOplNJAESIAESIAESIAES IAESIAESIAEqADgGSIAESIAESIAESIAESIAESIAESCAMCFABEAadzCaSAAmQAAmQAAmQAAmQAAmQ AAmQABUAHAMkQAIkQAIkQAIkQAIkQAIkQAIkEAYEqAAIg05mE0mABEiABEiABEiABEiABEiABEiA CgCOARIgARIgARIgARIgARIgARIgARIIAwJUAIRBJ7OJJEACJEACJEACJEACJEACJEACJEAFAMcA CZAACZAACZAACZAACZAACZAACYQBASoAwqCT2UQSIAESIAESIAESIAESIAESIAESoAKAY4AESIAE SIAESIAESIAESIAESIAEwoAAFQBh0MlsIgmQAAmQAAmQAAmQAAmQAAmQAAlQAcAxQAIkQAIkQAIk QAIkQAIkQAIkQAJhQIAKgDDoZDaRBEiABEiABEiABEiABEiABEiABKgA4BggARIgARIgARIgARIg ARIgARIggTAgQAVAGHQym0gCJEACJEACJEACJEACJEACJEACVABwDJAACZAACZAACZAACZAACZAA CZBAGBCgAiAMOplNJAESIAESIAESIAESIAESIAESIAEqADgGSIAESIAESIAESIAESIAESIAESCAM CFABEAadzCaSAAmQAAmQAAmQAAmQAAmQAAmQQCQRkAAJkAAJkAAJkAAJkAAJkECoCOTm5kp2drYc P35c8BnveDGRAAiUL+9Yo46IiDCf8V6uXDnCCRIBKgCCBJLZkAAJkAAJkAAJkAAJkAAJuCeQk5Nj hH4I/u6EfioA3HMLx6OWsG9/hxIgMjJSKlSoQGVAIQdFOb3ZqG4rJEReTgIkQAIkQAIkQAIkQAIk kJ8AhP2MjAzJysriKn9+PDziJwFYB0RFRZmXpSDwM4uwP50KgLAfAgRAAiRAAiRAAiRAAiRAAsEl gDXGzMxMOXbsWHAzZm4koARgERAdHW0sAgjEPwJUAPjHi2eTAAmQAAmQAAmQAAmQAAl4IYBVfwj+ UABwldYLKH5VaAJQAuDFceY7SioAfGfFM0mABEiABEiABEiABEiABLwQgKk/hH/4/FMo8wKKXwWN AGIDxMbG5gUPDFrGZTQjKgDKaMeyWSRAAiRAAiRAAiRAAiQQSgII8Jeenk5f/1BCZ1mGAJQAMTEx xjWASLwTcOyx4P0cfksCJEACJEACJEACJEACJEACHglgxf/o0aMU/j0S4hdFSQCWJwg2yfj2BVOm AqBgRjyDBEiABEiABEiABEiABEjAAwHL5x/vTCRQHATgbgIlAOJOMHknQAWAdz78lgRIgARIgARI gARIgARIwAsB+PzD/J+JBIqbAMYiFAFMnglQAeCZDb8hARIgARIgARIgARIgARLwQgCCP4V/L4D4 VcgJ0BXAO3IqALzz4bckQAIkQAIkQAIkQAIkQAJuCMDfGibXNP13A4eHio0A4lHQCsAzfioAPLPh NyRAAiRAAiRAAiRAAiRAAh4IWIIWt/vzAIiHi40ArQA8o4/0/BW/IQESIAESIAESIAESIAESIIH8 BLD6XxpWWbWaGhk+f/2L8ojGoxO8QpXCoY3+soRVCsZnVFSUv5eW+fOpACjzXcwGkgAJkAAJkAAJ kAAJkEDwCcACoCQnCMa7EzNl05ZMSTt6PCRCOcpsUKeCnN4xVrJzil7zgBK27MyU+G2ZISkP/Q3d Rpvm0dKicVTIlSso39eE2BRUAOSnRQVAfiY8QgIkQAIkQAIkQAIkQAIk4IUAhP/SoADYsy9HZi5K l6SDOVI+BM7PuSqRn9EpVnp0hgLAC8BgfaXlbdmRKVPmpsqxjNAoOWDdEFWhnLRsUrIVABifsFSh i4rzYKMCwJkH/yIBEiABEiABEiABEiABEiiAQEkX/q3q56hEnpF53AjHIVEA5IpkZodGELfaCEWD 1cZQuB6gjBxtZ0lPEP4xTiMjKfLa+4o07DT4mQRIgARIgARIgARIgARIoEACpSnyPwRW61Vgwwp5 gimnkHkEcrnVPrwXdQpFGcFoAxQApWmcBqPNvuQRAkMYX6rBc0iABEiABEiABEiABEiABEoLgdJi AVBaeLKeRUOA4zQ/V1oA5GfCIyTgNwE8XFJT0xxRUWxXV4isIHFxsbYjxfcxW+uY5raOkVrHuOKr GEsmgQAIpB89mi/6NHz8KupYjoiICCBHXlKWCCDy89Fjx4zvJ9pVXsdGTGysVKAZaFnqZralmAlg dZWJBEig9BGgAqD09RlrXAIJbNgYL1ffeKvExMTk1Q4/jP36niP/feeNvGOBfnD8xhYuiMnKVWvk xlvvclJIQHFxbp/e8ukH7wRaNV5HAiEnkJGZKa+9+a6MmzApz68P91vlypXk608/lA7t24a8TizQ mQD6oziDLg0eNlK++Oo79fnNMOafjRs1lPfeek3at2vjXFH+RQIkEDABKgACRscLQ0QAY5QuAPlh 0wUgPxMeIYESQ+BwcrIsXrJMJkyeqqud2SWmXqwICZAACbgSyFBhe/3GTTJy1Fg5dOiw69ch+zsz M8s8Nw8np5xQQpST1q1aUvgPWQ+wIBIgARIggZJMgBYAJbl3WLewJbA5YYusXbdBFixaItNmzpZG DepLv3P7hC0PNpwESKDkEjh48JCs3bBB5s9fLHPmL5CELVtlTKfBUqNG9WKp9PYdO2SDKiIqVKgg ubr6U6linPTv17dY6sJCSYAESIAESKCkEaACoKT1COsT1gQSk5Lki69/kLkLFsru3Xt1ixXd10Vd 7Fq1bB7WXNh4EiCBkkng+0G/yES1UNq6bYckp6RIdFSUREdH617bIQhD7QYJTD1hNbVj126JVZcs mH/C/P98KlDd0OIhEiABEiCBcCRABUA49jrbXGIJHDmSKnPmLZBdu3dLlE6kK5SLFJizMpEACZBA SSQAYXv1mvW62q7BRDXIXnGnpAMHZerMWRJ5IhBked30u3+/88zztLjrxvJJgARIgARIoCQQoAKg JPQC60ACFgGNVI2JdKRGqi7OAFpWdfhOAiRAAt4IYMeFqKgKJeZ5FZ+QIIuWLDfm/6h3rColLr6w n7cm8DsSIAESIAESCCsCVACEVXezsUVFAGan2JbMHhEXnzM1WjkTCZBA8Ang3jqq9xyUZUi43yJV ecZov8FnXVpyxJiYMGkqBoOpcnZ2tvTVXU5q165VWprAepIACZAACZBAkROgAqDIEbOAcCBQtWoV ufySARKlQaeshClo544drD/5TgIkECQCMOvu2qWTxsjIlQj9jIT7LTY2RqpVrWr+5j/hRyAp6YDM nDU3TykkUk4uvugC29/hx4QtJgESIAESIAFXAlQAuBLh3yQQAIFGDRvIZx++G8CVvIQESMBfAhV0 1f/Wm28wL3+v5flll8C4iZPl0OHDRuDP1m1Tz+jeTTp2aF92G8yWkQAJkAAJkEAABBxLJwFcyEtI gARIgARIgARIoCQQyNJgqRMmThHEJEDKzM6Si/qfL5UrVSwJ1WMdSIAESIAESKDEEKACoMR0BStC AiRAAiRAAiQQCIEFi5bIrj17TTDCnJwcadm8mXTpdKpuR8hpTiA8eQ0JkAAJkEDZJcBfxrLbt2wZ CZAACZAACZR5AggAOWb8hLygq5lZWdL3nLOlUaMGZb7tbCAJkAAJkAAJ+EuAMQD8JcbzSYAESIAE SIAESgyBrdt2yKrVawUr/9g+tWJcnPQ843SJjYkpMXVkRUiABEiABEigpBCgAiCIPZGRkSn7ExPl wMGDkpaaJliFyNYJCfZ1j6oQJXFxsVKzRg2pc0pt3Tc5Koglu88KqyJ79u5z1CdN66M+kqgTomYj Wn1UdJSJmF2rVk2pXq2a+0xCcHTf/v2yb3+ipKQcETBEPG8TzVvrVL9uXalWLfCo3tu275CkAwck LS3dtB+TQ/RDNY3aX1fzrl6IvIsCTZxOXFFH1xQRoX2m/VVcCeMoMSnJ9BG22kL09Wgdw5UqVpSa tWpIw/r183xvi6uOxV0uxq/j/j8kx44dkywNQoa+xB7pVapU0Xu/utSrVzcvan1x1fdIaqrs3btf Dh06JGm6jV51jZrfpfOpflcn5Yi2d3+SJKckm/srS58t2H0tIjLCCF6VK1eSWjVrmued35mXsAuw ndzeffvl4MFDcgTP9swMyc7OkfK4L7V/K8VVFOwE0qB+PYmOjg557Q8fTjb3Z7KOwfT0dB17WaYO +J2J1udGRb1Pa9eqJacUwXZ4ls+9a6PxLAtVmjRlqvmdQ13wG9K6VUtp17Z1qIpnOSRAAiRAAiRQ qghQARCE7lq8ZJnMnrtANsbHG0EWWxFhkg1hO0cniVAAYFIIwdOaELdo3lT6n3+e2coqCFVwymJz whaZPnO2/L1ytexWwQ31SU3T+kABoC/4RGLSijpB8IcCoEH9unLu2WfJuWo2idWTQNK69Rvku59+ zpsA5+Ycl/r168jDD9zrNruFi5fK73+ME9QXglNycopO3jLMuVAAVK9e3UyoT+vSWa6+4lJp2qSx 23xcD6aqsuOPseNl8dJlmvdWnRhDAZAmGSq4ljcKgDgj+EMY69i+nVx52cU6WWzjmo1ff+/avUc+ +uxL7euT2wBiX7IO7dvKLTdely+v3eqr+umX3+gmVSrs2+R91B1RrO1+q5EqUG3btlOeeeFVI3C4 ZoYxdmrH9nKVMgq071zzxN8QYCfqxHrajNmyY8dO2a8KAEcfORQAMSpYVNIAW7VUsGjcsKGuuHWT SwZcaARdd/mVhmNQmr3/0edy8NDBPEUMOFyiW4n16X2mU79Y7Zk7f6HMmDVHNsUn6P2/XxVOB08o ALJOKACipKoqABz3WT05rWtnGXDB+Xpv1LOyCOh9587d8vEXX50cczreIHQ9/uiDblc+sUo6etyf snz5ChVmE1WYPSgQ4vucdaZ899UnPtUhVxU/2GZtweIlsn7jJklMTBIInxi3EDpzlV+kCmGxsbGq 9KhsnncQis84/TS5sN95hoFPBRVwEgTykaPGyF9/rzp5T2j7Y/S5cedtt0jDBvULyMG3r6FAHD32 T1m/YZM+S/fKwQOHlFmqeU5l52Q7lKm4D1TAxrO0vj5HWzZvoWOll5zZ8wzfCgnwrKOqZJo6fZbM 0/G3Y+cu85xLTlZlzAkFgOIwSjooACpVqqTCf22jjDF9oePPX2XABx9/bsa2/XmFqq/fsDHvXrGa gvvorXc/kIr6fHBNx3OPm7Fx1eWXSts2rVy/9vtv/HbMUQbp6UeNYj1af9vQRvzWMpEACZAACZAA CeQnQAVAfiY+H1mhAvYvQ4bJypVrdEK9zwiYmPxCeMMLK6TlosvpqthxY5qIFUJMljFxnr9wiQrp c6VXj+7yj1tvkiY+CrfeKpeuq3k/DvpVpkyfKTt1QgglREREpL7KmwkaVkfi4iJNfZAPhO3de/bo 5HGnLF/xtyxavEyGjRwtt950g/Q7/1xvRbn9DkLtb0NH6KSvkvkegmmrVi3knjtvlxibKSZWqD7/ 6nuZPG267Ni12wjBEHLBDIIDEgSJxMQDulK5T/5etUYQ4Ok23fbrsksuMt97+mf23Pny4/8Gy7oN G1SQTjbCCNqNlyUcw0x0v+aNVW30IfK+7uordUux6z1lW+DxQ4cOy5BhI1UAcdQfF2Cie1HKeW4V ABgHw0aMNv1SrvxJDUD5cuWVVbTThBpcDupq7cg/xrqtR6aueB1JPWL2u7ba6PZEPw4u/etv+e6H QbJm3Xoj5KEOYOjoI4dZLcZ1mk66j2zZKvHxm1XhslSmq3D41L8fkvZt2/pRWsk6dbxuJbZdFR5Y 3UU6dixD6qrVDgQ6u+VOwpZt8v2gnwUKQIx9WEVY93+kblNnKYPAKTklRQ6qYmfd+o2ySM+fPGW6 XH7pALlZlUMne98/DhgTv+mYs+4ZjDesQt8+8EZp1NDZ9/m3Yb/rvT1KErZukwwVHFE/9CXq6OuK 9byFi2TwkBHahg16/ySZFXDct+VOjA3kiYT2QkCHImS/WvasWrNW27xUxqhS7qILL9A2X2uejf61 1vlssIYCcbTmGakKViSHYFlJrrrskkIrALDS/+PPg1WxO1+2btsux/RZafUtuEGojinnWOlHe1PV KiAlJdUoHPEcnTZzlnTt3EnuvP0Wadu68EKuc+tFxo6fJCNHj5WEhC1m5R/CvlU/3Kf2voDSF30B K6sVK3OMYnTMuIlyXt8+csfAm4y1lWv+7v6eMGmKbFElkv15hfNiVJGMMu0JTCbqGM89nms/bD7j d6Fu3VOMiX4wFABz5y8yfYQ64Nlet04dOe/cPvnK5QESIAESIAESIAEHASoAAhgJMDHECvNX3/1g Vl0w2cHkw5O/IcyALbNunIdJN67ZuXu3jBozzggE99x5mxFurYmbv9WCkPzRp1+qsLzaKCJMfU4I oyjL/jqZdzlTb6tMrDwfWH5QNqtAt3jZcnn0ofvMiuLJ871/QpkwNbWEUEzG4G6QpCuNMBFHQhkv vPqWLFiwyFhIYPLoLmGlvrwKFxAwUPe1KnS8/f6HZmI74MJ++S7ByuRPv/wmPw8eYhQHRlC1KR3s F+A7/T8vb1ggYPVei5Qbr7s6b/Jsv6agz8gTbbcrOlBvT8KV43yHub81NryVYc73YJmBPdFRji/5 eCsD34HjL78Nl59U+NmflGiUM/Y22a9HeRF4adsxpiFoLNVx89iTL8iLzzwhvc/qaT+91HyGQF2x YpwRkFHpCpEV5IiucEPotNLipcvljf+8L1tUoDbCl55TwYMkbzjpvYH7Q0Epp0yjWNm0eYtRvt1z 1x1SQ61d/E3WmLOeO9Z4g8WPpQCAIP7hp1/I76PHmdV+3Ov2/kR/F5RSVZH45bc/yrgJk9TM+pBR WKAt1nPD9Xq0Fy+jPkGbNWF1drUqkxJUmJ6/aLE88chD0qZ1S9dL/fobYx79ZNUD7YcFBLgEmpDH AlXOfvDJ5wIFT4aa+iN/i7G7fE/2L7rXoWDds2efKhinysrVa1RxeaPcdP3VQbk/oWj66NOvdMV7 gXHHgZLK0zMGdbX3BRQESEePHtPn6Xodu1tliY7jRx+6Vy2IOhRYP+u+QJ6+JFhxuUv4XYjTe8zc D+5O8OMY+muhKnCTkg4aRQbybtGiqSpf/Hdp8aNYnkoCJEACJEACpZoAFQB+dh9Wbj//+juzUq5z j3yTGExIMKnGO16OhAmxmImpNTnFJAqCGxLMx99457+yYdNmNZe/RyexJ1eRHdd7/3dT/GZ54ZU3 dcK6xUxWrXxzcnJNuTBPxeStgppGQlhDvfAdBBGYi2JFHvXChAyvI2riOvz3P+SArhq98uIzuo+y Y0Xfey3yf4s2wiwYAgkUAKlazitvvGNMVlEHTKxRj+O6SmSxckxYUZeTk3iLFeoFoQttObfPWXkF YtL39Xc/GQUAfK+Rr6ONOebdkXf+PkAGJm8VylDPDz75wkxM4W5gwOWVEB4fYBHy9feDVAEwzJiw R6r1CBL4gqFjOB83zMANYwbvVsLfeO1RU+kXXntTPnr/belyakfr61L7jibCtDpXxyoSzP3fVPNm +NHjfsH3jvFm3fc4q2BOOWpC/ouuqO9WYfH5px8Piq88nj24b5Fwf3/+9fcyVC1N8NlukWA9ozDu 4cvuKcF95oVX3tDV9iV6Sjmzymw/F+228nLcZzjthAJA3zEekKyxgXpAYHv0yWfliUf/Jeede7bT GDInF9M/YDFqzJ/yyRdfG+HaejbYq4O2mvbiIG4ItFU/on2whMBnXAfFJdJufbb/9+PPdDQclxuu udI8m8wXAfwTrwqjZ198VdZt3HRC6eb88+2uL1AXvEz99B3J6ossVQ4tgaL3qefkwXv/KVddfon5 LoCqFdslsNRZvXad4Y32x+pv50UX9DP3ZbFVigWTAAmQAAmQQAkn4DyDKOGVLe7qwc8VK0Mj1PQS QfROzKdMtTD5cPjXl5PatWtJlUqVJTomSn3OyxtzWJiQIjggfKghNEBItVJ5NQHHSt2Q4SN1cpnj 18o7VuQ+/fJb9T+Od1rZw6S+SpVKarbcQ318e6kvejuprz7vWJWBwJ1yJE22q38rTP9nzJ4ra9dt MKt0xqRXG4ZJ7pQZs8zK5NNPPOJUX6vevryDiSWQfPv9TzJn3oITwlKOESzBCv7RZgVbM4SfPhgl auA+WAHYOYEbfJbf//BTadmiWZ6ZL0ywfx48VFe2jhq2EDIwyYVvelX1Q4bZNvoHAi5M9WE6jbzw shLORx98/s330rFDOxNEyvquKN7BFz681gTdlKHyBMYC6ovj9oTz0S5LpWT/Di4A5jsIJAEkq6xf hwyXn38bKsd0hRBskCcSfIehBILZMzghtgVWdOF7C2sYxJOw8sD5OAcm1P/96DP54uP3A1YgIa+S kNC2w4dTjDkzLFHeVGUdzKkt6xQwAK+aNWs47nuLk479o8eOmvseJuIVNBCoq2ILq7LT9D7DqvzL zz+VZz0TSLtRT4wT3DtIY8ZPlBGqyMO4R/2sMYSyEI8AikHcX02bNHJbHII+vvPfj40ZvOsqs3U/ 4TjuYWt8QByGYAml4kG91+D6AAsKSyBGHVEXCG5vvPO+CcbZ7bQubssP5UGwGTpilHz21XcmXgjq aE9QDuSqi0X16tVM/BDcC2CH56x5ZqliGNZNSJaiBZ9xLxjlot4LUMxed/UVTvcKzvElbdgUL6+/ /b4Ku+vNfWi/Bgo6PGcRjwOWJLCKsJ552VpvBC00AR+1T3AcdUKy+gKBHOHfj5gAvc/s6bF+GEfW M8tePlzdrDztx3E+XLlcE+oLtxoofwuTMAZxP8JFw2JeS4Ps0vy/MFR5LQmQAAmQQDgQOCmFhkNr C9FGmP/+MOgXE7QOwr89WavYHTu0lU664nlGt9OkSeNGZrKISR8EU5jBr16zTn0wV2rgqtXGR99u imtN3hEUD0Gzbh94k70It58xkUKwvynTZjgJ/5jM1q9XR2BafO1Vl+e7tpwqJSAYI3AcXtdfc5UM +vU3+eGnXyQdK+g6+UV9cnQiP3HqNLn8sgFyaof2+fIp+EA5MznGyj1MV/8cP9kIjJi4YScEbNN0 lk44mzdtbCauKPOwrrTGa+C+2XPnyfwFi83f9sk4Pieo6Sr87Z947F9G2PnplyFySK+DMAKhtUO7 tnK6ChVdunTSvJuatqL/MAlG/IU5GrARQcxSU9PzBBO0BZNYmO7+8L9f5a1XX9C/nYWAgtvr+xmI kH4+/FS1zZaojxVECE7wscYEGTyQMIlGQDUoccxEW/+2JyguYMLrOi7t53j7DMsQ+HQPVqZpJ5hA qGnTsoVGh+9k+qlxowZmxwhMtGEOv09jXixZ9pea/P9lYjRgzNmFANQd4x1Khfvu/oe34kv8d2gL BFkoRr7QFXXEjgAzCF24vyHAdtT7o7P2QZPGDU0wOAiHUFYhSN4qXaFcunyFrFixysRqgBBmT2A6 fuIUaa287/7Hrfav/P6MZwLuIShofldFJZ47MF+3BETcF101qCZ8r/GcsQRG14LwzPrsq29l7J8T jcWN/XsItLgPz+jeTRCgE88QBIGsXr2qjuVyxqoIEfMRHG6ZxpKAGTz+xk4oJ4a0EdgQ3+N9FYzf eOUFQVDU4kwImPq1KijxrIIZv5Ug9GdlZ0mLZk3NTgno49bquoCAf7DUAqfDqrDcpNZbWImG+8A2 jali+eMjH9wXUJoh6GeL5s2kmwaB9CchjgKUaUs0qCmsn+wJ/QruCGaKvkDQ0fr16pnnRa6OBVh4 bdd4MOtUwbv0rxWyWrfKQxBDKO2shLGK5+eH6kKGXVdaqHLVXerZo7s00/pbzyvrnHXaz7CMsyfc Mz266zZ8sGZzeV7hWYHdV2rp7iGFSVDIwxoHvycoD+/nnH2WVNFnKxMJkAAJkAAJkIBnAidnOp7P 4TdKAMHtfvr5NzPxtQPBZKZGjWrywD13yXkaQR+rYfmTRrPXqNSdVTmAiPBYzRk+crRZccLkEJMX JHzGhPKH/w2WXj27q0DQMn9WtiNYYRukfu+YwFkpRyesNXWV6vWXnzMTMOu4t3dYBUBIw0omVtIx qcRKNPLFSueEiVOlZbNmjsmct4xcvkOzIJyu0EjdmzYnyC41DUdbEVH9ztsHut2mqU6dU9Q3uJU5 BwH63vjPeya6usUIRUCAQuyEK6+4VIMpLpaZc+Y6AlGpYuPBf90vV1x6sVtz6np160h7VQ7ge/hw w4x7x46defwdeVeQKVNnyM3XX6vKnA4uLQrenw0b1pfPP3rPaUUfFg+Iv/Cvfz8tuzQ4oqX4yNYo 9FAoffjOm2b1z1n8d9TJxEzQ8eNvwpjbtXOPEU527dpjhB/4595z9x0majuERNeEMd68aRMNYHmG sdaYMHmaiaGAsWv1E94RPX/MuAlycf8LpLEKxqU1gRG2koR1xFz1vYbAnnE0Q5VMnWXgLTfqfdbN KEdc2wdOEPggOCHYGiLWI7YCrGCsvrWugWXAT6p4wtg/uxCxE/A8gtJhkQqLK1TR6BD+M6Wvmtrf psE9oSjyxcUIriAjfh+TT+DE/dy4UUMT2LPf+X115T9/lHdYQuAcRGK/TfnAuugztVKaq3E/IKSB JxIUdn/9vdK49Xz0/lvGEsjiEcr3HTt2GRcs+JFjZd9KaCvuBbhl9TvvHI+7kGhTjYL06isvky0a N+DPSVNMP0MZabUV/X3oULKxHvnxm898bivq8B9YYeiYsQv/4Ii+7tKpo/z7kQels75DGeUuNdN7 9ZzeZxpLkOUrVhplwtr1G829bt2vUB4i4OeHn30h7731mlNZVp4vPfeU0/PKOv6vx54yz2ErLxzH 5xeeflyaNWvi9hr84llsrHz8fU9QRfGUqTPN7wGuRd9dr24WTCRAAiRAAiRAAt4J+C8xeM+vTH6L iZExpdUJnX2SgwkY9lZ+/aXn5YZrr/Ig/OdH0qZVS3ns4QeM0gATObysBOECq6vTps8ypqPWcXfv W9T0EUHI7MJEhArup6sFAlZf/E0Db7pOt7BqZoR261pMDBcuWSr7EhOtQz6/gxVWJCdPnymj1bcW 6QIVGp7698NuhX/XjDG5ffn5p6Vy5cpOjHBeuq7GvvbmO6qYGWlWvtEX993zDxN1G9YF3hJ4YfeF l5590kx07fxxHawFxqr5dFEmrJSiHlgptF6YEKP/XVfYUA+wRF+4XmO/NpD6It/4zZtlogrxUPjA LPz5Zx43Aqs74d+1DESdv+HaK+UxVbygr+0JQi1WL7GVYGlOYISVYfjS61qjUWycrsLt6y8/b5Qk 1apWLbB56FcIxK++8Iz073dePlYo47BaGfys8Rcy1Poj0ISxjACe/1NFnmZpLGJuUmXWyyq89VCL G1+Ef7gFDf99tJNiEfVB3q3USuG9t183W066E/7d1bt9uzby6kvPyqUX9zfj136/wQoKViSIaG8/ 7i6fojgGS5uhI35XJYWzaT1M+2Ed8e9HHpB/3HazR+HftU4QeLHrydOPP+K0yo7z4AaBgKN/qFLM 1zRp6nSZdULB6XoNFE/vvvmqsXbyJPzbr4HCBc+9d958xVgh4JlpT1AWYTs9WAq4Sx6fPRhoblKF Cg43K+sZZX9HXhjzgSa4mWD1Hy42yAfPHlikQNHORAIkUPIJ4PYP9as4qIS0jcXQQDzFQ9rGwH82 ioFOyS7S/ZJBya5zSGuHSemoP8apWbojwJ5VOI7HRMcI/OOx57O/CZHyMbGEefBMncjYzYKxdd8U 3Xv9ov79BKs37hLKX6+m4idVB46zIMQF6lNbU/0nO6o5L0w6MTnExApCKSwW4NPdNICtClFPmGrC F7WT5v1vFRTdW0m4a6VjZW2gbhsG31y0zUrIFzsfIGXr5O/aKy93RPA/EbjOOs/bOwQyBL6Cmbp9 Moq2z9dAZdiuKuJEMC9v+QTzO9dJuT1vb9/Zz/P3MybTyBt8IbhcOuBCJx4F5Qd2sOrAai6EG/gE I+E4Aj8uV9N39JedcUF5lrTvUX9YOMAkvJuu/L/xyvPG7N3femLsP6PPjLS0VLUmWOQ0psFnnQqi 2ELu4ov6+5t13vk7d+5WC5I95m8EtHzo/ruNyXreCV4+YBx8++PPRuFhX6FFu2vWrG5cY9q1beMl B/df1a5VU55/6nETg2OeWgLYxwIi2f+qio9LtM0FKe/c5x740W2qREXAU/vzF31duXJF+eddt5vt QSGs+pNgXn+NWgNs3b5Dfv51iNNKN/IepcoOBASEQO4tIaAprM5gSePaF3gWv6ZKFZj7+5tglfLi s0/Ivx5/Rl2e9jrnrX75o8eMl7M0doy9TG9luP4GWedizBRVgkJu/KTJeQzxGwDLLihJmUiABEo2 AViqHjyco3NDZyVkUdVaf9Zk/wHMc7Bjl1ofhUCI1J9zdcHKlfitGqMpq+iehRYz/WmRg8nZ5k/E 0Eb5RZ60jAPJObJ5u8anCk1X6oJZOWlYzzkGW5G3s4wWcFKiKqMNLGyzMJnGvs54cNhhwQ8WfvoI sBdowurXzTdca0zc9+zZkycMwAd1jSoGtmzdLp4UAJiowxcZQQbtCabg1X1YkbRfY//culUL4z/q MOd25A0/UviIBpz0wRSpEzOY/cOU3d8EYejHn4eoX/xJE3PkASECKz9oL8xvq6ilgL/p6isvNfuj OwWk0nzTVGkRr+b4bZRHWU/giAn0rTddrxYa5zoJZ762vVKlSnL5JRfJ5KkzjOLE2isc4zPpQJIx oYe1TGlPcN2AkgQ+74EmcHjwvn+aXT8QINMStCBoIvDe9FnzjPLPOh5IOXDn6dK5g8YUuM1n4R/l zNUV4FXqs28X0HEcdbn/7jvVcsd/4R/XIyE43WP/ekADt200uyo4jjruY7gzDR85SpUV91iHi/wd wviI0WPUmsgRPNReYP9+fWWgumu5crCf4+0zeN112y1mxxOs+ltKBOS3T100Zs6ZZ6xHvOXxp8aF 2L7D2UUJ50fq7wOUOoEI/1Z5rVu11K0Jr5GPP/vKyfICcU8WqcVXcsoR46dvnV/S3jFO9+1PMv0D N4m26joTWJyaktYy1ocEyjYBCN/pmcdlyaqjsnL9sZA0FgoACMhd28dKnZq6+1QRy+PaRLVOypX1 CRny8x+O4LBF3VC0L0sVDf3PriRxMeU1dlTRlqg/ZUaJs313pgwZ5wgYXbQlOvqwWuXy8s8baqi8 BMpMhSFgl2kLk0+ZvRar4Qg6Zw8MhRUZTL4uv3SAU/C9QCD07tVDOuikeruuFmFCqtNhkw38vlev XWv8gWE+7C5hZwHchPaEgHGIch9o6qaBpO5SQR0ChJU5Vu8bNWgQaJbGDLlb107GBDqQTBBwq/vp XYzJJyKK2xOCa516agcT1Mx+3NfP9erUNX7RMEO2LAyAFJH1N2zcFBYKAJg719XYC1dcdrGaiMf5 ii7feU2bNDGmxfM0eKMVZAxuANipYt++ROMuk++iUnQAK9XXqqIJQSYLm9q1bW3igWBHC3sw0PKq BNickKC89ks93bUjkITnCOp6/dVX+WW1g6fP+ElTzOq/XfCFshPR4S+9+MJAquN0DRSMN11/tXz6 xTfG3cX6Eoq8aRrQ9K47blO3HPf7x1vnBusdQi7KdFW04Hlz520DAxb+rfrBPeYaDcKKXSMsBQCe qQj0idglF6oriKeEe3LKtJnm3Lxr9WT0xQV9esu5vU9ug+opj4KOX6G/Xz8O+tUo56zfHVyTlpau ATzx2xO4crugsgvzPcb32D9PulGAyUX9z9dYPNULky2vJQESCAUBnWDp414DOGPlOMsI5q7z2GBX AxuO1KoWIae2iZHTOsRqYNeilY7RnmRdjd+6K0tWbzpqVq2D3SbX/CA+1NQ29u4WJ7WqR4ZEAbBl Z6Zs2ZEp8duyLHHBtVpB/RttrF1ddzQq2u4Lap1LcmZUAHjpHWx5tEz9YTEZswvhObpVHyJfNwvA JN5dcb016NeWbdtMkCZr4o1JzVH1c4eAay/bfj1cEFwTVkOw0wAsCwJJMA/FK1gJkzUIgR00Sjom 1oGkmJhoFcRbylSNi6CLX3kJeceoGS0EMvivBpIQzR2B17CVoD2BP3YuCIeE8dxRo4c3a9q0UM2F z3TLFs1NwDLdDM3khfEMa4oU9W8vzQk/PHU1tgQsTYKRItVVpXu3rhrBvbpxkYnQFWMk+Env2q0m /Lp/fKAKADyvmunOGqd36+JXVWEODqUXniHWMwe/s2j7VZdfGjTBHMIagiHi+WY971BRBOFbpv7n UDaEIi1b/pcJYmmvAyyrzjqzR0CWSq51huAONyNYJsGcH4qGcnoSni3x8VuMYtTuemC/PmHLFl39 V6Ww7SD6AYI6+iLKFqzQdopfH7H96vl9+whcMuxKENQbLl8lNW3avMUELET90F/Y0rLH6d1o/l9S O4z1IgE3BCAkwxoAj7WiVgAc13JQBiwBcnT5H6+iTCjL2uUUbQyFy4HVIpSL9hW1kGzxBEe0r6j7 EOWEYqygnHBJNnEqXJrseztNNG01h7Sv/mPCgSjX55x95slVHd+zdHsmTNwhDDiCqOmdZNJxE6DO vjpovxgTtoYN6pkJkH2FCPWbM2+hRsn/0/i3268pjs+oT906dcwELdDyIYw0UWVLrvVEPZERgvU1 0FVSbG0WaIpSi4IWzZoajlYeEAiQ95EjR6xDZfYd/YMtBhHR31q1D7SxUNQ00pDojnHsyAUsM3RX iWOwKCnFCZwgLEHJEawExRMUL2ZXgBMKLNzXh3RLNfiPn67PhECShhU1pvoN/bTawao0toO0P0+g DDhNrXewHaRdUA6kXtY19fR5gPgmw0aMyvO9R7uxvSRYhEoBMGvufKf7HvXD2EU8i2AlKD076c4L CxYtzhOysQ1rypEUVfpuN4pNd2Ut0BgkSTb3EJyDvkD8ifbtWru7xO9jYP7wA/fKQHX9gWLBSpjI VS2EG5mVT1G9Dx46XC0jHMojKFYQ+b+Nbs3IRAIkQAIkQAIk4BsBKgC8cMLe39hqCNGbrQTBsHbN mmZLP+tYYd/j1OTVX994TMY7dmjntEKEemBSBxPODz75XDZq8L577rqjWH054VsP00xExy5MqqzR 6SHY2NNxCK+6uoYtxwJN8FWH/zqsCewJ9QbHsp7QbsRQaKeR2oORKuq+366CYpbunpGh7iq+pCUa wf6d9z+W6AAtOjyVkaPCU6tWLXTHjuc8neL1+HGNcNPjdP931vCWKaxXsMrvPPKgTS9nfL8zlJsV UNFbPvbvEKukUqWK+mxoaz/s0+dNmzebPe3tEeXhitSl06m6zWEVn/Lw5SSsenfr2lkGDxmhCoCT V2TqGNmsK9+hShs2bDICP56ZSLgX8Dxp1qyp/hWchLgH2AITPuuWJxcEbFg/YIcMWDa5S4gbcCQ1 1an/jTKmSyetY/D6olq1qoJXaUl71TUGwUZzchAYsZxRkvc4o5t5Ly1tYD1JgARIgARIoLgJUAHg pQdgAg4/e+wFbaXjOsGuqium/grs1vXBfG/UsIGZSC//6+88k13kjwltcnKKDBn+u/Fx7da1izmv XZtWajVQXyfd0UapAZ93V2EtmPVDXhCcYGqKuhYmmT2wXYR0xDuAsFM/QF9pqz7YGs0la1PvYxmh CVBj1aM43sEQ2yy2atE8KMVDuIMACWEKYwsvmKRjpwFf0uHDKcYMvDCxCNyVA7NrVwWSu/M8HYOQ 3rBR4cawu7ybalDMypUrmZgTliCKQGwI8AlfcX8VAGhjlUqVpV0b/xU6e/fuN7t12BUAuXr/YmzA uiNYCWOiaePGxqXAGifIG8fR//v279fdAE4JVnFu8zl48LAGunN2S8G9cIq6eVSMDTwOhmthcE2C gs0+9tBOKMRg6eEugcn+pAMaVVltOW0Jz1K4Z2G/+3BN03V3nH06TnGvQCHSqmXToMTkCFeebDcJ kAAJkEB4EqACwEO/w+QXE2KsxtkTrAGwamdN1u3fhfozzJFv0UjVCNiEFWt7nfAZE0kEExs/cbJM mDTFVA/CbpvWrXXi1Exat2hhJpRwacBKFQR1KxBesNqCOkB4sAsVgeSNoGauK6WQ2iFw2tsdSN6I UeAuoe5lPmkbIVBUUguLYCQIN3gFmrCqB5cPywc90HzcXVeYsR2ldQoWI3vd8CxBvgd0P3orgcEh DeRpAnFaB3191/5EED1/rWLS04+eCP538l7A+Md2pafo1oXBTlB6YEeF7dt35rkcYNzApHt/4oEi VwDsS9xvttdzapfe7rDKwOo7rIKCkSC0px1Nz3dP4Pclw4OCEdumwvrIfh+hL6AUO6V27WBUq1Tm AUXi7PkLjOIGWyiCD4JpFmY3hFIJgpUmARIgARIggUISoALAA0Bsi3bo8GGnSRhOhRBRLcBgdh6K KtRhRGq+47Zb5KvvfpTI4xF5k2krU/skEsfS0o7KUjWzRtA7TEIxscTe2zCPPk3NSzu2byctdZWp fv16VhaFesdqZjBXD+2VgeBfVHnbyynLnzE+IPSUlIRVvVQ1fcZqbDBTlsYhwNaWgSTcI7EVY1XR FLhiw1O5WG12VUygT7DPOawW/E2oKxQ6tWrV8OvSdBVSYXFgbd+Ii027VZlQ0H71fhV04mS0ubKL 6w3aDaXHYd0SsKjToUPJZgXZXg4Ugdj15cbb7nZasbef4+9njBi01fUew7MXAq27dFSVMa5bnqIv oACIDqIlhruyS/IxBEaM35xgfuPAD65lF5x3bkmuMutGAiRAAiRAAiWSABUAHroFEy4IDHYBGscg BBTFSqCHahR4GCt0t918gzGLxBZemeo37CmyNDLTObaZQGmg57wERceChUtk9pz5OsmMNQEJL7rw Aumr203VqB5Y5H4rc/Dy14zZuragd/SNt7YWdD2/d5hdewo0WRx8sHL9D1VoBbtfEdwNAQoDTsHV R+RVI04tb2BdoI8Wp4TdPyDkBJLADrsM+JOwtSncNOwqDjzv4C4U7L5AvWARhOeoq6IHvt3HMk9a Q/jTBn/Oxeo73Lnsz3dcD6ViKLYhhKLFHmzRXncowfAyD+sTXzj6okJYR7pftWad2ZkF9wvu54b1 60uP7sGNy2HvB34mARIgARIggbJKwL9ZYlml4KZdmHCZSZjLd4jgHFvCVmEQafrl55+SARf208Ba w2WOmklCoMAE0xfzeJyDF3Y7QLuxLdR8jULdrUtnuffuO+SsXj1cKPj3p06z/bvAr7OLMm+/KlJq T3YVgoqzIe3atpE3X32xOKsQ0rJPWhXYNQDlTljn+F8V9GVszMmYJb7mAIEKL1ehE6vXrhYKvubp 7Tw8byJVkHO9exHE0NPKuLf8/P0Oz/Zc/a84EnoaChpPW5ci0CyUP3Y2eC5DaVIUfVEcDPwtE65s U6bNgFmK+Y2CRQV+7+C6xkQCJEACJEACJOAfASoAPPBST2a3ky1MzI6qn2pJSzDThTtAh3ZtBdG8 p02fLYuWLpVt6mOLyaO75E7wwzGs+OGapbpPdtI7B+X9/7wm7VUwYyIBEggugXS1MoIw6nwvqrCn wnFEhF0E9K1c5GPftcS3qxwr30ZZaHtUIK+srMyAXBEKKhcuVjB1V42D06lGEWnbdcXpyyD+AUEa ytxiSfpshbIVwTfdJTAwfWH70vSFZRlgOx4uHzfGb5aFi7ElbwXTZLC7+MLgbdcYLhzZThIgARIg ARIAASoAPIwDmGgi8ryT7KwTYigAUlPTPFxV/IfhF9mjxunSVVfvM9Wfds/evbJ23QZZt3GTbNDX 9h07TaAtY/KrZsaWlQMmnHYhBJ+hCNi6bZt8+/0gef7px9WvuGbxN5A1IIFiIOBJiVbYqqRrTA7c i/aEZw7M0CM0fkaokiPwIn4OTmoA8AyAS1GmKgGCnbL12ZOmwe60CKcEP/xQuKTg2Q7rC7C26oCY C+ee01uee+rfGvwwOEExnRqX9wdcyco77S6T95V+MFYXaiHgPOa0L/R5jlgW4ZYQm2LGrDlm5wQo uvEb3Kf3mYLgtUwkQAIkQAIkQAL+E6ACwAOzSDWfxwTDPgnDXBVmstiqqqQn+Eni1aplC/O64kSF sf0UAl1tik+QjZviJT5hiyRq1O39iYkm8rRjZexk66AEmDRlulxwfl+5qP/5+VamTp7JTyRQNglA EE7XqOzYaSPYKenAAWNRZFe+IXJ8dd2bPSqEwRkRYC5OAxI6Pe/Qbl2lh5Ii2AkxDg5osD/ndmsA Q902LxRBVmvUqHEiTgIUHg4tBOoCAbuKri4jQGFxpYoaGyHWZWtSrZrAWgTb0oZb2rc/SabOmJW3 +g/XtssvuSjcMLC9JEACJEACJBA0AlQAeECJFZp6detITq5zpGaYru7es8cEzCrs1nYeii7Sw1hB 6dLpVPOyCtqxc5dMmzlbho4YJTt37jYrY/aJOawhxk+eoi4GPT2arVp58Z0EyiIB+GWnHDkidesE d3/6rdt2SErKEWMSbnHDCmetmjU9+ohb5wXzHXFNKleqqM+7k0oOPAPg7rRbrYigGLA/EwpbdtLB g7Jnz16nPe1V7yFxqgDAriRFnepqGTDDtye0L1n7oigUPfZyCvocp9YfJkCi7bcHv0dpuhK+b39i QZeXqe8x7hZoPJr9qgTAji8Yn6d2aCft2rUuU+1kY0iABEiABEgglASKyQkylE0MvKwG9epJ1apV nFbFyuskEVHzE3TlPFgJZvg7du2WLVu3yZZt2x0v/bxDzfUtE/1gleUun0YNG8gdA2+Szz96T7p2 7mhMLO3nwSpg8eJlclgnx0wkEI4EcN+vW7/B6VlQWA4wr9+xc6cKnM4xAGBl1KxZU7MjR2HL8PV6 CJgNGjQ4sSPBSTcAKDnXrltvzPV9zaug89C+NWvXm632nJQKusoNq6vaIXA1qlKlspzioswBg4Qt WyVVXROKM6Ee2Nsebhl2iwy4hGAMHgtiDBooFRLsvzsnfn/27SsZigZsTzlk+Mi8nSgy1QLi5uuv 1W0VY4qzi1g2CZAACZAACZRqAs5LIKW6KcGvfNWqlaW1mtCvXLUmLyAgzA8Tk5Jk2Yq/pU3rVkEp FCb5H336lVEsYPKHlKurP410Qv7yC0/rVnzVg1JOQZk0b9pEBt50vU4It+s+5EfyVvwwST+icQ+S DhzUOtUvKBt+TwJljgDugcVLlqnp8YCgtW3nrj1G2WcFNkPGEPhgpdOwfr28+y9oBRaQUZtWLdT8 vqqxSLAE88jICrJAg6/h3q8UJLN4uBXMmbsgz6Q7r90xUdK6VcsCahm8rztqwNRV+my3hGy0GXEJ oNwF/+JMrVu3ECgpEG/mZF9EypJly/V3Ilmt0wovAKPdk6fOkEG//pZv28g+GlD24QfvLU4Epuzl K1aZuDWI1wDFUfNmTaTTqR3ymBR7BVkBEiABEiABEiiFBKgA8NJpNarXkNM0mN6y5X/nKQAwGTuc nCKLFi2VG6+9Oig+8atXr5O/V61Wf9v0vIkNAlJhe7/yHiJV79VtkdZv2GS2RbKagAldx47tdAWt lnXI7/dzzu4t1b/8VpKTk532qcYE7LD67DKRQDgSgGJugd7z+xOTgmaijtXcbdt3SLTG2bAShJw6 ujJdv15d61DI3rt26WRW3w8dSs57riEoHyyRlv21Qpo0bpT3fCpMpeITEuSvv/WZqspUK8HmoJIG 3gvlvu49zzhdho0c7WRlBWunSVOmSW8VgGH1EYwEFytsrWp3GYNrWYvmzaRb1y5uizitc2epqXEK 4B5iKYWxu8Pa9RuNRQbc0wqb4GqyUM3r16/fpM/6k8aAKA/uXiUh/THmT6Ogwe8u4kZccF5fvf+C 64ZTEtrJOpAACZAACZBAKAlQAeCFNnwOTz+tiwz65be8SQhOx8R15eo1OhnbIB3bt/OSQ8FfYcK/ YPES42uLgHtWQqwBrHQgGJS7tGrNWnnptbfNqoj1PfJ66dmn5IrLAl+ljI6OUtPjOLcTfWwJxlQM BCCHqISUa4vQXgy1CPsi4frzy2/D5PFHHiw0i/3qy/3HuPEafs5ZyMR9D0G7OC7o4wAAQABJREFU obrlhDo1btTQrMBv3rLNqWgIxcNGjJZz+/Q2QqnTl37+gR0PBg8ZoRZOiIRva7sqL+vWPUXOOL2r nzkGfjqe7VCWIqaLtcoO4XfG7HmyVa2gsNpc2AQ3j+G/j5Yf/jdYYk8EdYTgHaO7ENz/z394VAC0 aN5Uy29qFET2OkApMWLUGDmje7dCByo8qON54ZKlxrfeXgYUFV06d7IfCuhzrvZpYRLc4paq4gkJ yu04ZXbWmT2d4kYUJn9eSwIkQAIkQALhSuCk2j9cCRTQ7nZtWuukuIXZDss6FRPiPXv3y29DR5jI +dbxQN6na/C91WvX5VttwmpP106dnFYH7fnDLQD+kGabLmzVpS9YDWyMj7efFtBn5IMJlz1hMlel ShX7IX4uAgIRKoDYFUEoAmJStvqJZwTR97cIql7ms4SCbez4iSYoWWEbO2HKVJk9b4H2tWNfc+SH ey46Klo6d+yg29DFFbYIv6+HEAwXB0TAt9//cHtao3EABuvzrrBp4tRpMl23dLNWta38yum4v2TA hXmWVtbxonzHVoCXXXyheW7ay4El1lff/hAUX/v4zQkyfuIUcw9naawXvDL0WY2Ai96EbPQF6ubY DeDksxi/PXPnL5Kxf060Vzmgz8OGjzYWBq4XV65cSU7TQLG+Juzc4C4dPXrM3WGfj/05flLelrvY vaZtm1bSskVzn6/niSRAAiRAAiRAAu4JUAHgnkveUZjj9uzRXSemzgGZYB0wRicow0f94TRZzrvQ hw+H1cx+0K9DdAVqr5O5PYR5uB60aNnMYy5YJXTdJgyTxnkLFhpXAo8XFvDFnn37zNZfrqdFa0Cq enUKb3bqmi//diaACT5WuuwCmC5PqjCSKQcO0gXDmVbo/oIIhpXbxKQD8s5/PzZKu0BLRyyBHwcN zqfogYKhYcP6cvFFFwSadaGvO7PXGdJJFRBYobcnKAF+GzpS5qjSItC0buNG+fKbH5xM7pEXuNav W1cuVQVAKBOelxdf1N+4PaAOVsJn7Dv/y5Dh+ZQD1jm+vMNi5Nsff5Zdu/c4Pd9RLrZnbacCrbfU p/dZGoOmpfOzQC+A5cQ3P/xPVvy9ytvlXr9btHSZDB35u5MFGS6AgqLP2WdJ5Sq+b4NYyY2VGp5f 2Fo20GTiRMxfYJQw4IXx16lje7VACU08nEDrzetIgARIgARIoDQQoALAh176x8CbVSDvlG+yhInJ p198I+988LHfkaM3xW+WJ59/Wf7SIEcxJ0xDURVMnDDZue6qKzTQk2c/YOwT3lPNQF237cK2Yt/q 5DDQNHTYKEnUiZt9hQ5mu91O62oChAWaL6/zjQDGAqKg2wUSWAXs3r1bZs+d71smPCuoBHBPQgEG wRjm0Zt0VfeRJ541e5P7W9DYPyfIcy+/ocqcg05WP6YMdb/B/uYQDosrwSXhiUcf1G0IazgJnnjW IWL8cy+/biyf7OPTl7piFfyxJ58z8QSQlz3hr38/fH+xCHeNGjWQB+/7p9OzHc++Y7ri/MXX38sb 7/zX72c72oadE55+/hWNJzDdBHW02gtusKS6567bnZQC1vf2d1iHPKHuJq7WIOB34MABeeLZF2W0 +sj7m+BC8MwLr8ohjelif87DyguWZbfefINm6dxH3sqo6yYeAcbz+IlTvV3m9bvJ02bKVt2RAPWD UqJpk8Zy0QXne72GX5IACZAACZAACfhGgAoAHzjVUoHsn3feZgRg+8QX/pgwlx86fJQ8/syLapq5 sMDcsMXUb8NGypPPvSwLFi7JZ/KKQEeIKwB/W29BqDAxuuqKS+W4beUKhWPlbpj6nA4Z/nuBdXE9 Ycq0GWpaOsEEW7JP0mF+PqD/+QLTUKaiJVC5cmWzBZx9L3L0dfrRozJ0xO/GFLtoa8Dc3RGIVAXA fffcKTAbRwyQPXv3yRv/+a+88uY7sik+wd0lTse2bt8ub7/3obz34Weyd//+fMIfBKZWutp70/XX OF1XHH8gON0/VUBFPAJ7wjPhsEag//izr+W5F1/TbUu32792+xlBE6EkfevdD2Xnzt352n1Ux/VV V1wmZ+tqd3EkKNcu7He+DLjwAieTfyhh8WwfPXa8UVxM1MCAx32IwbFPg7PCyuHZl16XeWqqb3fx sNoH0/6O7dtbf3p9RxyYgTdfLzCBtyfUb+/+RHn3w0/lg0++MFYG9u/dfd62Y6e8r+e///FnxpIF edhTZkam3Kq7wGA3GH9SW90NB+PXNc3RFfxBvwxxPezT33PnzXdSUGA3no4dfGPmUwE8iQRIgARI gATCmACDAPrY+TCNxaT4U538YkXCEpAhnEEpMF+jPK/Vva0bN24ofXqfabYPxJ7WkRGRunKWJvv2 J8lyDWi07K+/BRH8sd0UzL3tCSbADXT7qfv/eafZAsr+netnlA+rhAH9+8n4SVPyttSCeeiRI6ny oU4K16xfLw/ff6+u6lTLN/G28kPdjx3LkAmTp8hnX36n230dcDoX7gh9zuwlZ/Xq4bRaZF3P9+AS gMAA0+DyGpUbk2prnGGswJT4saeelwv6nis9zuhmVmkhpCWqkAVLEPSR62phcGsXzrkdlzatWhrL nO8H/SJRqhBIUncArMDOVbP45io0n3H6aUZ4QvR2bO13JDXVBHFbrvf8ct02FMIw7nF79HsQRT9X UcXPU489bN5LAuWrLrtYt1/bIf/7Zai2JTJvHEJoTNO92SeoQLxk+V/SoX1btQ7qIs2aNpWaunqM 8XokLVW2b9+pz7u/Ndr/SsMJfu+uzzs8W/qe00fuVuVqjFo/FFfCdq/33X2H7qqyUZUa2/KepWgr +gbbIK7T6PvfqTl/t66dVXhvKzW0j2GFlZWdY/zot+tuDqvWrJG/Vq52tFcF9gp6L9sTnrXddYwg +J9i8imB5803XGfG0bgJk9UCpULetRhH2K71V3VVmKC/AZ1VWXAa+kJXy6uqlUE26qbfJ2ibVmg/ rFy9Vg4ePGQUG65jEH1xyYAL5JqrLsvra58qqCe1a9fGBI6FMsd6XuHaYxqz5PNvvjNbF14yoL9u rVjfPNfg+oZnFgT6lnrfuCYoKtZt1B1utO1gVq1qFTNO7Ntlul7Dv0mABEiABEiABHwn4CyB+n5d 2J2J7fhu0YnYkZRU+ennX43QbE1oMenBZDE5JUVW6ZZ+mCxCMYDj+r9OIvHK1ck/XjnmuHWtBRJK hVPU0uDh++/R1bBe1mGv79iX+16dTCJa8irdlQB5okyUDRPWseMmmP22z+x5hok23UJXdirrxBB1 xWRtl5qVr1alxazZc80EE0IkvrNSttYJ1g8oo14xbEtm1SPc3tvr/uQtmjWThC1bnVYQ0a9QHg0e NkL9d0cZCxGsu2F1sN9550j3bl2pACiiwQLOCMx528AbZNXatbJk6fK8ewWCPWIDLF32V777HgIM 7nm8W88JexVxj8VVjJOnH39EunbxPfCaPY+i+AxLh/vvvlNysnN1vA3XdkUIVsuRrGcE2jxrznyz 0m0972A5juedt3ZDqEa726vg+ORjD6lgWK8omuBXngguh90dsDq+desO09eO53c5o7CBMidl0xHZ nLBFRo7SZ7sqWvEfxgUaDPN5ez/bn+9ggdT51I7ywjOPS9WqVc3fvv4DRcNj/3rA5D9h0jRTN/BG Ql+A5T61Bpg6Y7bZwQBKYKe6YQzqy90YRF/A0gGWBg8/cG9AuzzU1O1yL1Tz/GEjRjlF6Ae/DFUu I27EwsVL8yzaoLSsXauGPP/0E24VAKvXrJNtav4PdxvUGdv+nd+3j6+4eB4JkAAJkAAJkEABBKgA KACQ/WusmmClKC4uRn7SbZ0Skw4aAQ0THSRrUoZJizXps19vP8c6DqUAJnDNmjU2EzB//RyxgvLi s0/IC6+8KRt01QQTQrysOsHPc6wGKxyjygBM9vAySeuM/zBZtCbv1jVwI8CksJEGJLv3rjvMVohW ffle9ASwHdv5fc9Wpcx2M46scYWS4RZiCVBWTTB+8vrVOsj3oBPAPY1t4154+nF5/T/vy6LFy8zq uNU//tz36C/cY7Vr19L7/h5dfe2fd88GveIBZlhVV14feeg+U8+xEyaq0vCYsXywsrPaDeESL3fJ Osf6DqvSKjFLzzNO17zvF7gblJTU95yzJVYj2n/42ZeqUF2b9yxF/fBsxMvceyrAirN3RF4TXNsL ly48j+FCBSG+nht/+byLvXzAdc8+8Zj2RbbMVIUtFMYQkJGsuuEzlBConrvkWjc8N3AtFM6PPHif 2X7S3XUFHcPWsddddblRJCcmJeVZUOA65I+EsqzkqKP78ZKcckRd6RaYdkCJglX/c/ucJRVVScZE AiRAAiRAAiQQHAKMAeAnR0xK7rxtoLzywrPGFBQTsgz1nfRXAIOwgAl1bGyMnH/u2fL2ay8FHOSo g64Yv/bSs8aPNVqDyB1V00vLhxwTMKzcWZMpbDFnXjqxgmmvXVmAOjl8TY/L2Wf11NWqJ9Qk9HI/ CfH0YBAYqL64UAZh4owJM1PJIQCh9ZXnnzaCCWoF83Z/7n8I/jC5btmimbyqz5Frrrw8T3lYclrp qEklFbyeV4XHo7o6DD9sPB9Qf3/ai5wwhhHHokaNanLDtVfJm6++aKK6l7T2YseXt159yShkKlas aHZEwXPRnwQ2YITne6MGDeQft90iLz/3VMDCv1U2rLFef+k5ufP2gdJALbJgxWUXrK3zCnqHEgZ9 cYoqn2658Xp565UXpX3bNgVd5vX7dm1bqxLhXlUQRZnfQ68ne/kSSs+58xbmKRFiVCFz8YXFtyuG l6ryKxIgARIgARIotQRoARBg152nQnvHDu10FXCJjJ88TRYuWmImizAThrmsMcM8sfqBIjApxETS 4QaQrRPh6mbbq8svvciY5xfWv/FU9ad8981XBVuMTZ+lpqCz5ugK8k6JhJCvCgCs/pjVGK0T1mRQ H+uFyTkUGaecUlt6n9lDFRJ99L2n8ev0Bw9MO1PVVPaEjYG5NFvzhTtCYRPqiLztyeStJqaFTY68 09SM9+REH33lT71xfmpqmlPgNPBFfIVAElaaYdmBva+xHdmu3Xt1ch2Z14/oS6v/IATghb+9JXft xDH46gYroR7ggHFnrf6lpwUmqASrTkWRD6KSv//26+ofvkRG/THWBABFX0PRZt1rVvvRL+a+z83R oJ3H5dSO7eTyiwdIX7XygF90oMkac+hDK+EYFIDBTFAU3nrLjXJe33N0m9FFMnHyVI1psNIIoAiO iPbCMsXeXrQZlkQ5GkAU761aNpf+F5xngpt2KuHB3Fo0byrvvvGqLNWYLVhtHzNuvInfYLeuQlvx su5B3Hq52r8QriOjItUd5zQ5X91yzlL3q+bNmgatO2CV8ahaZVyiW0ViV5Dxk6bKGnXjwkMdFmru xp6jL9TSTMcJPrdXYR3KRcSqaVdIwd9qGNhcefklEqMK7Z9+HiwrV60xfHA/2FnhfIxXKEgwVu0J 43bsuInG9SlOtxaEVcm5apUB9wwmEiABEiABEiCB4BGgAqAQLLGCctklA6RnjzPM9lZ/awCo1es2 yGbdJiwxKVGD/x01ppoIGFalSmUz2cdksHOnjiZ4Fib/OB6sFKGB43r17G7yv+6aKyR+8xZZuXKN bIiPl70atRyBByGcYWKFCValuIrGxx/bjkHQ7KQ+qg0b1NOgS/75qFr1765bBY79fahaFZw0LMGE EwGzCpuwM8I4N3lXr1b4faFP69xZxo4cbAJU5dVTJ/TVNXiirwn9+seIX80EPO8azaOa+u8GmrBd 2O0DbxLEcJi3cLEJqrZhY7yJNYEVZGwZWEl3ZoCPbO9evdR8OdZrUVilc20nBBcIFcFKCEQ4aujP DmHQYf0ruerm0szPyOLBqk9R5gOz5H4qFHfR+waB1pbo3upr9P7HFp/JySlGEIcABL5NGjcy9xji NLRt3VrdaxoUumqwIBjjZswV1W4dCFB6/TVXSp+zemnckV0a3O0v094dO3dKUmKSBgc8pn2dI9FR 0Wbcw7e/VasWjuedWik11DZbZuuFbnwRZwAff/QV9p7H1owQslesWq3P1ASzAwTivWRmZpl7sEql SmZrv6ZNG5u24lnatFFjjZtSp8hqiWc2BOMLzu+rwQs3aYC/NeZ9l8aDOXDooFHq4d7GCjqCMzZs UF9at0ZfnKrjr5X5G0J7MBMEfQSlhTJ6ybLlskiV0eCGLQtT09JN3+OeqaW/m107nypwdbIn/E7e eP3VasnWz8RYQP3rM/aMHRE/kwAJBEpAHyhQwEPv6KJ7DDRHj9fpo1AXlPRrPMRCmFAc1rFMG4u4 aLQRZYW4iSGkWfaLKqcCWhEPk7IP0WqhYzU1Q02CM8yKLFa+gBcTIwjFiOAcpf6S8DPFsVAkmOxi JRur5VhxsXx1Ld9/7FIAH85orRNW8ZhKJgGMLZjtIqhWDlaSzbgq73Dv0BXaOA3aBtcOpsIRANdL rrpRdqqAi9VUJBxDoL4xw381MQA8lYBVTdxruOew4m+26Dxx78M0Ojom2giMnq4vbcfhhw7rkSwV hLFVKJ53mA1AeIZwiecdXJJitN3BTnC7euHVN030eyhZkNBPUH58/emHRsEa7DJhcg93D1hL4X5E ecb6QccJnu+4//BsD7Zg7Us7UC88GzAGHSv9mJmpYYDWDZYBsDAzz3ntj1Cl9PR0YwHlGBsaBFP/ Ay/0l3UvWPdYqOrEckiABIJLIEWVoXgW+prws5p8JFdGTU6RecvS8ZOh82Ffrw7sPJQRG1NOOraK ljq1EVw0sHz8uSojM1dWb8yQvUk5Orf258rAzrXa2KtLnLoWwzotsHx8vQpNOnQkR9bHZ8jBFDzf iz6hTbWqR8grj5yiFrG+l4jxid9AuPUxnSRAC4CTLAr9CRM/rHCUpIBFmIDjxVS6CWBsVdaVRryY SiYB/MDgFS59hNX8CsU2Ho/LocOH8ilSIWRC0C2KhJ0R8CqJKVqVD3iVpBQXF+e3G1lJqj/rQgIk UDYIQMFwLOO4LF19rMiVDXZiEFhDIfyjTKuNMxelGZcwez2K7LO2D3oG30XxIqsJMw6AABUAAUDj JSRAAiRAAsVHIE1X4+PjE/KsNPJqojMRuM4wkQAJkAAJkIArgaJeGXctL9R/QyB3CsQV6gqwvFJD 4KSzdqmpMitKAiRAAiQQzgSmz5glB3WLU1dXKpjgBzOmRTgzZttJgARIgARIgATKJgEqAMpmv7JV JEACJFAmCcyYNVe++PqH/Kv/2lrszFLSTOHLZCewUSRAAiRAAiRAAqWWAF0ASm3XseIkQAIkUHYJ HE5OlsTEJPXpj9EgplmyZ/8+mTJ1hm5/t0ASNbI8tjd1Tef2Odv1EP8mARIgARIgARIgARKwEaAC wAaDH0mABEiABEoGgQ0bN8urb/5Hty9NNxVCNHl8xm4mrsI/ovJja7xzzj6zZFSetSABEiABEiAB EiCBEkqACoAS2jGsFgmQAAmEMwEI9SkpRyTlyJE8X3/4/LtuHYfzsN/9Q/feLVUqMwBgOI8Ztp0E SIAESIAESKBgAvltKAu+hmeQAAmQAAmQQJETgMBvf7kWmJGRYfaVf/iBe+Xs3r3MVkiu5/BvEiAB EiABEiABEiCBkwRoAXCSBT+RAAmQgKSlp0tqalreSvNx3TcoV/fVwTtT6AiAN1b38W5F+zd9oS4A 2SeON2vaWK68/FK56fprVBEQEbrKsSQSIAESIAESIAESKKUEqAAopR3HapMACQSfAATNd998RY7q PvN5QqcWExkRIdWqVg1+gczRI4EqVSpLw4YNZMvWbZKuShn4/leqVElq16opHdu3kx7du0n37qdJ 44YNPebBL0iABEiABEiABEiABJwJUAHgzIN/kQAJhDkBCJZMxU+gTasW8tF7b6ky5phaAmSrDYZD ERMdHa2+/pUFCgImEiABEiABEiABEiAB/whQAeAfL55NAiRAAiQQAgJRUVFSv17dEJTEIkiABEiA BEiABEggfAgwCGD49DVbSgIkQAIkQAIkQAIkQAIkQAIkEMYEqAAI485n00mABEiABEiABEiABEiA BEiABMKHABUA4dPXbCkJkAAJkAAJkAAJkAAJkAAJkEAYE6ACIIw7n00nARIgARIgARIgARIgARIg ARIIHwJUAIRPX7OlJEACJEACJEACJEACJEACJEACYUyACoAw7nw2nQRIgARIgARIgARIgARIgARI IHwIUAEQPn3NlpIACZAACZAACZAACZAACZAACYQxASoAwrjz2XQSIAESIAESIAESIAESIAESIIHw IUAFQPj0NVtKAiRAAiRAAiRAAiRAAiRAAiQQxgSoAAjjzmfTSYAESIAESIAESIAESIAESIAEwocA FQDh09dsKQmQAAmQAAmQAAmQAAmQAAmQQBgToAIgjDufTScBEiABEiABEiABEiABEiABEggfAlQA hE9fs6UkQAIkQAIkQAIkQAIkQAIkQAJhTIAKgDDufDadBEiABEiABEiABEiABEiABEggfAhQARA+ fc2WkgAJkAAJkAAJkAAJkAAJkAAJhDGByDBuO5tOAiRAAiRAAiRAAiRAAiRQxgnk5orkHj8u5ULU zvLly0m5UBV2ok05OcdD1DotRhunTQx5G0PXwLJdEhUAZbt/2bogEsjJyZHMrKwCc8TzPio6Wh+M IX7yF1gznkACJEACJEACJEAC4UMAgn+VSuXlvF4VpUWTKNGpXJEmTP3S0nNl+vxU2bQtUyIiin4u qHoNqVyxvFx3cVXTVvxdlAlt3JuYJbOXpMvufdlUAhQl7CLKmwqAIgLLbMsegVlz5stzL7+uPx6e fz2O61M3NiZGfvruC2nRrGnZg8AWkQAJkAAJkAAJkEApIQBZODKynDRpECWdWsdIVnbRSscQjg+n 5MjilRFStCU5dwDa2LpZlNSuFqGWDs7fBfsvtLFiXHlZtvpYsLNmfiEiQAVAiECzmNJPIFfVyFlq AVCQAiAyQh/6Ra1+Lf042QISIAESIAESIAESCBkByMVFLBuHrC2eCgqHNnpqO4/7ToBBAH1nxTNJ gARIgARIgARIgARIgARIgARIoNQSoAKg1HYdK04CJEACJEACJEACJEACJEACJEACvhOgAsB3VjyT BEiABEiABEiABEiABEiABEiABEotASoASm3XseIkQAIkQAIkQAIkQAIkQAIkQAIk4DsBKgB8Z8Uz SYAESIAESIAESIAESIAESIAESKDUEqACoNR2HStOAiRAAiRAAiRAAiRAAiRAAiRAAr4ToALAd1Y8 kwRIgARIgARIgARIgARIgARIgARKLQEqAEpt17HiJEACJEACJEACJEACJEACJEACJOA7ASoAfGfF M0mABEiABEiABEiABEiABEiABEig1BKgAqDUdh0rTgIkQAIkQAIkQAIkQAIkQAIkQAK+E6ACwHdW PJMESIAESIAESIAESIAESIAESIAESi2ByFJb8xJY8aNHj8mBgwflcHKypKcflaysTMnOzpVy5cpJ hQqREhcbK5UrV5Lq1atJ9WrVSkwLMrOyZO/efXLw0CFBG8prfU/vdppERASmH8rNzZXEpANy+PBh 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 FSgB5qPgPGTsv+ZhfNRSAMTno70iIAIiIAIiIAIiIAIiIAIJCJQuXdoJXwmqabcIBEJAwn/yWEsn X1U1RUAEREAEREAEREAEREAERCA2Abpe0xKbnZ3t/saupa0iULgEmPSvYsWKzgOgcFu+N1vTMoD3 5rjqqkRABERABERABERABETgrhC4evWqXb582a5duyZ37LsyAvfPSel5ohwUqY23FACp8VJtERAB ERABERABERABERCBBAQo/F+6dMkpARJU1W4RSIkAvUxo9feEf8X8p4TPpABIjZdqi4AIiIAIiIAI iIAIiIAIJEGAglpOTo5duXLF6BUgQS0JaKqSkICX6Z9x/yqpE5ACIHVmOkIEREAEREAEREAEREAE RCBJArm5uc4TgMoAKgKoGFARgVQIeBb/MmXKuFh/KZNSoZe/rhQA+XnomwiIgAiIgAiIgAiIgAiI QAAEPMGfigCGCFAxwG3e3wBOqSaLIQEK+xTw+ZdWfv7zthXDywldl6UACN2QqEMiIAIiIAIiIAIi IAIiIAIiIAIiUPgEShZ+k2pRBERABERABERABERABERABERABEQgbASkAAjbiKg/IiACIiACIiAC IiACIiACIiACIhAAASkAAoCqJkVABERABERABERABERABERABEQgbASkAAjbiKg/IiACIiACIiAC IiACIiACIiACIhAAASkAAoCqJkVABERABERABERABERABERABEQgbASkAAjbiKg/IiACIiACIiAC IiACIiACIiACIhAAASkAAoCqJkVABERABERABERABERABERABEQgbASkAAjbiKg/IiACIiACIiAC IiACIiACIiACIhAAASkAAoCqJkVABERABERABERABERABERABEQgbASkAAjbiKg/IiACIiACIiAC IiACIiACIiACIhAAASkAAoCqJkVABERABERABERABERABERABEQgbASkAAjbiKg/IiACIiACIiAC IiACIiACIiACIhAAASkAAoCqJkVABERABERABERABERABERABEQgbASkAAjbiKg/IiACIiACIiAC IiACIiACIiACIhAAASkAAoCqJkVABERABERABERABERABERABEQgbASkAAjbiKg/IiACIiACIiAC IiACIiACIiACIhAAASkAAoCqJkVABERABERABERABERABERABEQgbASkAAjbiKg/IiACIiACIiAC IiACIiACIiACIhAAASkAAoCqJkVABERABERABERABERABERABEQgbASkAAjbiKg/IiACIiACIiAC IiACIiACIiACIhAAASkAAoCqJkVABERABERABERABERABERABEQgbASkAAjbiKg/IiACIiACIiAC IiACIiACIiACIhAAASkAAoCqJkVABERABERABERABERABERABEQgbASkAAjbiKg/IiACIiACIiAC IiACIiACIiACIhAAASkAAoCqJkVABERABERABERABERABERABEQgbASkAAjbiKg/IiACIiACIiAC IiACIiACIiACIhAAASkAAoCqJkVABERABERABERABERABERABEQgbASkAAjbiKg/IiACIiACIiAC IiACIiACIiACIhAAASkAAoCqJkVABERABERABERABERABERABEQgbASkAAjbiKg/IiACIiACIiAC IiACIiACIiACIhAAASkAAoCqJkVABERABERABERABERABERABEQgbASkAAjbiKg/IiACIiACIiAC IiACIiACIiACIhAAgdIBtHlPNnnt2jXbvfeg7dy9106kpVtmZpZZiRJWpVIla9SwnnVo19paNGtS qNc+b+FyW7Nhs9n163bdp+WS6EPFihWsUYP61r1bR2vWuCG6VcKndnCbs7Ov2JwFS23N+s02eGAf e3BAXytdulRwJ1TLjkDGuQu2fedu27V3v53D5ytXrli5cuWsRvVqbj5279rRKmF+3MvlTEaGffr5 dDt1+qw9Pm6UdWzXpkCXm5ubawcOHQXPPXbs+Em7mJlp17CtSuXK1qBebWvXppW1adXcSpaU3rRA gHXQPUlg+ap1Nn/RcvwONrCnJjxsFSuUvyevUxclAiIgAiIgAvcKASkAEozkdQjfW3fstllzF9vR YycsB4qAkiVLGP/Hkov9W7bvsnmLVljL5k1s7Kgh1rxpE+oG7ricPXfeDh85jnauQ5guHbNNnN4o uOzas9+WrlhjA/r2tPFjh1uZMmXu+PypNEBOp8+ctYOHjtjZzu2gs/BTWaTSqur6EcjMumQLFi+3 ZavWO2UUVUQlS5R0s5Lkc3MP2pp1m2zm3EU29MH+9gDmRfny5fyaK9bbc3Ku2fETafiXblngUpBy 7HiaTZoyw/YfPGI5OTlOiUZFGu/j3NwTtg3PgIVLV1tjKPseHjPMWrdoZqVKScFVENY65t4icP7C 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 QAREQAREQAREQAREQATCRUAKgHCNh3ojAiIgAiIgAiIgAiIgAiIgAiIgAoEQkAIgEKxqVAREQARE QAREQAREQAREQAREQATCRUAKgHCNh3ojAiIgAiIgAiIgAiIgAiIgAiIgAoEQkAIgEKxqVAREQARE QAREQAREQAREQAREQATCRUAKgHCNh3ojAiIgAiIgAiIgAiIgAiIgAiIgAoEQkAIgEKxqVAREQARE QAREQAREQAREQAREQATCRUAKgHCNh3ojAiIgAiIgAiIgAiIgAiIgAiIgAoEQkAIgEKxqVAREQARE QAREQAREQAREQAREQATCRUAKgHCNh3ojAiIgAiIgAiIgAiIgAiIgAiIgAoEQkAIgEKxqVAREQARE QAREQAREQAREQAREQATCRUAKgHCNh3ojAiIgAiIgAiIgAiIgAiIgAiIgAoEQkAIgEKxqVAREQARE QAREQAREQAREQAREQATCRUAKgHCNh3ojAiIgAiIgAiIgAiIgAiIgAiIgAoEQkAIgEKxqVAREQARE QAREQAREQAREQAREQATCRUAKgHCNh3ojAiIgAiIgAiIgAiIgAiIgAiIgAoEQkAIgEKxqVAREQARE QAREQAREQAREQAREQATCRUAKgHCNh3ojAiIgAiIgAiIgAiIgAiIgAiIgAoEQkAIgEKxqVAREQARE QAREQAREQAREQAREQATCRUAKgHCNh3ojAiIgAiIgAiIgAiIgAiIgAiIgAoEQkAIgEKxqVAREQARE QAREQAREQAREQAREQATCRUAKgHCNh3ojAiIgAiIgAiIgAiIgAiIgAiIgAoEQkAIgEKxqVAREQARE QAREQAREQAREQAREQATCRUAKgHCNh3ojAiIgAiIgAiIgAiIgAiIgAiIgAoEQkAIgEKxqVAREQARE QAREQAREQAREQAREQATCRUAKgHCNh3ojAiIgAiIgAiIgAiIgAiIgAiIgAoEQkAIgEKxqVAREQARE QAREQAREQAREQAREQATCRUAKgHCNh3ojAiIgAiIgAiIgAiIgAiIgAiIgAoEQkAIgEKxqVAREQARE QAREQAREQAREQAREQATCRUAKgHCNh3ojAiIgAiIgAiIgAiIgAiIgAiIgAoEQkAIgEKxqVAREQARE QAREQAREQAREQAREQATCRUAKgHCNh3ojAiIgAiIgAiIgAiIgAiIgAiIgAoEQkAIgEKxqVAREQARE QAREQAREQAREQAREQATCRUAKgHCNh3ojAiIgAiIgAiIgAiIgAiIgAiIgAoEQkAIgEKxqVAREQARE QAREQAREQAREQAREQATCRUAKgHCNh3ojAiIgAiIgAiIgAiIgAiIgAiIgAoEQkAIgEKxqVAREQARE QAREQAREQAREQAREQATCRUAKgHCNh3ojAiIgAiIgAiIgAiIgAiIgAiIgAoEQkAIgEKxqVAREQARE QAREQAREQAREQAREQATCRUAKgHCNh3ojAiIgAiIgAiIgAiIgAiIgAiIgAoEQkAIgEKxqVAREQARE QAREQAREQAREQAREQATCRUAKgHCNh3ojAiIgAiIgAiIgAiIgAiIgAiIgAoEQkAIgEKxqVAREQARE QAREQAREQAREQAREQATCRUAKgHCNh3ojAiIgAiIgAiIgAiIgAiIgAiIgAoEQkAIgEKxqVAREQARE QAREQAREQAREQAREQATCRUAKgHCNh3ojAiIgAiIgAiIgAiIgAiIgAiIgAoEQkAIgEKxqVAREQARE QAREQAREQAREQAREQATCRUAKgHCNh3ojAiIgAiIgAiIgAiIgAiIgAiIgAoEQkAIgEKxqVAREQARE QAREQAREQAREQAREQATCRUAKgHCNh3ojAiIgAiIgAiIgAiIgAiIgAiIgAoEQkAIgEKxqVAREQARE QAREQAREQAREQAREQATCRUAKgHCNh3ojAiIgAiIgAiIgAiIgAiIgAiIgAoEQkAIgEKxqVAREQARE QAREQAREQAREQAREQATCRUAKgHCNh3ojAiIgAiIgAiIgAiIgAiIgAiIgAoEQkAIgEKxqVAREQARE QAREQAREQAREQAREQATCRUAKgHCNh3ojAiIgAiIgAiIgAiIgAiIgAiIgAoEQkAIgEKxqVAREQARE QAREQAREQAREQAREQATCRUAKgHCNh3ojAiIgAiIgAiIgAiIgAiIgAiIgAoEQkAIgEKxqVAREQARE QAREQAREQAREQAREQATCRUAKgHCNh3ojAiIgAiIgAiIgAiIgAiIgAiIgAoEQkAIgEKxqVAREQARE QAREQAREQAREQAREQATCRUAKgHCNh3ojAiIgAiIgAiIgAiIgAiIgAiIgAoEQkAIgEKxqVAREQARE QAREQAREQAREQAREQATCRUAKgHCNh3ojAiIgAiIgAiIgAiIgAiIgAiIgAoEQkAIgEKxqVAREQARE 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 MNFCytJp7nyxjEoLCkehGl2kmcWfjRZdCtw8B55vDLL3+54v12FYAWOyeV7MpEwLn9ccY3zPc+BO eFwKCYGtBAIg98Hr89x+fddhPCfvFSd1rG5A5UNCvXjnHu67nt7fPAF6erC/lPW/ivcq2L0IltCP 95x9o8zNnha4GHfvA38LPOMKfY79HstD9bnyfV/vV+wP3m8lkAD7DM/DCztgwjCG61AxplYzBDgu 8fd6GYpI95vFzeR9j0eYU6ixhw9VJiflmMnxjGOJN9YxCSmVmmwM5fLGW46V7AtMPOjtl1Z97itw rHQb4x+ObRQsvTE/DmNSdbysvP3pNTSBEiixOV7wfvG+hdu8e0RlTtnvtWK/cc8+3Gv3nINi2+sr PAb7HD36Ap+vvt9xv3w++m5X3s9w3BiMKTxnr1+Fe+5aTwREQAREIDoJSAEQnfdVVyUCIiACIiAC IiACIiACIiACIiACfgS+MG/6LdYHERABERABERABERABERABERABERCBaCIgBUA03U1diwiIgAiI gAiIgAiIgAiIgAiIgAiEICAFQAgwWiwCIiACIiACIiACIiACIiACIiAC0URACoBoupu6FhEQAREQ AREQAREQAREQAREQAREIQUAKgBBgtFgEREAEREAEREAEREAEREAEREAEoomAFADRdDd1LSIgAiIg AiIgAiIgAiIgAiIgAiIQgoAUACHAaLEIiIAIiIAIiIAIiIAIiIAIiIAIRBMBKQCi6W7qWkRABERA BERABERABERABERABEQgBAEpAEKA0WIREAEREAEREAEREAEREAEREAERiCYCUgBE093UtYiACIiA CIiACIiACIiACIiACIhACAJSAIQAo8UiIAIiIAIiIAIiIAIiIAIiIAIiEE0EpACIprupaxEBERAB ERABERABERABERABERCBEASkAAgBRotFQAREQAREQAREQAREQAREQAREIJoISAEQTXdT1yICIiAC IiACIiACIiACIiACIiACIQhIARACjBaLgAiIgAiIgAiIgAiIgAiIgAiIQDQRkAIgmu6mrkUEREAE REAEREAEREAEREAEREAEQhCQAiAEGC0WAREQAREQAREQAREQAREQAREQgWgiIAVANN1NXYsIiIAI iIAIiIAIiIAIiIAIiIAIhCAgBUAIMFosAiIgAiIgAiIgAiIgAiIgAiIgAtFEQAqAaLqbuhYREAER EAEREAEREAEREAEREAERCEFACoAQYLRYBERABERABERABERABERABERABKKJgBQA0XQ3dS0iIAIi IAIiIAIiIAIiIAIiIAIiEIKAFAAhwGixCIiACIiACIiACIiACIiACIiACEQTASkAoulu6lpEQARE QAREQAREQAREQAREQAREIAQBKQBCgNFiERABERABERABERABERABERABEYgmAlIARNPd1LWIgAiI gAiIgAiIgAiIgAiIgAiIQAgCUgCEAKPFIiACIiACIiACIiACIiACIiACIhBNBKQAiKa7qWsRAREQ AREQAREQAREQAREQAREQgRAEpAAIAUaLRUAEREAEREAEREAEREAEREAERCCaCEgBEE13U9ciAiIg AiIgAiIgAiIgAiIgAiIgAiEISAEQAowWi4AIiIAIiIAIiIAIiIAIiIAIiEA0EZACIJrupq5FBERA BERABERABERABERABERABEIQkAIgBBgtFgEREAEREAEREAEREAEREAEREIFoIiAFQDTdTV2LCIiA CIiACIiACIiACIiACIiACIQgIAVACDBaLAIiIAIiIAIiIAIiIAIiIAIiIALRREAKgGi6m7oWERAB ERABERABERABERABERABEQhBQAqAEGC0WAREQAREQAREQAREQAREQAREQASiiYAUANF0N3UtIiAC IiACIiACIiACIiACIiACIhCCgBQAIcBosQiIgAiIgAiIgAiIgAiIgAiIgAhEEwEpAKLpbupaREAE REAEREAEREAEREAEREAERCAEASkAQoDRYhEQAREQAREQAREQAREQAREQARGIJgJSAETT3dS1iIAI iIAIiIAIiIAIiIAIiIAIiEAIAnElP3kvxFdaLAIiIAIiIAI1T4Ca6MI6V+2N+FyLtTo1f0AdQQRu EYFrl83Sxl6zRp1Lje/VRODLJBATF2N71x2yc6dLLCZGY+2XeS9q17FL7WqdBNub/LyV1oJnfGls rHU9dcS+vXmhXYirG/atLi0pseTnn7f4zp2r3ObS7q12du5LViehXvB1S82uTD9ppYnXDNBdq4PX otQ0uxKfYHGX568PvqGWioAIiIAIiMAtIEAFQFHMZfskMcvq1oLJwS1AqkPcJgSulph1bXvV0lph Aoz3aiLwZRKIS4i15ds2W/7RsxYTKwXAl3kvatexS+1KTJJtTJ+By64F/Q5C/6ADu+y5996yovgQ AnqQDnDt3DlrNHNmWAqAy8dy7OwHL1tsg0ZB9oRFV+tYSd8jVsqvPQUAdAG5DVraJUuyuDr1E4Jv qKUiIAIiIAIicAsIcDoQUyfGEhMTpQC4Bbx1iFtHAHMwS4i7avEwvVxV0OWtA68jBSUQVyfWEuMb WP2EUikAghLSwpohUKYAiK0bWys8AK7FxeI3BnNGUpLF3IACwErhHwHvgXBandg4i6nfwOokJgVf /Vod/MbjrDT2yhcKADyPYus0wF990+MoODYtFQEREAEREAEREAEREAEREAEREIGoIiAFQFTdTl2M CIiACIiACIiACIiACIiACIiACAQnIAVAcC5aKgIiIAIiIAIiIAIiIAIiIAIiIAJRRUAKgKi6nboY ERABERABERABERABERABERABEQhOQAqA4Fy0VAREQAREQAREQAREQAREQAREQASiioAUAFF1O3Ux IiACIiACIiACIiACIiACIiACIhCcgBQAwbloqQiIgAiIgAiIgAiIgAiIgAiIgAhEFQEpAKLqdupi REAEREAEREAEREAEREAEREAERCA4ASkAgnPRUhEQAREQAREQAREQAREQAREQARGIKgJSAETV7dTF iIAIiIAIiIAIiIAIiIAIiIAIiEBwAlIABOeipSIgAiIgAiIgAiIgAiIgAiIgAiIQVQSkAIiq26mL EQEREAEREAEREAEREAEREAEREIHgBKQACM5FS0VABERABERABERABERABERABEQgqghIARBVt1MX IwIiIAIiIAIiIAIiIAIiIAIiIALBCUgBEJyLloqACIiACIiACIiACIiACIiACIhAVBGQAiCqbqcu RgREQAREQAREQAREQAREQAREQASCE5ACIDgXLRUBERABERABERABERABERABERCBqCIgBUBU3U5d jAiIgAiIgAiIgAiIgAiIgAiIgAgEJ/D/AxX2fNWx9wMjAAAAAElFTkSuQmCC --Apple-Mail=_25AB7AAF-E1B8-48EF-B298-83B1B645B974-- --Apple-Mail=_79FF0303-4FEB-4B8C-A4E4-28340E90127B-- --Apple-Mail=_1AD82790-7A67-442B-8C7F-5D5DDDF076E8 Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP -----BEGIN PGP SIGNATURE----- Version: GnuPG/MacGPG2 v2.2 Comment: GPGTools - http://gpgtools.org iQEzBAEBCgAdFiEEyzPHvybPbOpU9MCxQlsJDh9CUqAFAmScYm0ACgkQQlsJDh9C UqD2twgAtTAn+VZ2GnrzVmzaTnEnFZzBM4ZG12uvINrZDGBDpGmNnb1lEKdwpGLF S0wTjaT7CP9sS1qbnuC6UWB2B9mHgqPYlcQNfERsibO1F8YFyVTc7VubpOM9s6eK tiUqTRzzwxl2hU2hMLAJf0PyvT3GUep5RqEzcH4Yxpt1Qs/tSBkbUz6Y0lZK7ahl mBXdfasMfeFsKLHFPn9qBR53sk8TaEGKgellFeTpA8Y5phUfU7DTBvCnXudegkxZ seXbyqb7lTX0SCj+Bx6NWbyXDjsakV827cEY6pz7FqcM6hSoEfi38OySmRffcCSI laEQ/DIcgn2DPZmWOXkl1YNd5zb4Fg== =38DV -----END PGP SIGNATURE----- --Apple-Mail=_1AD82790-7A67-442B-8C7F-5D5DDDF076E8-- From nobody Wed Jun 28 16:53:35 2023 X-Original-To: freebsd-hackers@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 4QrnjB3qjdz4ksbH for ; Wed, 28 Jun 2023 16:53:50 +0000 (UTC) (envelope-from asomers@gmail.com) Received: from mail-ua1-f44.google.com (mail-ua1-f44.google.com [209.85.222.44]) (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 "GTS CA 1D4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4QrnjB1QrLz3MLc; Wed, 28 Jun 2023 16:53:50 +0000 (UTC) (envelope-from asomers@gmail.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-ua1-f44.google.com with SMTP id a1e0cc1a2514c-783f17f0a00so1825518241.2; Wed, 28 Jun 2023 09:53:50 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1687971228; x=1690563228; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=Pu1z3A9ZxYnOnSMeLSOj6Cf3lkYEDLxh8sBpDLefwhA=; b=EOJpo9BnQ1fQBcRfqfRGGD/AfoFt4j7GToJ1kcT+uFGWmjnMXcDbzD287EKxikHHz+ wptNiMMmjl7Zhvp+MW/92ff/isBk7RgGXbtsXmidr4canDcCCTBRDNY6pv/UGQaoabBh R3gz0kHcV6SUOKcrHGzFtRXQMTBX4Pf8VnPMnFh8MtpjR19jjw9I7gtC7AlBEw2ZP+L1 xTYzPqLM6tLw6BA8kE1bzOgmgxgXtJ0lmwJAHcGqnxqUtnZJnoaz72KyLBJ0XU3ngMT8 z+Es0eNDa02ReLIbT8Nn1Wig5WiFakClBCBKpGOaSqwZ0ApdsAuh30G5Zt0TzLQuYeTT N4iw== X-Gm-Message-State: AC+VfDxYB7XveXOnx5VJYpY9PwYlvqi0E/0STGOKCj0MHg3us8+IOG75 +Ry82yGttEoQwKQlrQV2/H3oFxszWGIfEOlOYJjgBgwRK3o= X-Google-Smtp-Source: ACHHUZ6vMWz26fFKLVKGD6ahKRQrRGf7wsAbj+I/zE2izhlX5vuBWM48GQlPQCD6CJ0duylF5X5G92QB9vDKJjXv3Yc= X-Received: by 2002:a05:6102:3bc4:b0:443:8a7b:f76d with SMTP id a4-20020a0561023bc400b004438a7bf76dmr1341488vsv.28.1687971227898; Wed, 28 Jun 2023 09:53:47 -0700 (PDT) List-Id: Technical discussions relating to FreeBSD List-Archive: https://lists.freebsd.org/archives/freebsd-hackers List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-hackers@freebsd.org MIME-Version: 1.0 References: <0B120328-BA3A-49B8-9537-A3E40EA840CA@FreeBSD.org> In-Reply-To: <0B120328-BA3A-49B8-9537-A3E40EA840CA@FreeBSD.org> From: Alan Somers Date: Wed, 28 Jun 2023 09:53:35 -0700 Message-ID: Subject: Re: Should close() release locks atomically? To: Mark Murray Cc: FreeBSD Hackers Content-Type: multipart/related; boundary="0000000000006e329d05ff336d19" X-Rspamd-Queue-Id: 4QrnjB1QrLz3MLc X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-ThisMailContainsUnwantedMimeParts: N --0000000000006e329d05ff336d19 Content-Type: multipart/alternative; boundary="0000000000006e329d05ff336d18" --0000000000006e329d05ff336d18 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Wed, Jun 28, 2023 at 9:40=E2=80=AFAM Mark Murray wro= te: > On 24 Jun 2023, at 16:29, Alan Somers wrote: > > I'm afraid that I haven't been successful in creating a minimal test > case. My original test case, while it reliably reproduces the > problem, is huge. I'm sorry, but I think I'm going to declare ENOTIME > and get back to the aforementioned refactoring. > > > Hi - have you tried using e.g. CReduce to get a testcase? I've used > CReduce a bit @work for compiler development and its pretty good. > > [image: creduce.png] > > csmith-project/creduce: C-Reduce, a C and C++ program reducer > > github.com > > > M > -- > Mark R V Murray > No I haven't. I could try. But, * Does creduce work on Rust, too? * My failure is frequent but not 100% reliable. Will that prevent me from using creduce successfully? --0000000000006e329d05ff336d18 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
On Wed, Jun 28, 2023 at 9:40=E2=80=AFAM Mark Murray <markm@freebsd.org> wrote:
On 24 Jun 2023, at 16:29, Alan Somers <asomers@freebsd.org> wrote:
I'm afraid that I haven't been successful in creating a = minimal test
case.=C2=A0 My original test case, while it reliably reprod= uces the
problem, is huge.=C2=A0 I'm sorry, but I think I'm goin= g to declare ENOTIME
and get back to the aforementioned refactoring.
=

Hi - have you tried usin= g e.g. CReduce to get a testcase? I've used
CReduce a bit @wo= rk for compiler development and its pretty good.

M
--=C2=A0
Mark R V Murray

No I haven't.=C2=A0 I could try.=C2=A0 But,=
* Does creduce work on Rust, too?
* My failure is freq= uent but not 100% reliable.=C2=A0 Will that prevent me from using creduce s= uccessfully?
--0000000000006e329d05ff336d18-- --0000000000006e329d05ff336d19 Content-Type: image/png; name="creduce.png" Content-Disposition: inline; filename="creduce.png" Content-Transfer-Encoding: base64 Content-ID: <18902e583414be98e441> X-Attachment-Id: 18902e583414be98e441 iVBORw0KGgoAAAANSUhEUgAABAAAAAIACAYAAAAczR65AAAAAXNSR0IArs4c6QAAAERlWElmTU0A KgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAEAKADAAQAAAAB AAACAAAAAAAFhAkAAABAAElEQVR4AeydB2BUxRaGDySk0Zv03osUEQFFFEUUe69Ynvrsz/Lsveuz PHvvPBWpgoD03rtILyH0mlASkkAq7/yz3HB3s7vZ3Ww2Zf/RZTd3753yzdy7c86cc6bccU3CRAIk QAIkQAIkQAIkQAIkQAIkQAIkUKYJlC/TrWPjSIAESIAESIAESIAESIAESIAESIAEDAEqADgQSIAE SIAESIAESIAESIAESIAESCAMCFABEAadzCaSAAmQAAmQAAmQAAmQAAmQAAmQABUAHAMkQAIkQAIk QAIkQAIkQAIkQAIkEAYEqAAIg05mE0mABEiABEiABEiABEiABEiABEiACgCOARIgARIgARIgARIg ARIgARIgARIIAwJUAIRBJ7OJJEACJEACJEACJEACJEACJEACJEAFAMcACZAACZAACZAACZAACZAA CZAACYQBASoAwqCT2UQSIAESIAESIAESIAESIAESIAESoAKAY4AESIAESIAESIAESIAESIAESIAE woAAFQBh0MlsIgmQAAmQAAmQAAmQAAmQAAmQAAlQAcAxQAIkQAIkQAIkQAIkQAIkQAIkQAJhQIAK gDDoZDaRBEiABEiABEiABEiABEiABEiABKgA4BggARIgARIgARIgARIgARIgARIggTAgQAVAGHQy m0gCJEACJEACJEACJEACJEACJEACVABwDJAACZAACZAACZAACZAACZAACZBAGBCgAiAMOplNJAES IAESIAESIAESIAESIAESIAEqADgGSIAESIAESIAESIAESIAESIAESCAMCFABEAadzCaSAAmQAAmQ AAmQAAmQAAmQAAmQABUAHAMkQAIkQAIkQAIkQAIkQAIkQAIkEAYEqAAIg05mE0mABEiABEiABEiA BEiABEiABEiACgCOARIgARIgARIgARIgARIgARIgARIIAwJUAIRBJ7OJJEACJEACJEACJEACJEAC JEACJEAFAMcACZAACZAACZAACZAACZAACZAACYQBASoAwqCT2UQSIAESIAESIAESIAESIAESIAES oAKAY4AESIAESIAESIAESIAESIAESIAEwoAAFQBh0MlsIgmQAAmQAAmQAAmQAAmQAAmQAAlQAcAx QAIkQAIkQAIkQAIkQAIkQAIkQAJhQIAKgDDoZDaRBEiABEiABEiABEiABEiABEiABKgA4BggARIg ARIgARIgARIgARIgARIggTAgQAVAGHQym0gCJEACJEACJEACJEACJEACJEACVABwDJAACZAACZAA CZAACZAACZAACZBAGBCgAiAMOplNJAESIAESIAESIAESIAESIAESIAEqADgGSIAESIAESIAESIAE SIAESIAESCAMCFABEAadzCaSAAmQAAmQAAmQAAmQAAmQAAmQABUAHAMkQAIkQAIkQAIkQAIkQAIk QAIkEAYEqAAIg05mE0mABEiABEiABEiABEiABEiABEiACgCOARIgARIgARIgARIgARIgARIgARII AwJUAIRBJ7OJJEACJEACJEACJEACJEACJEACJEAFAMcACZAACZAACZAACZAACZAACZAACYQBASoA wqCT2UQSIAESIAESIAESIAESIAESIAESoAKAY4AESIAESIAESIAESIAESIAESIAEwoAAFQBh0Mls IgmQAAmQAAmQAAmQAAmQAAmQAAlQAcAxQAIkQAIkQAIkQAIkQAIkQAIkQAJhQIAKgDDoZDaRBEiA BEiABEiABEiABEiABEiABKgA4BggARIgARIgARIgARIgARIgARIggTAgQAVAGHQym0gCJEACJEAC JEACJEACJEACJEACVABwDJAACZAACZAACZAACZAACZAACZBAGBCgAiAMOplNJAESIAESIAESIAES IAESIAESIAEqADgGSIAESIAESIAESIAESIAESIAESCAMCFABEAadzCaSAAmQAAmQAAmQAAmQAAmQ AAmQABUAHAMkQAIkQAIkQAIkQAIkQAIkQAIkEAYEqAAIg05mE0mABEiABEiABEiABEiABEiABEiA CgCOARIgARIgARIgARIgARIgARIgARIIAwJUAIRBJ7OJJEACJEACJEACJEACJEACJEACJEAFAMcA CZAACZAACZAACZAACZAACZAACYQBASoAwqCT2UQSIAESIAESIAESIAESIAESIAESoAKAY4AESIAE SIAESIAESIAESIAESIAEwoAAFQBh0MlsIgmQAAmQAAmQAAmQAAmQAAmQAAlQAcAxQAIkQAIkQAIk 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 FQDh09dsKQmQAAmQAAmQAAmQAAmQAAmQQBgToAIgjDufTScBEiABEiABEiABEiABEiABEggfAlQA hE9fs6UkQAIkQAIkQAIkQAIkQAIkQAJhTIAKgDDufDadBEiABEiABEiABEiABEiABEggfAhQARA+ fc2WkgAJkAAJkAAJkAAJkAAJkAAJhDGByDBuO5tOAiRAAiRAAiRAAiRAAiRQxgnk5orkHj8u5ULU zvLly0m5UBV2ok05OcdD1DotRhunTQx5G0PXwLJdEhUAZbt/2bogEsjJyZHMrKwCc8TzPio6Wh+M IX7yF1gznkACJEACJEACJEAC4UMAgn+VSuXlvF4VpUWTKNGpXJEmTP3S0nNl+vxU2bQtUyIiin4u qHoNqVyxvFx3cVXTVvxdlAlt3JuYJbOXpMvufdlUAhQl7CLKmwqAIgLLbMsegVlz5stzL7+uPx6e fz2O61M3NiZGfvruC2nRrGnZg8AWkQAJkAAJkAAJkEApIQBZODKynDRpECWdWsdIVnbRSscQjg+n 5MjilRFStCU5dwDa2LpZlNSuFqGWDs7fBfsvtLFiXHlZtvpYsLNmfiEiQAVAiECzmNJPIFfVyFlq AVCQAiAyQh/6Ra1+Lf042QISIAESIAESIAESCBkByMVFLBuHrC2eCgqHNnpqO4/7ToBBAH1nxTNJ gARIgARIgARIgARIgARIgARIoNQSoAKg1HYdK04CJEACJEACJEACJEACJEACJEACvhOgAsB3VjyT BEiABEiABEiABEiABEiABEiABEotASoASm3XseIkQAIkQAIkQAIkQAIkQAIkQAIk4DsBKgB8Z8Uz SYAESIAESIAESIAESIAESIAESKDUEqACoNR2HStOAiRAAiRAAiRAAiRAAiRAAiRAAr4ToALAd1Y8 kwRIgARIgARIgARIgARIgARIgARKLQEqAEpt17HiJEACJEACJEACJEACJEACJEACJOA7ASoAfGfF M0mABEiABEiABEiABEiABEiABEig1BKgAqDUdh0rTgIkQAIkQAIkQAIkQAIkQAIkQAK+E6ACwHdW PJMESIAESIAESIAESIAESIAESIAESi2ByFJb8xJY8aNHj8mBgwflcHKypKcflaysTMnOzpVy5cpJ hQqREhcbK5UrV5Lq1atJ9WrVSkwLMrOyZO/efXLw0CFBG8prfU/vdppERASmH8rNzZXEpANy+PBh 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 FSgB5qPgPGTsv+ZhfNRSAMTno70iIAIiIAIiIAIiIAIiIAIJCJQuXdoJXwmqabcIBEJAwn/yWEsn X1U1RUAEREAEREAEREAEREAERCA2Abpe0xKbnZ3t/saupa0iULgEmPSvYsWKzgOgcFu+N1vTMoD3 5rjqqkRABERABERABERABETgrhC4evWqXb582a5duyZ37LsyAvfPSel5ohwUqY23FACp8VJtERAB ERABERABERABERCBBAQo/F+6dMkpARJU1W4RSIkAvUxo9feEf8X8p4TPpABIjZdqi4AIiIAIiIAI iIAIiIAIJEGAglpOTo5duXLF6BUgQS0JaKqSkICX6Z9x/yqpE5ACIHVmOkIEREAEREAEREAEREAE RCBJArm5uc4TgMoAKgKoGFARgVQIeBb/MmXKuFh/KZNSoZe/rhQA+XnomwiIgAiIgAiIgAiIgAiI QAAEPMGfigCGCFAxwG3e3wBOqSaLIQEK+xTw+ZdWfv7zthXDywldl6UACN2QqEMiIAIiIAIiIAIi IAIiIAIiIAIiUPgEShZ+k2pRBERABERABERABERABERABERABEQgbASkAAjbiKg/IiACIiACIiAC IiACIiACIiACIhAAASkAAoCqJkVABERABERABERABERABERABEQgbASkAAjbiKg/IiACIiACIiAC IiACIiACIiACIhAAASkAAoCqJkVABERABERABERABERABERABEQgbASkAAjbiKg/IiACIiACIiAC IiACIiACIiACIhAAASkAAoCqJkVABERABERABERABERABERABEQgbASkAAjbiKg/IiACIiACIiAC IiACIiACIiACIhAAASkAAoCqJkVABERABERABERABERABERABEQgbASkAAjbiKg/IiACIiACIiAC IiACIiACIiACIhAAASkAAoCqJkVABERABERABERABERABERABEQgbASkAAjbiKg/IiACIiACIiAC IiACIiACIiACIhAAASkAAoCqJkVABERABERABERABERABERABEQgbASkAAjbiKg/IiACIiACIiAC IiACIiACIiACIhAAASkAAoCqJkVABERABERABERABERABERABEQgbASkAAjbiKg/IiACIiACIiAC IiACIiACIiACIhAAASkAAoCqJkVABERABERABERABERABERABEQgbASkAAjbiKg/IiACIiACIiAC IiACIiACIiACIhAAASkAAoCqJkVABERABERABERABERABERABEQgbASkAAjbiKg/IiACIiACIiAC IiACIiACIiACIhAAASkAAoCqJkVABERABERABERABERABERABEQgbASkAAjbiKg/IiACIiACIiAC IiACIiACIiACIhAAASkAAoCqJkVABERABERABERABERABERABEQgbASkAAjbiKg/IiACIiACIiAC IiACIiACIiACIhAAASkAAoCqJkVABERABERABERABERABERABEQgbASkAAjbiKg/IiACIiACIiAC IiACIiACIiACIhAAASkAAoCqJkVABERABERABERABERABERABEQgbASkAAjbiKg/IiACIiACIiAC IiACIiACIiACIhAAASkAAoCqJkVABERABERABERABERABERABEQgbASkAAjbiKg/IiACIiACIiAC IiACIiACIiACIhAAASkAAoCqJkVABERABERABERABERABERABEQgbASkAAjbiKg/IiACIiACIiAC IiACIiACIiACIhAAgdIBtHlPNnnt2jXbvfeg7dy9106kpVtmZpZZiRJWpVIla9SwnnVo19paNGtS qNc+b+FyW7Nhs9n163bdp+WS6EPFihWsUYP61r1bR2vWuCG6VcKndnCbs7Ov2JwFS23N+s02eGAf e3BAXytdulRwJ1TLjkDGuQu2fedu27V3v53D5ytXrli5cuWsRvVqbj5279rRKmF+3MvlTEaGffr5 dDt1+qw9Pm6UdWzXpkCXm5ubawcOHQXPPXbs+Em7mJlp17CtSuXK1qBebWvXppW1adXcSpaU3rRA gHXQPUlg+ap1Nn/RcvwONrCnJjxsFSuUvyevUxclAiIgAiIgAvcKASkAEozkdQjfW3fstllzF9vR YycsB4qAkiVLGP/Hkov9W7bvsnmLVljL5k1s7Kgh1rxpE+oG7ricPXfeDh85jnauQ5guHbNNnN4o uOzas9+WrlhjA/r2tPFjh1uZMmXu+PypNEBOp8+ctYOHjtjZzu2gs/BTWaTSqur6EcjMumQLFi+3 ZavWO2UUVUQlS5R0s5Lkc3MP2pp1m2zm3EU29MH+9gDmRfny5fyaK9bbc3Ku2fETafiXblngUpBy 7HiaTZoyw/YfPGI5OTlOiUZFGu/j3NwTtg3PgIVLV1tjKPseHjPMWrdoZqVKScFVENY65t4icP7C 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 QAREQAREQAREQAREQATCRUAKgHCNh3ojAiIgAiIgAiIgAiIgAiIgAiIgAoEQkAIgEKxqVAREQARE QAREQAREQAREQAREQATCRUAKgHCNh3ojAiIgAiIgAiIgAiIgAiIgAiIgAoEQkAIgEKxqVAREQARE QAREQAREQAREQAREQATCRUAKgHCNh3ojAiIgAiIgAiIgAiIgAiIgAiIgAoEQkAIgEKxqVAREQARE QAREQAREQAREQAREQATCRUAKgHCNh3ojAiIgAiIgAiIgAiIgAiIgAiIgAoEQkAIgEKxqVAREQARE QAREQAREQAREQAREQATCRUAKgHCNh3ojAiIgAiIgAiIgAiIgAiIgAiIgAoEQkAIgEKxqVAREQARE QAREQAREQAREQAREQATCRUAKgHCNh3ojAiIgAiIgAiIgAiIgAiIgAiIgAoEQkAIgEKxqVAREQARE QAREQAREQAREQAREQATCRUAKgHCNh3ojAiIgAiIgAiIgAiIgAiIgAiIgAoEQkAIgEKxqVAREQARE QAREQAREQAREQAREQATCRUAKgHCNh3ojAiIgAiIgAiIgAiIgAiIgAiIgAoEQkAIgEKxqVAREQARE QAREQAREQAREQAREQATCRUAKgHCNh3ojAiIgAiIgAiIgAiIgAiIgAiIgAoEQkAIgEKxqVAREQARE QAREQAREQAREQAREQATCRUAKgHCNh3ojAiIgAiIgAiIgAiIgAiIgAiIgAoEQkAIgEKxqVAREQARE QAREQAREQAREQAREQATCRUAKgHCNh3ojAiIgAiIgAiIgAiIgAiIgAiIgAoEQkAIgEKxqVAREQARE QAREQAREQAREQAREQATCRUAKgHCNh3ojAiIgAiIgAiIgAiIgAiIgAiIgAoEQkAIgEKxqVAREQARE QAREQAREQAREQAREQATCRUAKgHCNh3ojAiIgAiIgAiIgAiIgAiIgAiIgAoEQkAIgEKxqVAREQARE QAREQAREQAREQAREQATCRUAKgHCNh3ojAiIgAiIgAiIgAiIgAiIgAiIgAoEQkAIgEKxqVAREQARE QAREQAREQAREQAREQATCRUAKgHCNh3ojAiIgAiIgAiIgAiIgAiIgAiIgAoEQkAIgEKxqVAREQARE QAREQAREQAREQAREQATCRUAKgHCNh3ojAiIgAiIgAiIgAiIgAiIgAiIgAoEQkAIgEKxqVAREQARE QAREQAREQAREQAREQATCRUAKgHCNh3ojAiIgAiIgAiIgAiIgAiIgAiIgAoEQkAIgEKxqVAREQARE QAREQAREQAREQAREQATCRUAKgHCNh3ojAiIgAiIgAiIgAiIgAiIgAiIgAoEQkAIgEKxqVAREQARE QAREQAREQAREQAREQATCRUAKgHCNh3ojAiIgAiIgAiIgAiIgAiIgAiIgAoEQkAIgEKxqVAREQARE QAREQAREQAREQAREQATCRUAKgHCNh3ojAiIgAiIgAiIgAiIgAiIgAiIgAoEQkAIgEKxqVAREQARE QAREQAREQAREQAREQATCRUAKgHCNh3ojAiIgAiIgAiIgAiIgAiIgAiIgAoEQkAIgEKxqVAREQARE QAREQAREQAREQAREQATCRUAKgHCNh3ojAiIgAiIgAiIgAiIgAiIgAiIgAoEQkAIgEKxqVAREQARE QAREQAREQAREQAREQATCRUAKgHCNh3ojAiIgAiIgAiIgAiIgAiIgAiIgAoEQkAIgEKxqVAREQARE QAREQAREQAREQAREQATCRUAKgHCNh3ojAiIgAiIgAiIgAiIgAiIgAiIgAoEQkAIgEKxqVAREQARE QAREQAREQAREQAREQATCRUAKgHCNh3ojAiIgAiIgAiIgAiIgAiIgAiIgAoEQkAIgEKxqVAREQARE QAREQAREQAREQAREQATCRUAKgHCNh3ojAiIgAiIgAiIgAiIgAiIgAiIgAoEQkAIgEKxqVAREQARE QAREQAREQAREQAREQATCRUAKgHCNh3ojAiIgAiIgAiIgAiIgAiIgAiIgAoEQkAIgEKxqVAREQARE QAREQAREQAREQAREQATCRUAKgHCNh3ojAiIgAiIgAiIgAiIgAiIgAiIgAoEQkAIgEKxqVAREQARE QAREQAREQAREQAREQATCRUAKgHCNh3ojAiIgAiIgAiIgAiIgAiIgAiIgAoEQkAIgEKxqVAREQARE QAREQAREQAREQAREQATCRUAKgHCNh3ojAiIgAiIgAiIgAiIgAiIgAiIgAoEQkAIgEKxqVAREQARE QAREQAREQAREQAREQATCRUAKgHCNh3ojAiIgAiIgAiIgAiIgAiIgAiIgAoEQkAIgEKxqVAREQARE QAREQAREQAREQAREQATCRUAKgHCNh3ojAiIgAiIgAiIgAiIgAiIgAiIgAoEQkAIgEKxqVAREQARE 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 MNFCytJp7nyxjEoLCkehGl2kmcWfjRZdCtw8B55vDLL3+54v12FYAWOyeV7MpEwLn9ccY3zPc+BO eFwKCYGtBAIg98Hr89x+fddhPCfvFSd1rG5A5UNCvXjnHu67nt7fPAF6erC/lPW/ivcq2L0IltCP 95x9o8zNnha4GHfvA38LPOMKfY79HstD9bnyfV/vV+wP3m8lkAD7DM/DCztgwjCG61AxplYzBDgu 8fd6GYpI95vFzeR9j0eYU6ixhw9VJiflmMnxjGOJN9YxCSmVmmwM5fLGW46V7AtMPOjtl1Z97itw rHQb4x+ObRQsvTE/DmNSdbysvP3pNTSBEiixOV7wfvG+hdu8e0RlTtnvtWK/cc8+3Gv3nINi2+sr PAb7HD36Ap+vvt9xv3w++m5X3s9w3BiMKTxnr1+Fe+5aTwREQAREIDoJSAEQnfdVVyUCIiACIiAC IiACIiACIiACIiACfgS+MG/6LdYHERABERABERABERABERABERABERCBaCIgBUA03U1diwiIgAiI gAiIgAiIgAiIgAiIgAiEICAFQAgwWiwCIiACIiACIiACIiACIiACIiAC0URACoBoupu6FhEQAREQ AREQAREQAREQAREQAREIQUAKgBBgtFgEREAEREAEREAEREAEREAEREAEoomAFADRdDd1LSIgAiIg AiIgAiIgAiIgAiIgAiIQgoAUACHAaLEIiIAIiIAIiIAIiIAIiIAIiIAIRBMBKQCi6W7qWkRABERA BERABERABERABERABEQgBAEpAEKA0WIREAEREAEREAEREAEREAEREAERiCYCUgBE093UtYiACIiA CIiACIiACIiACIiACIhACAJSAIQAo8UiIAIiIAIiIAIiIAIiIAIiIAIiEE0EpACIprupaxEBERAB ERABERABERABERABERCBEASkAAgBRotFQAREQAREQAREQAREQAREQAREIJoISAEQTXdT1yICIiAC IiACIiACIiACIiACIiACIQhIARACjBaLgAiIgAiIgAiIgAiIgAiIgAiIQDQRkAIgmu6mrkUEREAE REAEREAEREAEREAEREAEQhCQAiAEGC0WAREQAREQAREQAREQAREQAREQgWgiIAVANN1NXYsIiIAI iIAIiIAIiIAIiIAIiIAIhCAgBUAIMFosAiIgAiIgAiIgAiIgAiIgAiIgAtFEQAqAaLqbuhYREAER EAEREAEREAEREAEREAERCEFACoAQYLRYBERABERABERABERABERABERABKKJgBQA0XQ3dS0iIAIi IAIiIAIiIAIiIAIiIAIiEIKAFAAhwGixCIiACIiACIiACIiACIiACIiACEQTASkAoulu6lpEQARE QAREQAREQAREQAREQAREIAQBKQBCgNFiERABERABERABERABERABERABEYgmAlIARNPd1LWIgAiI gAiIgAiIgAiIgAiIgAiIQAgCUgCEAKPFIiACIiACIiACIiACIiACIiACIhBNBKQAiKa7qWsRAREQ AREQAREQAREQAREQAREQgRAEpAAIAUaLRUAEREAEREAEREAEREAEREAERCCaCEgBEE13U9ciAiIg AiIgAiIgAiIgAiIgAiIgAiEISAEQAowWi4AIiIAIiIAIiIAIiIAIiIAIiEA0EZACIJrupq5FBERA BERABERABERABERABERABEIQkAIgBBgtFgEREAEREAEREAEREAEREAEREIFoIiAFQDTdTV2LCIiA CIiACIiACIiACIiACIiACIQgIAVACDBaLAIiIAIiIAIiIAIiIAIiIAIiIALRREAKgGi6m7oWERAB ERABERABERABERABERABEQhBQAqAEGC0WAREQAREQAREQAREQAREQAREQASiiYAUANF0N3UtIiAC IiACIiACIiACIiACIiACIhCCgBQAIcBosQiIgAiIgAiIgAiIgAiIgAiIgAhEEwEpAKLpbupaREAE REAEREAEREAEREAEREAERCAEASkAQoDRYhEQAREQAREQAREQAREQAREQARGIJgJSAETT3dS1iIAI iIAIiIAIiIAIiIAIiIAIiEAIAnElP3kvxFdaLAIiIAIiIAI1T4Ca6MI6V+2N+FyLtTo1f0AdQQRu EYFrl83Sxl6zRp1Lje/VRODLJBATF2N71x2yc6dLLCZGY+2XeS9q17FL7WqdBNub/LyV1oJnfGls rHU9dcS+vXmhXYirG/atLi0pseTnn7f4zp2r3ObS7q12du5LViehXvB1S82uTD9ppYnXDNBdq4PX otQ0uxKfYHGX568PvqGWioAIiIAIiMAtIEAFQFHMZfskMcvq1oLJwS1AqkPcJgSulph1bXvV0lph Aoz3aiLwZRKIS4i15ds2W/7RsxYTKwXAl3kvatexS+1KTJJtTJ+By64F/Q5C/6ADu+y5996yovgQ AnqQDnDt3DlrNHNmWAqAy8dy7OwHL1tsg0ZB9oRFV+tYSd8jVsqvPQUAdAG5DVraJUuyuDr1E4Jv qKUiIAIiIAIicAsIcDoQUyfGEhMTpQC4Bbx1iFtHAHMwS4i7avEwvVxV0OWtA68jBSUQVyfWEuMb WP2EUikAghLSwpohUKYAiK0bWys8AK7FxeI3BnNGUpLF3IACwErhHwHvgXBandg4i6nfwOokJgVf /Vod/MbjrDT2yhcKADyPYus0wF990+MoODYtFQEREAEREAEREAEREAEREAEREIGoIiAFQFTdTl2M CIiACIiACIiACIiACIiACIiACAQnIAVAcC5aKgIiIAIiIAIiIAIiIAIiIAIiIAJRRUAKgKi6nboY ERABERABERABERABERABERABEQhOQAqA4Fy0VAREQAREQAREQAREQAREQAREQASiioAUAFF1O3Ux IiACIiACIiACIiACIiACIiACIhCcgBQAwbloqQiIgAiIgAiIgAiIgAiIgAiIgAhEFQEpAKLqdupi REAEREAEREAEREAEREAEREAERCA4ASkAgnPRUhEQAREQAREQAREQAREQAREQARGIKgJSAETV7dTF iIAIiIAIiIAIiIAIiIAIiIAIiEBwAlIABOeipSIgAiIgAiIgAiIgAiIgAiIgAiIQVQSkAIiq26mL EQEREAEREAEREAEREAEREAEREIHgBKQACM5FS0VABERABERABERABERABERABEQgqghIARBVt1MX IwIiIAIiIAIiIAIiIAIiIAIiIALBCUgBEJyLloqACIiACIiACIiACIiACIiACIhAVBGQAiCqbqcu RgREQAREQAREQAREQAREQAREQASCE5ACIDgXLRUBERABERABERABERABERABERCBqCIgBUBU3U5d jAiIgAiIgAiIgAiIgAiIgAiIgAgEJ/D/AxX2fNWx9wMjAAAAAElFTkSuQmCC --0000000000006e329d05ff336d19-- From nobody Wed Jun 28 17:05:30 2023 X-Original-To: freebsd-hackers@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 4Qrnyw36tqz4kxqv for ; Wed, 28 Jun 2023 17:05:44 +0000 (UTC) (envelope-from markm@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (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.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Qrnyw2hBwz3hFD; Wed, 28 Jun 2023 17:05:44 +0000 (UTC) (envelope-from markm@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1687971944; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=IY8tiaJ0fdEMMwSV+vTS+tsM1/awOn0qKvlmN4y03rg=; b=VmSTY/EVlhdAlMkN6GNROM/9ScKh81JeITb59zCbVjulkt0PpXVUiDKKyNXS2Md1bTS5sC ZeO+THGUfXzy8fnQOBGp6wvC5SaxlG7YwPIDNrdLSNoDY8GEIpJ4RLQu+8adaE5IyPDs3C xxyS4AmP7U/xl4uxv3RCOChQa0OtN4ov6Nleupmdqw1QufcI4WBsZ2zDOVqEgfXstVGEhg DhWziR6rYECMB8fCUVyBdGOBJk5sdNS7teLe6++pfaFdeljke92h3Dp1CIlcfvJJTl6ckS bs3R3eQX2njcGIWYbmJAIiYTED/hJfDio7Ntx1YSuZTNojIfeZW3F7Ur7XxF3Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1687971944; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=IY8tiaJ0fdEMMwSV+vTS+tsM1/awOn0qKvlmN4y03rg=; b=i10XNYNRKTXI0QyFbcI6Z4gVBf2qyufWcHskl4rERJOGsrE97ZANNNwZoU9MJfdCPMIRR+ zSoBZEntXmQWndR3HIgBnVvaD3UKW3MYZ4iw1lcjBl0lQ6oFFDdGHUsX6DJtj2b+/uvleB 43zllMhoBVQvxslrwDXbXaMBfDzJf7Jrc36M54HnDP6x4fTi4GZ6gK96harO8MNk7N+WCs iHHVnGlrx19aLd5Hd18A+LEidytfFN5Dl9j3TMVX2nSdVjVWjFgZ5h4gguC9XUVjAOM0Db XKy7Rc/vtjRaAjXt9GbbklfaV1Ox8QijN3/Vmk580L1vcv3s2dhwkLha8NM5bA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1687971944; a=rsa-sha256; cv=none; b=t9Zu4VjsZxzaxh0EKXMvh+yjhRDY54v0VxYLlBbXejwQaqooGCriVbV4TMNZ9TYyM0SU9d TCJwYfqRA2wgibRKBCaKO64SxEDPaD0Y92S6XUkNCtvOH2tL5eEQ4H51sEHwsVtD3yMDPU Zn51LCqgPYP+/9vYeDGiTMRboIyRL+oXfJlExDigFpyJikAY1r6zaaVVS8AP7avt0S2abE jE6W3DsrEpFzaULeCU5XRLw4Uum0tTVkYLNeIM6EeGvzjs/v5DQLzgQJjjze83v8muZ8ju tEicGZLLHVthUl9GsID7rIFo52ctghBqrstksPQzq1TgHIK+KeuL9dOMw22Q2g== Received: from smtpclient.apple (82-132-230-185.dab.02.net [82.132.230.185]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) (Authenticated sender: markm) by smtp.freebsd.org (Postfix) with ESMTPSA id 4Qrnyv4KJWzfLt; Wed, 28 Jun 2023 17:05:43 +0000 (UTC) (envelope-from markm@FreeBSD.org) Content-Type: multipart/signed; boundary="Apple-Mail=_28B6CF83-CB7C-4BDB-88FD-CC5A0F077231"; protocol="application/pgp-signature"; micalg=pgp-sha512 List-Id: Technical discussions relating to FreeBSD List-Archive: https://lists.freebsd.org/archives/freebsd-hackers List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-hackers@freebsd.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3731.600.7\)) Subject: Re: Should close() release locks atomically? From: Mark Murray In-Reply-To: Date: Wed, 28 Jun 2023 18:05:30 +0100 Cc: FreeBSD Hackers Message-Id: <00DFC50C-346B-4345-A08E-999D7110B89B@FreeBSD.org> References: <0B120328-BA3A-49B8-9537-A3E40EA840CA@FreeBSD.org> To: Alan Somers X-Mailer: Apple Mail (2.3731.600.7) X-ThisMailContainsUnwantedMimeParts: N --Apple-Mail=_28B6CF83-CB7C-4BDB-88FD-CC5A0F077231 Content-Type: multipart/alternative; boundary="Apple-Mail=_5FD481CB-6786-4799-8373-52EF133A659F" --Apple-Mail=_5FD481CB-6786-4799-8373-52EF133A659F Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 > On 28 Jun 2023, at 17:53, Alan Somers wrote: >=20 > On Wed, Jun 28, 2023 at 9:40=E2=80=AFAM Mark Murray > wrote: >> Hi - have you tried using e.g. CReduce to get a testcase? I've used >> CReduce a bit @work for compiler development and its pretty good. >>=20 > No I haven't. I could try. But, > * Does creduce work on Rust, too? > * My failure is frequent but not 100% reliable. Will that prevent me = from using creduce successfully? I believe it does work on Rust, and other languages too. The "not 100% reliable" issue will be problematic, but if you are = prepared to run for some time in order to force the failure, and if you are then = prepared to let CReduce chew on this for some time, you could be in luck! M -- Mark R V Murray --Apple-Mail=_5FD481CB-6786-4799-8373-52EF133A659F Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=utf-8
On 28 Jun 2023, = at 17:53, Alan Somers <asomers@freebsd.org> wrote:

On Wed, Jun = 28, 2023 at 9:40=E2=80=AFAM Mark Murray <markm@freebsd.org> = wrote:
Hi - have you tried using = e.g. CReduce to get a testcase? I've used
CReduce a bit @work = for compiler development and its pretty = good.

No I haven't.  I = could try.  But,
* Does creduce work on Rust, = too?
* My failure is frequent but not 100% reliable.  = Will that prevent me from using creduce successfully? =

I believe it does work on Rust, and = other languages too.

The "not 100% reliable" = issue will be problematic, but if you are prepared
to run for = some time in order to force the failure, and if you are then = prepared
to let CReduce chew on this for some time, you could = be in = luck!

M
-- 
Mark = R V Murray

= --Apple-Mail=_5FD481CB-6786-4799-8373-52EF133A659F-- --Apple-Mail=_28B6CF83-CB7C-4BDB-88FD-CC5A0F077231 Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP -----BEGIN PGP SIGNATURE----- Version: GnuPG/MacGPG2 v2.2 Comment: GPGTools - http://gpgtools.org iQEzBAEBCgAdFiEEyzPHvybPbOpU9MCxQlsJDh9CUqAFAmScaFoACgkQQlsJDh9C UqDyyQgAsOUUG2li2MeHE9mDvxvcyfO402jPVx0LLwVigpoEXxBnV39mO/gaj/IY 4o+AtB4M/MvN+ikLGoucIBNiJ5WPrvtIfn8Qw6urAUPuJwU9PcmMK50cn8T5sonf qGRRkK3OizAdarQjXV6+GAsxPz4EmeK/lT0CEkO8AvIntfzuuGa3rvs2YmMqN0ir kfnOtBMzW1nfV1jMIiLj7mb5FZ7Pl/DPFV4ME/JPY38KyXiBCnnAI6ZbYnAtdO9k AWgfPJXvA2UrwQaAVg7TMcP8IpPglqmoN3e9s+cBMwthIECjfksRremFdMXFbGs1 BAw/jYqjD/HuggwPLCO8ZeJJyeWKqg== =DjWv -----END PGP SIGNATURE----- --Apple-Mail=_28B6CF83-CB7C-4BDB-88FD-CC5A0F077231-- From nobody Fri Jun 30 20:58:42 2023 X-Original-To: freebsd-hackers@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 4Qt72s2qG3z4kw9v for ; Fri, 30 Jun 2023 20:58:45 +0000 (UTC) (envelope-from jean-loups@ovh.fr) Received: from 1.mo606.mail-out.ovh.net (1.mo606.mail-out.ovh.net [91.121.57.176]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4Qt72r1Fllz3kKn for ; Fri, 30 Jun 2023 20:58:44 +0000 (UTC) (envelope-from jean-loups@ovh.fr) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=ovh.fr header.s=hostedemail header.b=p99WIc3X; spf=pass (mx1.freebsd.org: domain of jean-loups@ovh.fr designates 91.121.57.176 as permitted sender) smtp.mailfrom=jean-loups@ovh.fr; dmarc=pass (policy=none) header.from=ovh.fr Received: from he2.mail.ovh.net (he2.mail.ovh.net [46.105.67.238]) by mo606.mail-out.ovh.net (Postfix) with ESMTP id 138621FE4F for ; Fri, 30 Jun 2023 20:58:43 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ovh.fr; s=hostedemail; t=1688158723; bh=cpey8wTe2Vi06wbp641Ctw/167MlMwCgsv93zjHzVK4=; h=Date:From:To:Subject:From; b=p99WIc3XpyBm8zIduT1MSO5NKscpm+yU4/nkgO9s+yy9dV88BYTPWDs61BUOWhhmN xCvD5PmaUtDLvMzoS1VkGYQLM14TpqnmxlKVqxUHwnFjCLU9L9Dc8YW5YQlEt9MGyB JciyQaQEMD7lMXIHuDEbLvYMxCk8n6albofyfRUk= Received: from he2.mail.ovh.net (localhost [127.0.0.1]) by he2.mail.ovh.net (Postfix) with ESMTP id EAC051AE40E for ; Fri, 30 Jun 2023 22:58:42 +0200 (CEST) List-Id: Technical discussions relating to FreeBSD List-Archive: https://lists.freebsd.org/archives/freebsd-hackers List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-hackers@freebsd.org MIME-Version: 1.0 Date: Fri, 30 Jun 2023 22:58:42 +0200 From: jean-loups@ovh.fr To: freebsd-hackers@freebsd.org Subject: MINIX 2.0 3-Clause License with FreeBSD Message-ID: <3589e09f00230b7c7914f2cd9cf3bf68@ovh.fr> X-Sender: jean-loups@ovh.fr User-Agent: Roundcube Webmail/1.2.13 Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit X-Ovh-Tracer-Id: 4756645632604976050 X-VR-SPAMSTATE: OK X-VR-SPAMSCORE: 0 X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedviedrtdeigdduheefucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuqfggjfdpvefjgfevmfevgfenuceurghilhhouhhtmecuhedttdenucenucfjughrpeggfffhvffukfigfggtgfesthejjhdttdervdenucfhrhhomhepjhgvrghnqdhlohhuphhssehovhhhrdhfrhenucggtffrrghtthgvrhhnpeejveelheelfedtleevheekueevudfghfegjeduveffvdehieetvefhgeffgefgleenucffohhmrghinhepuhgsuhhnthhurdgtohhmpdhgihhthhhusgdrtghomhdpsggvrghglhgvsghorghrugdrohhrghenucfkphepuddvjedrtddrtddrudenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepihhnvghtpeduvdejrddtrddtrddupdhmrghilhhfrhhomhepoehjvggrnhdqlhhouhhpshesohhvhhdrfhhrqedpnhgspghrtghpthhtohepuddprhgtphhtthhopehfrhgvvggsshguqdhhrggtkhgvrhhssehfrhgvvggsshgurdhorhhgpdfovfetjfhoshhtpehmoheitdeipdhmohguvgepshhmthhpohhuth X-Spamd-Result: default: False [0.77 / 15.00]; SEM_URIBL(3.50)[ubuntu.com:url]; NEURAL_HAM_SHORT(-1.00)[-0.998]; NEURAL_HAM_MEDIUM(-0.99)[-0.993]; NEURAL_HAM_LONG(-0.74)[-0.741]; BAD_REP_POLICIES(0.10)[]; MIME_GOOD(-0.10)[text/plain]; MLMMJ_DEST(0.00)[freebsd-hackers@freebsd.org]; DMARC_POLICY_ALLOW(0.00)[ovh.fr,none]; ARC_NA(0.00)[]; RCVD_TLS_LAST(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; ASN(0.00)[asn:16276, ipnet:91.121.0.0/16, country:FR]; MIME_TRACE(0.00)[0:+]; FROM_NO_DN(0.00)[]; BLOCKLISTDE_FAIL(0.00)[91.121.57.176:server fail,46.105.67.238:server fail]; MID_RHS_MATCH_FROM(0.00)[]; R_SPF_ALLOW(0.00)[+ptr:mail-out.ovh.net]; TO_MATCH_ENVRCPT_ALL(0.00)[]; R_DKIM_ALLOW(0.00)[ovh.fr:s=hostedemail]; DKIM_TRACE(0.00)[ovh.fr:+]; PREVIOUSLY_DELIVERED(0.00)[freebsd-hackers@freebsd.org]; RCPT_COUNT_ONE(0.00)[1]; TO_DN_NONE(0.00)[]; RCVD_COUNT_THREE(0.00)[3]; DWL_DNSWL_NONE(0.00)[ovh.fr:dkim] X-Rspamd-Queue-Id: 4Qt72r1Fllz3kKn X-Spamd-Bar: / X-ThisMailContainsUnwantedMimeParts: N hello here, https://lists.ubuntu.com/archives/ubuntu-users/2023-June/310648.html but Ubuntu community seems not interested to participate to my project, is too big for one person. https://github.com/jean-loups/Ubuntu-Minix-2.0/wiki <-- the brainstorming of the architecture, i think use beagle board AI-64 for develop --> https://beagleboard.org/ai-64 the license is the last of my problems... i just want do an portfolio for my futur job, or may be continu to work on MINIX 2.0 with remuneration i try to create my Micro Society in France, to pay invoice i will follow Open Class Room and Open University in UK, my dream is do an system coder but alone is to become crazy. i try to gather people around my project.. may be have the first do compatible with multi-CPU Intel Xeon on i7/i9 or AMD Ryzen or maybe twice... please say me if my project interest some person to start by the beginning. take care and best regard, jean-loups From nobody Fri Jun 30 22:43:12 2023 X-Original-To: freebsd-hackers@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 4Qt9MS3JGqz4kmkt for ; Fri, 30 Jun 2023 22:43:16 +0000 (UTC) (envelope-from jean-loups@ovh.fr) Received: from 1.mo606.mail-out.ovh.net (1.mo606.mail-out.ovh.net [91.121.57.176]) (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 mx1.freebsd.org (Postfix) with ESMTPS id 4Qt9MR2fL5z4KGb for ; Fri, 30 Jun 2023 22:43:15 +0000 (UTC) (envelope-from jean-loups@ovh.fr) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=ovh.fr header.s=hostedemail header.b=rh+0hqsS; spf=pass (mx1.freebsd.org: domain of jean-loups@ovh.fr designates 91.121.57.176 as permitted sender) smtp.mailfrom=jean-loups@ovh.fr; dmarc=pass (policy=none) header.from=ovh.fr Received: from he2.mail.ovh.net (he2.mail.ovh.net [46.105.67.238]) by mo606.mail-out.ovh.net (Postfix) with ESMTP id BDECB1FE91 for ; Fri, 30 Jun 2023 22:43:12 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ovh.fr; s=hostedemail; t=1688164992; bh=R+gaNNNkTic5DMoaGvoEYEwOa6K6uvPg+1p47pjC9JM=; h=Date:From:To:Subject:In-Reply-To:References:From; b=rh+0hqsSIBPyFU53pNkTv5rwQjlmEJgQMhYJCslOqZRATD3PdtLnkWm0+Sz2ZGUqj bh3cG+MQKIvkEQcRmg8N2XmBahMm7ADwryG0FQ9m7UiZOT0oIHj8jCsYODKQmuNbaf 93DrvhEK0MJFGW/KM9M3pmXv/juJf1KcbLD0G9t8= Received: from he2.mail.ovh.net (localhost [127.0.0.1]) by he2.mail.ovh.net (Postfix) with ESMTP id 59ABF1AE6DB for ; Sat, 1 Jul 2023 00:43:12 +0200 (CEST) List-Id: Technical discussions relating to FreeBSD List-Archive: https://lists.freebsd.org/archives/freebsd-hackers List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-hackers@freebsd.org MIME-Version: 1.0 Date: Sat, 01 Jul 2023 00:43:12 +0200 From: jean-loups@ovh.fr To: freebsd-hackers@freebsd.org Subject: Re: MINIX 2.0 3-Clause License with FreeBSD In-Reply-To: <3589e09f00230b7c7914f2cd9cf3bf68@ovh.fr> References: <3589e09f00230b7c7914f2cd9cf3bf68@ovh.fr> Message-ID: <557131321dafc6248c904f4d62821628@ovh.fr> X-Sender: jean-loups@ovh.fr User-Agent: Roundcube Webmail/1.2.13 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Ovh-Tracer-Id: 6521212264129508274 X-VR-SPAMSTATE: OK X-VR-SPAMSCORE: 0 X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedviedrtdejgddufecutefuodetggdotefrodftvfcurfhrohhfihhlvgemucfqggfjpdevjffgvefmvefgnecuuegrihhlohhuthemucehtddtnecunecujfgurhepggffhffvufgjfhfkgigftgfgsehtkehjtddtreejnecuhfhrohhmpehjvggrnhdqlhhouhhpshesohhvhhdrfhhrnecuggftrfgrthhtvghrnhepvdelhffhkeevjeduteekleejgedvveekvdehvdefffeftefhjeevjefhjedvieegnecuffhomhgrihhnpehusghunhhtuhdrtghomhdpghhithhhuhgsrdgtohhmpdgsvggrghhlvggsohgrrhgurdhorhhgnecukfhppeduvdejrddtrddtrddunecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehinhgvthepuddvjedrtddrtddruddpmhgrihhlfhhrohhmpeeojhgvrghnqdhlohhuphhssehovhhhrdhfrheqpdhnsggprhgtphhtthhopedupdhrtghpthhtohepfhhrvggvsghsugdqhhgrtghkvghrshesfhhrvggvsghsugdrohhrghdpoffvtefjohhsthepmhhoiedtiedpmhhouggvpehsmhhtphhouhht X-Spamd-Result: default: False [0.92 / 15.00]; SEM_URIBL(3.50)[ubuntu.com:url]; NEURAL_HAM_MEDIUM(-0.99)[-0.989]; NEURAL_HAM_SHORT(-0.95)[-0.947]; NEURAL_HAM_LONG(-0.64)[-0.641]; BAD_REP_POLICIES(0.10)[]; MIME_GOOD(-0.10)[text/plain]; FROM_NO_DN(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:16276, ipnet:91.121.0.0/16, country:FR]; RCVD_TLS_LAST(0.00)[]; DMARC_POLICY_ALLOW(0.00)[ovh.fr,none]; FROM_EQ_ENVFROM(0.00)[]; MLMMJ_DEST(0.00)[freebsd-hackers@freebsd.org]; ARC_NA(0.00)[]; RCVD_COUNT_THREE(0.00)[3]; MID_RHS_MATCH_FROM(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; R_DKIM_ALLOW(0.00)[ovh.fr:s=hostedemail]; DKIM_TRACE(0.00)[ovh.fr:+]; R_SPF_ALLOW(0.00)[+ptr:mail-out.ovh.net]; TO_DN_NONE(0.00)[]; PREVIOUSLY_DELIVERED(0.00)[freebsd-hackers@freebsd.org]; RCPT_COUNT_ONE(0.00)[1]; DWL_DNSWL_NONE(0.00)[ovh.fr:dkim] X-Rspamd-Queue-Id: 4Qt9MR2fL5z4KGb X-Spamd-Bar: / X-ThisMailContainsUnwantedMimeParts: N Le 2023/06/30 22:58, jean-loups@ovh.fr a écrit : > hello here, > > https://lists.ubuntu.com/archives/ubuntu-users/2023-June/310648.html > but Ubuntu community seems not interested to participate to my > project, is too big for one person. > > https://github.com/jean-loups/Ubuntu-Minix-2.0/wiki <-- the > brainstorming of the architecture, > i think use beagle board AI-64 for develop --> > https://beagleboard.org/ai-64 > > the license is the last of my problems... > > i just want do an portfolio for my futur job, or may be continu to > work on MINIX 2.0 with remuneration > > i try to create my Micro Society in France, to pay invoice > i will follow Open Class Room and Open University in UK, my dream is > do an system coder but alone is to become crazy. i try to gather > people around my project.. > > may be have the first do compatible with multi-CPU Intel Xeon on i7/i9 > or AMD Ryzen or maybe twice... > > please say me if my project interest some person to start by the > beginning. > > take care and best regard, > jean-loups xmpp:minix-2.0@muc.chapril.org?join From nobody Sat Jul 1 10:11:40 2023 X-Original-To: freebsd-hackers@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 4QtSfD2VdRz4lBxQ for ; Sat, 1 Jul 2023 10:12:04 +0000 (UTC) (envelope-from pat@patmaddox.com) Received: from out4-smtp.messagingengine.com (out4-smtp.messagingengine.com [66.111.4.28]) (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 mx1.freebsd.org (Postfix) with ESMTPS id 4QtSfC5sqNz3G4r for ; Sat, 1 Jul 2023 10:12:03 +0000 (UTC) (envelope-from pat@patmaddox.com) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=patmaddox.com header.s=fm1 header.b="Y kYLvXa"; dkim=pass header.d=messagingengine.com header.s=fm2 header.b=HHKMTRNf; spf=pass (mx1.freebsd.org: domain of pat@patmaddox.com designates 66.111.4.28 as permitted sender) smtp.mailfrom=pat@patmaddox.com; dmarc=none Received: from compute2.internal (compute2.nyi.internal [10.202.2.46]) by mailout.nyi.internal (Postfix) with ESMTP id 6C2815C01EC; Sat, 1 Jul 2023 06:12:02 -0400 (EDT) Received: from imap41 ([10.202.2.91]) by compute2.internal (MEProxy); Sat, 01 Jul 2023 06:12:02 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=patmaddox.com; h=cc:content-transfer-encoding:content-type:content-type:date :date:from:from:in-reply-to:message-id:mime-version:reply-to :sender:subject:subject:to:to; s=fm1; t=1688206322; x= 1688292722; bh=Su66X2vgnPg8lqr3G6HOJ7/Qk7YzWnSletbuwMZhyK0=; b=Y kYLvXaSmj/zBYHMNmZsxF39m6+hO3IwGdySEca/gDJHv7ZMXEssQIB1+JQ11bgN8 SVKzXtvui9NEqzwqRkHstVu3gTWYkf8hVvBy70Z2QJC0MEmdmjhAlx7WNC9vp7fu Gi6gL34JB4kMyKH8ukX+mugiXHtFVwBo13HuALOaLouMwBQiPyeZigZU30gTFFLW tyBu4zuNhHIy+i3Cl0oBBboB3QZ6JuWCK64RMjpwoDRzuTmFhUtF6GvFdeKNvaea sZn0KpfYLEArchDE6sYta6Z/O9yf23FWKk/vubYHQnlQPjE3ysZ+gmtOBIVJHZVa n+5Zj6Q8GOLyQsqV/+6Cg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :content-type:date:date:feedback-id:feedback-id:from:from :in-reply-to:message-id:mime-version:reply-to:sender:subject :subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender :x-sasl-enc; s=fm2; t=1688206322; x=1688292722; bh=Su66X2vgnPg8l qr3G6HOJ7/Qk7YzWnSletbuwMZhyK0=; b=HHKMTRNf09MkolzZZBE5X6vdHMIb5 SN9qbXZiaD2EtlX3NoYAQq1awaIs2o36XHJPNE1ML+O6t9OLdy5LIqdBbWpMtFiX ZqUCTuL1uHJ3SvnnNLSzMGbR1qJ1dT1P33ZfzyyE/Zvdn2QeLTxUiqxwrIulxptu SCaO6O3awVhyXUO/Gy1VxFB5poinFhDz62eKi6Rkr/aRHGyKXRcsj3gwT2Vj40FR IRoEj+Ilh/Q0+aV6w1tqD36p4PAKl09MGPHRByVoKArzHetU4FTUumLQcaAyYCB9 7KF84yJEgNAQNoXkdWU1RrZdrVsZEecwLSKirqZKXwUVR4Z7KIYN2Atuw== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedviedrtdekgddvfecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecunecujfgurhepofgfggfkfffhvffutgfgsehtqhertd erreejnecuhfhrohhmpedfrfgrthcuofgrugguohigfdcuoehprghtsehprghtmhgruggu ohigrdgtohhmqeenucggtffrrghtthgvrhhnpeevgfefgfdvtdeukeduhfffvddttefgue ekfeelleegjeekieegvefggeejieeghfenucffohhmrghinhepghhithhhuhgsrdgtohhm necuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepphgrth esphgrthhmrgguughogidrtghomh X-ME-Proxy: Feedback-ID: i8b6c40f9:Fastmail Received: by mailuser.nyi.internal (Postfix, from userid 501) id 22FF5234007B; Sat, 1 Jul 2023 06:12:02 -0400 (EDT) X-Mailer: MessagingEngine.com Webmail Interface User-Agent: Cyrus-JMAP/3.9.0-alpha0-499-gf27bbf33e2-fm-20230619.001-gf27bbf33 List-Id: Technical discussions relating to FreeBSD List-Archive: https://lists.freebsd.org/archives/freebsd-hackers List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-hackers@freebsd.org Mime-Version: 1.0 Message-Id: <5f311275-e307-4e78-a479-c6d4e7f116d5@app.fastmail.com> Date: Sat, 01 Jul 2023 03:11:40 -0700 From: "Pat Maddox" To: freebsd-hackers@freebsd.org Subject: How are syscall functions defined? Content-Type: text/plain;charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spamd-Result: default: False [-2.94 / 15.00]; SUBJECT_ENDS_QUESTION(1.00)[]; DWL_DNSWL_LOW(-1.00)[messagingengine.com:dkim]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_SHORT(-0.75)[-0.752]; MV_CASE(0.50)[]; R_DKIM_ALLOW(-0.20)[patmaddox.com:s=fm1,messagingengine.com:s=fm2]; R_SPF_ALLOW(-0.20)[+ip4:66.111.4.28]; RCVD_IN_DNSWL_LOW(-0.10)[66.111.4.28:from]; MIME_GOOD(-0.10)[text/plain]; RWL_MAILSPIKE_GOOD(-0.10)[66.111.4.28:from]; XM_UA_NO_VERSION(0.01)[]; FREEFALL_USER(0.00)[pat]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_ONE(0.00)[1]; TO_MATCH_ENVRCPT_ALL(0.00)[]; DMARC_NA(0.00)[patmaddox.com]; RCVD_TLS_LAST(0.00)[]; ASN(0.00)[asn:19151, ipnet:66.111.4.0/24, country:US]; RCVD_COUNT_THREE(0.00)[4]; TO_DN_NONE(0.00)[]; ARC_NA(0.00)[]; DKIM_TRACE(0.00)[patmaddox.com:+,messagingengine.com:+]; MIME_TRACE(0.00)[0:+]; FROM_EQ_ENVFROM(0.00)[]; MLMMJ_DEST(0.00)[freebsd-hackers@freebsd.org] X-Rspamd-Queue-Id: 4QtSfC5sqNz3G4r X-Spamd-Bar: -- X-ThisMailContainsUnwantedMimeParts: N jail_attach is defined in syscalls.master [1] which generates a declarat= ion in jail.h [2]. Try as I might, I can=E2=80=99t find any definition o= f that specific syscall function (or any other). I think the closest I=E2= =80=99ve found is sys_jail_attach in kern_jail.c [3]. I suspect there=E2= =80=99s some generation going on that defines jail_attach - but if that=E2= =80=99s the case, I haven=E2=80=99t been able to track it down. Can someone point me to how the C function gets defined? Thanks, Pat [1] https://github.com/freebsd/freebsd-src/blob/releng/13.2/sys/kern/sys= calls.master#L2307 [2] https://github.com/freebsd/freebsd-src/blob/releng/13.2/sys/sys/jail= .h#L119 [3] https://github.com/freebsd/freebsd-src/blob/releng/13.2/sys/kern/ker= n_jail.c#L2340 From nobody Sat Jul 1 11:22:35 2023 X-Original-To: freebsd-hackers@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 4QtVD30W3bz4kRmF for ; Sat, 1 Jul 2023 11:22:59 +0000 (UTC) (envelope-from pat@patmaddox.com) Received: from out2-smtp.messagingengine.com (out2-smtp.messagingengine.com [66.111.4.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 did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4QtVD060gFz3qby for ; Sat, 1 Jul 2023 11:22:56 +0000 (UTC) (envelope-from pat@patmaddox.com) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=patmaddox.com header.s=fm1 header.b=YSAS371q; dkim=pass header.d=messagingengine.com header.s=fm2 header.b="H OMRzUX"; spf=pass (mx1.freebsd.org: domain of pat@patmaddox.com designates 66.111.4.26 as permitted sender) smtp.mailfrom=pat@patmaddox.com; dmarc=none Received: from compute2.internal (compute2.nyi.internal [10.202.2.46]) by mailout.nyi.internal (Postfix) with ESMTP id D62F95C0206; Sat, 1 Jul 2023 07:22:55 -0400 (EDT) Received: from imap41 ([10.202.2.91]) by compute2.internal (MEProxy); Sat, 01 Jul 2023 07:22:55 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=patmaddox.com; h=cc:content-transfer-encoding:content-type:content-type:date :date:from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:sender:subject:subject:to:to; s=fm1; t= 1688210575; x=1688296975; bh=C4t7In+FqGBwlq8706eDbxS/GyQzmiKGU6r suG1YbZA=; b=YSAS371qQDHXaIGE8BMjK31dbO5GJGubS50ik9q6T2qzdlqcqHt OCaYpixWsog+W0zYZEnBaAQta23qTxnBq+g2LLHZFj8pM68xf3OR7PX6FdS+5s0c +j3igeNtTWeZ8YBSWACW74ACxfwTEDklAUPIsJoH1ddDeZu1NFpUDo+RthIni/cN QabzTTRLkJygj5oDV/uFgqAwqr2EpECkR+fpK4C0+OldGkpj7MHJiByAUhp1Je0W wnYBbEU0czxSyp5mhNoO7+j6xGPKnuXSWfqgOMVaFbM74YnFeck08zoFgG88uVPq NUbuVEaU/R6D/zFAnxapcFfv5bBoi/Kb3VQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :content-type:date:date:feedback-id:feedback-id:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t=1688210575; x= 1688296975; bh=C4t7In+FqGBwlq8706eDbxS/GyQzmiKGU6rsuG1YbZA=; b=H OMRzUXIiOytTq6b9CNouokYsaYRr97CsohDFihvygX/mIhG9wT1tG0a6o34sDZvJ mYKkzqx6t0cueSNur/mbt6CHrihpAJ6m1EMULWMUqlSsaa9EYmdLKu8kyST/YKaY FKDaOEHWvC27N0KxNZKyUAUpj69pLecALFOyUdEuWNNtErc3SX2FhSR5rTwPpJLu CnMSz/J+u0sX9Cawnpk59e1WSclh5Lr+RJxW9FqPpC+6LFV5Bo4ak8wHemzRvt8m S4+mZ162USBYIysgVBA5ibP8ECOQSSQJynuuR6YjYAAtm5TcBtjmopKWBZw489+e S6jNuhUt2QyB262sBjp9A== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedviedrtdekgdefjecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecunecujfgurhepofgfggfkjghffffhvffutgfgsehtqh ertderreejnecuhfhrohhmpedfrfgrthcuofgrugguohigfdcuoehprghtsehprghtmhgr ugguohigrdgtohhmqeenucggtffrrghtthgvrhhnpeehfedufefhkeehkeffffdvtedtff eivdeuhffghfffteeufeejffekgfffjeehfeenucffohhmrghinhepghhithhhuhgsrdgt ohhmpdhshihmsgholhdrmhgrphdpshihmhhvvghrrdhmkhdplhhisgdrmhhknecuvehluh hsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepphgrthesphgrthhm rgguughogidrtghomh X-ME-Proxy: Feedback-ID: i8b6c40f9:Fastmail Received: by mailuser.nyi.internal (Postfix, from userid 501) id 96C5F234007B; Sat, 1 Jul 2023 07:22:55 -0400 (EDT) X-Mailer: MessagingEngine.com Webmail Interface User-Agent: Cyrus-JMAP/3.9.0-alpha0-499-gf27bbf33e2-fm-20230619.001-gf27bbf33 List-Id: Technical discussions relating to FreeBSD List-Archive: https://lists.freebsd.org/archives/freebsd-hackers List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-hackers@freebsd.org Mime-Version: 1.0 Message-Id: <32a0f7e7-11b7-443e-a601-40bec7798d8f@app.fastmail.com> In-Reply-To: <5f311275-e307-4e78-a479-c6d4e7f116d5@app.fastmail.com> References: <5f311275-e307-4e78-a479-c6d4e7f116d5@app.fastmail.com> Date: Sat, 01 Jul 2023 04:22:35 -0700 From: "Pat Maddox" To: freebsd-hackers@freebsd.org Subject: Re: How are syscall functions defined? Content-Type: text/plain;charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spamd-Result: default: False [-3.14 / 15.00]; SUBJECT_ENDS_QUESTION(1.00)[]; DWL_DNSWL_LOW(-1.00)[messagingengine.com:dkim]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_SHORT(-0.95)[-0.949]; MV_CASE(0.50)[]; R_DKIM_ALLOW(-0.20)[patmaddox.com:s=fm1,messagingengine.com:s=fm2]; R_SPF_ALLOW(-0.20)[+ip4:66.111.4.26]; RCVD_IN_DNSWL_LOW(-0.10)[66.111.4.26:from]; MIME_GOOD(-0.10)[text/plain]; RWL_MAILSPIKE_GOOD(-0.10)[66.111.4.26:from]; XM_UA_NO_VERSION(0.01)[]; FREEFALL_USER(0.00)[pat]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_ONE(0.00)[1]; TO_MATCH_ENVRCPT_ALL(0.00)[]; DMARC_NA(0.00)[patmaddox.com]; RCVD_TLS_LAST(0.00)[]; ASN(0.00)[asn:19151, ipnet:66.111.4.0/24, country:US]; RCVD_COUNT_THREE(0.00)[4]; TO_DN_NONE(0.00)[]; ARC_NA(0.00)[]; DKIM_TRACE(0.00)[patmaddox.com:+,messagingengine.com:+]; MIME_TRACE(0.00)[0:+]; FROM_EQ_ENVFROM(0.00)[]; MLMMJ_DEST(0.00)[freebsd-hackers@freebsd.org] X-Rspamd-Queue-Id: 4QtVD060gFz3qby X-Spamd-Bar: --- X-ThisMailContainsUnwantedMimeParts: N On Sat, Jul 1, 2023, at 3:11 AM, Pat Maddox wrote: > jail_attach is defined in syscalls.master [1] which generates a=20 > declaration in jail.h [2]. Try as I might, I can=E2=80=99t find any de= finition=20 > of that specific syscall function (or any other). I think the closest=20 > I=E2=80=99ve found is sys_jail_attach in kern_jail.c [3]. I suspect th= ere=E2=80=99s=20 > some generation going on that defines jail_attach - but if that=E2=80=99= s the=20 > case, I haven=E2=80=99t been able to track it down. > > Can someone point me to how the C function gets defined? > > Thanks, > Pat > > [1]=20 > https://github.com/freebsd/freebsd-src/blob/releng/13.2/sys/kern/sysca= lls.master#L2307 > [2]=20 > https://github.com/freebsd/freebsd-src/blob/releng/13.2/sys/sys/jail.h= #L119 > [3]=20 > https://github.com/freebsd/freebsd-src/blob/releng/13.2/sys/kern/kern_= jail.c#L2340 Symbol.map [1] is used to produce a version map [2] which is then fed to= the linker [3], which I assume maps the symbols in the resulting binary= . I intend to experiment with that a bit, but I think that makes sense. Pat [1] https://github.com/freebsd/freebsd-src/blob/releng/13.2/lib/libc/sys= /Symbol.map#L672 [2] https://github.com/freebsd/freebsd-src/blob/releng/13.2/share/mk/bsd= .symver.mk#L43 [3] https://github.com/freebsd/freebsd-src/blob/releng/13.2/share/mk/bsd= .lib.mk#L253 From nobody Sat Jul 1 13:26:50 2023 X-Original-To: freebsd-hackers@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 4QtXzF0lwnz4kZYf for ; Sat, 1 Jul 2023 13:27:05 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: from mail-ed1-x52a.google.com (mail-ed1-x52a.google.com [IPv6:2a00:1450:4864:20::52a]) (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 "GTS CA 1D4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4QtXzD4r5Kz3G4w for ; Sat, 1 Jul 2023 13:27:04 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-ed1-x52a.google.com with SMTP id 4fb4d7f45d1cf-51d9695ec29so2777927a12.1 for ; Sat, 01 Jul 2023 06:27:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20221208.gappssmtp.com; s=20221208; t=1688218021; x=1690810021; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=sSBfJYJiEMjUg4DimTEw53tsMd6WATDU77DAEowm9Qw=; b=noKPYc4/OEEzNkORMxNMsW5H1gYiD9FpbQDsPRlJiFT/EVc6gVGFewg1g/WpAkfvro R1INTkGv1mKW/DbZFF/1CTZEN7aWqwophlDTsCgsvycNtVAUlO7txxuMYPuNnP9Uzjbz gDe7Bu1W1vBDnHqiNAFWFhIUigir9N6G5Prei5Xk7lgozkp1Iy0l2d15Fa9dkvYMsPwj BvPa9mkoin2czh5UAhBAYfm95UsGnwI0rz+QYEjamJDoqRj8+YshSZlAtRMtFilechgJ KUuFUP4jUI7kn+ZoqDreBVWTNgSnI+mGxRTu3L+RtRsk6Q0dvBbjiefOiBjBG12BzMt5 Qo+A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1688218021; x=1690810021; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=sSBfJYJiEMjUg4DimTEw53tsMd6WATDU77DAEowm9Qw=; b=O/O4CMJBZ6SYOIbMoAC9+YmU0o9xZ9GtEXbw0NinlNmcGd7yLWHEK30jc5mElcLz7Y 5ulCkuIefqKHO4JlgRL5uKhhcPSCpnyqp3KF9zkaeN1dwoCeYjFPAuWe4FgyiCIydYjR fYNKRDWq/l/RtZyNfEUW9YUMsaFj/Mi9LKsoArqhfuj4th6+MRoh6uZkf+GFL+Plquka FXcd926E91Ra2xh0EFt+CCYVzgS9+8EcmGUtTC64837+JIzoMO+ACIbBkLbHXaAsyZrG Qpb8svJrqXfOOXDqKbgszd9k+CqzByUR2Thc09ENfXbnN3Vc2fC6LDA3wrBNhioqkWSc FulQ== X-Gm-Message-State: ABy/qLZ9Kkfp1eHygbyvkI/nufE7cUN3nLpsOXVtg+jZS6QrCmAJEICS /GsL25FTRZdCpVFQ1GAm1wES6Gbcb1IZ9fL9DvfECeOpPvpXeaoyk2U= X-Google-Smtp-Source: APBJJlEuUW2Ii0l5W/8B/RKSph6kdZ1CFGcTGFHFc0DBwY+SzUX5PadRr0UGJDiEZEnPbAx+Q4dx19rNAGRPWBQnwi0= X-Received: by 2002:a05:6402:43ce:b0:516:9fef:f8e7 with SMTP id p14-20020a05640243ce00b005169feff8e7mr3043253edc.3.1688218021159; Sat, 01 Jul 2023 06:27:01 -0700 (PDT) List-Id: Technical discussions relating to FreeBSD List-Archive: https://lists.freebsd.org/archives/freebsd-hackers List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-hackers@freebsd.org MIME-Version: 1.0 References: <5f311275-e307-4e78-a479-c6d4e7f116d5@app.fastmail.com> <32a0f7e7-11b7-443e-a601-40bec7798d8f@app.fastmail.com> In-Reply-To: <32a0f7e7-11b7-443e-a601-40bec7798d8f@app.fastmail.com> From: Warner Losh Date: Sat, 1 Jul 2023 07:26:50 -0600 Message-ID: Subject: Re: How are syscall functions defined? To: Pat Maddox Cc: freebsd-hackers@freebsd.org Content-Type: multipart/alternative; boundary="0000000000007475a405ff6ce353" X-Rspamd-Queue-Id: 4QtXzD4r5Kz3G4w X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:2a00:1450::/32, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-ThisMailContainsUnwantedMimeParts: N --0000000000007475a405ff6ce353 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable OK. System calls are a pain. there's a lot of boilerplate needed to make them all work. So, it's been automated. The process starts after you add a system call to syscalls.master. 'make sysent' is run which creates a number of different files. It creates the kernel glue. These glue files are then committed to the tree. On the kernel side we have sys/kern/init_sysent.c which has the 'sysent' array which is used to dispatch the system calls. sys/kern/syscalls.c has the names, and sys/kern/systrace_args has information for dtrace decoding them. In userland, though, the system calls live in libc. But there's no source file for them. Instead, libc's sys/Makefile.inc includes sys/sys/syscall.mk, which is also generated above, which has a list of all the system call files to create. Dependency rules in sys/Makefile.inc cause those .o's to be created with this rule: ${SASM}: printf '/* %sgenerated by libc/sys/Makefile.inc */\n' @ > ${.TARGET= } printf '#include "compat.h"\n' >> ${.TARGET} printf '#include "SYS.h"\nRSYSCALL(${.PREFIX})\n' >> ${.TARGET} printf ${NOTE_GNU_STACK} >>${.TARGET} which is where the source winds up: in the object tree as jail_attach.S likely with the contents (generated by hand): /* jail_attach.S generated by libc/sys/Makefile.inc */ #incldue "compat.h" #include "SYS.h" RSYSCALL(jail_attach) .section .note.GNU-stack,"".%%progbits The different __sys_jail_attach wrapping for the threading libraries also is part of the RSYSCALL macro, for example amd64: #define RSYSCALL(name) ENTRY(__sys_##name); \ WEAK_REFERENCE(__sys_##name, name); \ WEAK_REFERENCE(__sys_##name, _##name); \ mov $SYS_##name,%eax; KERNCALL; \ jb HIDENAME(cerror); ret; \ END(__sys_##name) The System.map file, etc, all know that this is generated, and is used to put the symbols in the proper version area. Symbol versions are beyond the scope of this post. Warner On Sat, Jul 1, 2023 at 5:23=E2=80=AFAM Pat Maddox wrote= : > On Sat, Jul 1, 2023, at 3:11 AM, Pat Maddox wrote: > > jail_attach is defined in syscalls.master [1] which generates a > > declaration in jail.h [2]. Try as I might, I can=E2=80=99t find any def= inition > > of that specific syscall function (or any other). I think the closest > > I=E2=80=99ve found is sys_jail_attach in kern_jail.c [3]. I suspect the= re=E2=80=99s > > some generation going on that defines jail_attach - but if that=E2=80= =99s the > > case, I haven=E2=80=99t been able to track it down. > > > > Can someone point me to how the C function gets defined? > > > > Thanks, > > Pat > > > > [1] > > > https://github.com/freebsd/freebsd-src/blob/releng/13.2/sys/kern/syscalls= .master#L2307 > > [2] > > > https://github.com/freebsd/freebsd-src/blob/releng/13.2/sys/sys/jail.h#L1= 19 > > [3] > > > https://github.com/freebsd/freebsd-src/blob/releng/13.2/sys/kern/kern_jai= l.c#L2340 > > Symbol.map [1] is used to produce a version map [2] which is then fed to > the linker [3], which I assume maps the symbols in the resulting binary. = I > intend to experiment with that a bit, but I think that makes sense. > > Pat > > [1] > https://github.com/freebsd/freebsd-src/blob/releng/13.2/lib/libc/sys/Symb= ol.map#L672 > [2] > https://github.com/freebsd/freebsd-src/blob/releng/13.2/share/mk/bsd.symv= er.mk#L43 > [3] > https://github.com/freebsd/freebsd-src/blob/releng/13.2/share/mk/bsd.lib.= mk#L253 > > --0000000000007475a405ff6ce353 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
OK. System calls are a pain. there's a lot of boilerpl= ate=C2=A0needed to make them all work.

So, it's been= automated. The process starts after you add a system call to syscalls.mast= er.
'make sysent' is run which creates a number of differ= ent files. It creates the kernel glue.
These=C2=A0glue files are = then committed to the tree. On the kernel side we have
sys/kern/i= nit_sysent.c which has the 'sysent' array which is used to dispatch= the system
calls. sys/kern/syscalls.c has the names, and sys/ker= n/systrace_args has information
for dtrace decoding them.

In userland, though, the system calls live in libc. But t= here's no source file for them.
Instead, libc's sys/Makef= ile.inc includes sys/sys/syscall.mk, whic= h is also generated above,
which has a list of all the system cal= l files to create. Dependency rules in sys/Makefile.inc
cause tho= se .o's to be created with this rule:
${SASM}:
=C2=A0 =C2= =A0 =C2=A0 =C2=A0 printf '/* %sgenerated by libc/sys/Makefile.inc */\n&= #39; @ > ${.TARGET}
=C2=A0 =C2=A0 =C2=A0 =C2=A0 printf '#include = "compat.h"\n' >> ${.TARGET}
=C2=A0 =C2=A0 =C2=A0 =C2= =A0 printf '#include "SYS.h"\nRSYSCALL(${.PREFIX})\n' >= ;> ${.TARGET}
=C2=A0 =C2=A0 =C2=A0 =C2=A0 printf =C2=A0${NOTE_GNU_STA= CK} >>${.TARGET}

which is where the sour= ce winds up: in the object tree as jail_attach.S likely
with the = contents (generated by hand):

/* jail_attach.S gen= erated=C2=A0by libc/sys/Makefile.inc */
#incldue "compat.h&q= uot;
#include "SYS.h"
RSYSCALL(jail_attach)
.section .note.GNU-stack,"".%%progbits

The different __sys_jail_attach wrapping for the threading
libraries also is part of the RSYSCALL macro, for example amd64:
#define RSYSCALL(name) =C2=A0ENTRY(__sys_##name); =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0\
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 WEAK_REFERENCE(__sys_##name, name); =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 \
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 WEAK_REFERENCE(__sys_##name, _##name); = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0\
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 mov $SYS_##name,%eax; KERN= CALL; =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 \
=C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 jb HIDENAME(cerror); ret; =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 \
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 END(__sys_##name)

The System.map file, etc, all know that this is generated= , and is used to
put the symbols in the proper version area. Symb= ol versions are beyond
the scope of this post.

Warner

On Sat, Jul 1, 2023 at 5:23=E2=80=AFAM Pat Maddox <pat@patmaddox.com> wrote:
On Sat, Jul 1, 2023, at= 3:11 AM, Pat Maddox wrote:
> jail_attach is defined in syscalls.master [1] which generates a
> declaration in jail.h [2]. Try as I might, I can=E2=80=99t find any de= finition
> of that specific syscall function (or any other).=C2=A0 I think the cl= osest
> I=E2=80=99ve found is sys_jail_attach in kern_jail.c [3]. I suspect th= ere=E2=80=99s
> some generation going on that defines jail_attach - but if that=E2=80= =99s the
> case, I haven=E2=80=99t been able to track it down.
>
> Can someone point me to how the C function gets defined?
>
> Thanks,
> Pat
>
> [1]
> https://g= ithub.com/freebsd/freebsd-src/blob/releng/13.2/sys/kern/syscalls.master#L23= 07
> [2]
> https://github.com/f= reebsd/freebsd-src/blob/releng/13.2/sys/sys/jail.h#L119
> [3]
> https://githu= b.com/freebsd/freebsd-src/blob/releng/13.2/sys/kern/kern_jail.c#L2340
Symbol.map [1] is used to produce a version map [2] which is then fed to th= e linker [3], which I assume maps the symbols in the resulting binary. I in= tend to experiment with that a bit, but I think that makes sense.

Pat

[1] https://gith= ub.com/freebsd/freebsd-src/blob/releng/13.2/lib/libc/sys/Symbol.map#L672
[2]
https://github= .com/freebsd/freebsd-src/blob/releng/13.2/share/mk/bsd.symver.mk#L43 [3] https://github.c= om/freebsd/freebsd-src/blob/releng/13.2/share/mk/bsd.lib.mk#L253

--0000000000007475a405ff6ce353-- From nobody Sat Jul 1 15:58:22 2023 X-Original-To: freebsd-hackers@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 4QtcLZ0GSTz4lFlp for ; Sat, 1 Jul 2023 15:59:02 +0000 (UTC) (envelope-from garyj@gmx.de) Received: from mout.gmx.net (mout.gmx.net [212.227.17.20]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "mout.gmx.net", Issuer "Telekom Security ServerID OV Class 2 CA" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4QtcLY3b6hz4H1w for ; Sat, 1 Jul 2023 15:59:01 +0000 (UTC) (envelope-from garyj@gmx.de) Authentication-Results: mx1.freebsd.org; none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.de; s=s31663417; t=1688227137; x=1688831937; i=garyj@gmx.de; bh=Lub4HGs6OPh5BEoJOTZ/nfDHHvCie/g2MTQvJqCB1LQ=; h=X-UI-Sender-Class:Date:From:To:Cc:Subject:In-Reply-To:References:Reply- To; b=c2kMIAGtN0+XDNBxl9cSZiUdc1/5nFcDraT7zKhgdlyXrcQNPe8j5TzlaKJbljuAtsE+R2V jJITk9u6AIx36rnMFIiFcByIrChf284zXUDbOoXVpeJfUyKgKn+b7ZRNYFLVgcOE1cEjONvmm w14hLsTvWnxP1QZsOS2CrEse0fRUs5u1p+p+ZrlYKoyH09fI5r6+cVpAKlhcXdZyqCqsm4YoV hco55axT8nqpclIb6RM6E4uJ32fuCYMMQ1ROy2SPPRtXeFxUu9AkM0sSCZaUfFO4BBOvVbzkh oqfLJEG7Vs6lkAnrrFDQxyEZqB4YJbrzwFGZpET/x6LJ/MkCrTlA== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from ernst.home ([217.226.50.54]) by mail.gmx.net (mrgmx105 [212.227.17.168]) with ESMTPSA (Nemesis) id 1MmUHp-1pY4qv42qX-00iRMq; Sat, 01 Jul 2023 17:58:57 +0200 Date: Sat, 1 Jul 2023 15:58:22 +0000 From: Gary Jennejohn To: "Pat Maddox" Cc: freebsd-hackers@freebsd.org Subject: Re: How are syscall functions defined? Message-ID: <20230701175822.5905eb50@ernst.home> In-Reply-To: <32a0f7e7-11b7-443e-a601-40bec7798d8f@app.fastmail.com> References: <5f311275-e307-4e78-a479-c6d4e7f116d5@app.fastmail.com> <32a0f7e7-11b7-443e-a601-40bec7798d8f@app.fastmail.com> Reply-To: garyj@gmx.de X-Mailer: Claws Mail 3.19.0 (GTK+ 2.24.33; amd64-portbld-freebsd14.0) List-Id: Technical discussions relating to FreeBSD List-Archive: https://lists.freebsd.org/archives/freebsd-hackers List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-hackers@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K1:MPAqwCzGT4LB13UDOfpl85jiZ1wrf3zRj0SIeFeKawq20iyFVeU Eik2q3qM/DGIzrTqLtUMFC6vbrszUiYjvyx+/Eya4pfhDly0u9aEuh8LsuSQyr8sahImgaS TqEjynANnZXUGxhBFgq6D0YntZGiYJqX4QlN2mAErdERu1S5mUHoMWriENZ1u5b+l3A+QXJ DuaJ3/14N38t5bSvqnOAg== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:kHmGgx9+2jA=;PLkDKNOiXwCIHdKH+iUnLh0J07K aJTfI60uWYZps4Du4CuoVUer6BVwC+xTRZJ4K2iqnZ4sm/4cj1pNRnW6+XVjw4Uhg9I6oKGC6 WcA1iEw28RzZTT8RzMU4JqbEArEGZYLajM4r/BwRVrn0kniViXA9MASQlG9Xd6Sbej4VjYoeg t4rg4yJV1pF5ojZ9TrGGhl6MfDXn/NW8HGHb3vUU4zz26GY18/oLfSgYMHpLhJe7y52zM23ZI U7eAc6XqdnaWU5yIU9G2TS89aL1eIZGKoFJyuKfRyJLYSMYADeWS2UsFJMnIaLXufNH9no74C 9Pb2PCxAmgKPZ+0Ym/FgKA+0MPJ7yeG5LRASEmLZrM3acEp5s+wclbODuPaYDSHpW/rTuK0SR fhOQTIvHrvREzM2MGVfB+KjFfr5JMo1gesQnVODE0tf4pU5xQhh/PBF1HKsWp8vjqTWQBAB+8 tfszM27q0I7S74JIXYj+DaCdKTO+y4y4M6sORsTdmsRj1JOTrC0+VGZvs/WkDyeKIpsSubD8E ixe8QupopP99jSSs6rR0ozi1sK3Nob1GroHZP01229dse6mqtAzDOHwH1AiZwbEw+yZbudIBZ BnaWAUcsDVn56DZG2DDKCRNWoFxXgnyyVH5vHvRP5X1fXXPluoxHbSWyk0CqFEj9/u7PGQqxz 6suXRPi9iUDqbu+OHQEN8YzGOWTL0zaC1VgcwPIPlzUI+vGf3dhaDOC5T1OKRvOwhHq1KixcT wBTL33HDT4R/lAtpYgbc0RpZzJIlqFaEAX6WH3vDpdHE9XLwtEVWQeTK9IGNzVyASP19s3JDK 96g8gAEcMi0XcWE8XLQ97LYNLLHihxKnjwyKjeUZBnLAguCIuvh60N6ufEljxd6sxKZiBouu4 XeaIUT6wwgpp7Nj4oIQ03JRgX524Czz5O3KedyJJnUfE7VgY5aa6+w9PmvwB8UT3+YkiYxrxZ CVhk9ySkh22rXJZY/MByYv05zGU= X-Rspamd-Queue-Id: 4QtcLY3b6hz4H1w X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:8560, ipnet:212.227.0.0/16, country:DE] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-ThisMailContainsUnwantedMimeParts: N On Sat, 01 Jul 2023 04:22:35 -0700 "Pat Maddox" wrote: > On Sat, Jul 1, 2023, at 3:11 AM, Pat Maddox wrote: > > jail_attach is defined in syscalls.master [1] which generates a > > declaration in jail.h [2]. Try as I might, I can?t find any definition > > of that specific syscall function (or any other). I think the closest > > I?ve found is sys_jail_attach in kern_jail.c [3]. I suspect there?s > > some generation going on that defines jail_attach - but if that?s the > > case, I haven?t been able to track it down. > > > > Can someone point me to how the C function gets defined? > > > > Thanks, > > Pat > > > > [1] > > https://github.com/freebsd/freebsd-src/blob/releng/13.2/sys/kern/sysca= lls.master#L2307 > > [2] > > https://github.com/freebsd/freebsd-src/blob/releng/13.2/sys/sys/jail.h= #L119 > > [3] > > https://github.com/freebsd/freebsd-src/blob/releng/13.2/sys/kern/kern_= jail.c#L2340 > > Symbol.map [1] is used to produce a version map [2] which is then fed to= the linker [3], which I assume maps the symbols in the resulting binary. = I intend to experiment with that a bit, but I think that makes sense. > > Pat > > [1] https://github.com/freebsd/freebsd-src/blob/releng/13.2/lib/libc/sys= /Symbol.map#L672 > [2] https://github.com/freebsd/freebsd-src/blob/releng/13.2/share/mk/bsd= .symver.mk#L43 > [3] https://github.com/freebsd/freebsd-src/blob/releng/13.2/share/mk/bsd= .lib.mk#L253 > There's struct sysent sysent[] in /sys/kern/init_sysent.c which has all the syscalls. It's apparently indexed using the syscall number. It's automatically generated, although I don't exactly know how. =2D- Gary Jennejohn