From nobody Fri Feb 10 01:21:28 2023 X-Original-To: freebsd-questions@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 4PCbYY4S0cz3pngF for ; Fri, 10 Feb 2023 01:21:53 +0000 (UTC) (envelope-from wfdudley@gmail.com) Received: from mail-qt1-x829.google.com (mail-qt1-x829.google.com [IPv6:2607:f8b0:4864:20::829]) (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 4PCbYX2S8lz3qC6 for ; Fri, 10 Feb 2023 01:21:52 +0000 (UTC) (envelope-from wfdudley@gmail.com) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmail.com header.s=20210112 header.b=S8Rr9Fwm; spf=pass (mx1.freebsd.org: domain of wfdudley@gmail.com designates 2607:f8b0:4864:20::829 as permitted sender) smtp.mailfrom=wfdudley@gmail.com; dmarc=pass (policy=none) header.from=gmail.com Received: by mail-qt1-x829.google.com with SMTP id h24so4275757qta.12 for ; Thu, 09 Feb 2023 17:21:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=oWBa2I6bTHn9IGx3+HPs3T+dHU3rp8DKkxOq5Vjvb/w=; b=S8Rr9FwmJVawGNBui/f2TIdc6t58MJk+6n9SPuOC9zHm34uUGt3gyCAnuneP46RYze UzkfAe+zSbS4vBItQJzv/NyknnWsOAybUc3duzjcofhRU+lK5WjIb2HjhbhMea0ORlhp dnpQPI+DEyBmhsRmZ4vFSqMBnz15Z2E72sb0PVk6q8uvu4kXtaXb/QtbCrHreyPi/NgJ ZCySDQlztvhytrFcvrPvMjfy7JLkgPtLW/StoJ8P7ZDHimMLuqi9mKqPq9fuQafzRW4t QchVwC9Cdv3l8iTorZAgMgjo+q5HUoO6hNLmg7CcNS4EEG8Sf3kn40ya/fo3z6QEFJrW 9+EQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=oWBa2I6bTHn9IGx3+HPs3T+dHU3rp8DKkxOq5Vjvb/w=; b=Ga3BiBgkvm0aSoIcESoul8/JcDpn32QqBgNG7sPwByZoTAJqnAWN9GfgjzZEc2roTn mD4uhdcuces39YPMcdukUpy7jlEnQlVX1hDKiDa0rmcopLyBPrPnDIJSyGaDWi6guDIS wNVcnRrpK2ul2ZpwyGEzuONw73y548IYyLUBcp3Ni/3DQZx9IzclQ+Z5zVJjXj+OIvI1 lnsQm5T90PP6TJXUNiHTm9V+p1hzBbHGMT7veTYMojEa+hRLxWj+3cSB3WGs//4sqA1I V18qFY5rnTOmOosG4mSJFctPVXaqQ878SfgOxO0Eb1quJk8iSUYGpRKEr6phSU0EfbUP 0tVw== X-Gm-Message-State: AO0yUKWZjgbef7oq50qWjXTayVWC/b14U7czj8rDge92RSKxkoKMZRJD ahyJcH+z3hri/0rwhkM3TBOomZz9kfyH0o5OdMyVYeFBPOg= X-Google-Smtp-Source: AK7set+JuJ7cpDBbWYTAXPF/IIB7mYzmOtuPDnzm6dwscxnS+BtKsg+usUdsUwox7unu5hTQr005gov4//ORX9AZRyE= X-Received: by 2002:ac8:58d2:0:b0:3bb:76cd:865c with SMTP id u18-20020ac858d2000000b003bb76cd865cmr1463763qta.49.1675992110389; Thu, 09 Feb 2023 17:21:50 -0800 (PST) List-Id: User questions List-Archive: https://lists.freebsd.org/archives/freebsd-questions List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-questions@freebsd.org X-BeenThere: freebsd-questions@freebsd.org MIME-Version: 1.0 From: William Dudley Date: Thu, 9 Feb 2023 20:21:28 -0500 Message-ID: Subject: help needed getting sendmail+STARTTLS working on FreeBSD 12 or 13 To: freebsd-questions Content-Type: multipart/alternative; boundary="00000000000062e39f05f44e52f6" X-Spamd-Result: default: False [-3.90 / 15.00]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_SHORT(-1.00)[-0.999]; DMARC_POLICY_ALLOW(-0.50)[gmail.com,none]; R_DKIM_ALLOW(-0.20)[gmail.com:s=20210112]; R_SPF_ALLOW(-0.20)[+ip6:2607:f8b0:4000::/36]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; MIME_BASE64_TEXT(0.10)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; FROM_HAS_DN(0.00)[]; BLOCKLISTDE_FAIL(0.00)[2607:f8b0:4864:20::829:server fail]; PREVIOUSLY_DELIVERED(0.00)[freebsd-questions@freebsd.org]; RCPT_COUNT_ONE(0.00)[1]; RCVD_IN_DNSWL_NONE(0.00)[2607:f8b0:4864:20::829:from]; FREEMAIL_FROM(0.00)[gmail.com]; DWL_DNSWL_NONE(0.00)[gmail.com:dkim]; MLMMJ_DEST(0.00)[freebsd-questions@freebsd.org]; DKIM_TRACE(0.00)[gmail.com:+]; TO_DN_ALL(0.00)[]; MID_RHS_MATCH_FROMTLD(0.00)[]; ARC_NA(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+,1:+,2:~]; RCVD_TLS_LAST(0.00)[]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; FREEMAIL_ENVFROM(0.00)[gmail.com]; RCVD_COUNT_TWO(0.00)[2] X-Rspamd-Queue-Id: 4PCbYX2S8lz3qC6 X-Spamd-Bar: --- X-ThisMailContainsUnwantedMimeParts: N --00000000000062e39f05f44e52f6 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable I cannot get STARTTLS to "work", and all the tutorials I find on the web seem to be using FreeBSD 4 or 5? I've been running my own mail server for perhaps 15 or 20 years now, so I've been working with sendmail for a long time. PLEASE do not suggest I switch to postfix or one of the MTAs. I know sendmail and have lots of configuration established, and I don't want to go through that learning curve all over again. So, to the problem at hand. I've done lots of googling and reading, and this is what I've done: I think I understand that one must build sendmail from ports because the sendmail from pkg does not have TLS compiled in. (Why the hell not, I don't know). I have both a 12.3-RELEASE-p6 machine and a 13.1-RELEASE-p3 machine, and both act identically badly. I downloaded the latest ports tree (using git) and ran "make config", which presents these options: =E2=94=8C=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80= =E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2= =94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94= =80=E2=94=80 sendmail-8.17.1_6 =E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94= =80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80= =E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2= =94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=90 =E2=94=82 =E2=94=8C=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80= =E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2= =94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94= =80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80= =E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2= =94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94= =80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80= =E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2= =94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=90 =E2=94=82 =E2=94=82 =E2=94=82 [x] SHMEM System V shared memory support = =E2=94=82 =E2=94=82 =E2=94=82 =E2=94=82 [x] SEM POSIX semaphores support = =E2=94=82 =E2=94=82 =E2=94=82 =E2=94=82 [x] LA load averages support = =E2=94=82 =E2=94=82 =E2=94=82 =E2=94=82 [x] NIS Network Information Services/YP = support =E2=94=82 =E2=94=82 =E2=94=82 =E2=94=82 [x] IPV6 IPv6 protocol support = =E2=94=82 =E2=94=82 =E2=94=82 =E2=94=82 [x] TLS SMTP-TLS and SMTPS support = =E2=94=82 =E2=94=82 =E2=94=82 =E2=94=82 [x] DANE Enable DANE support = =E2=94=82 =E2=94=82 =E2=94=82 =E2=94=82 [x] SASL SASL authentication support = =E2=94=82 =E2=94=82 =E2=94=82 =E2=94=82 [x] SASLAUTHD SASLAUTHD support = =E2=94=82 =E2=94=82 =E2=94=82 =E2=94=82 [ ] LDAP LDAP protocol support = =E2=94=82 =E2=94=82 =E2=94=82 =E2=94=82 [ ] BDB Berkeley DB version 4+ support = =E2=94=82 =E2=94=82 =E2=94=82 =E2=94=82 [ ] GDBM GNU dbm library support (option = COMPAT needed)=E2=94=82 =E2=94=82 =E2=94=82 =E2=94=82 [ ] SOCKETMAP Enable socketmap feature = =E2=94=82 =E2=94=82 =E2=94=82 =E2=94=82 [ ] CYRUSLOOKUP Enable cyruslookup feature = =E2=94=82 =E2=94=82 =E2=94=82 =E2=94=82 [x] BLACKLISTD Enable blacklistd support = =E2=94=82 =E2=94=82 =E2=94=82 =E2=94=82 [ ] SMTPUTF8 Enable unicode address support = =E2=94=82 =E2=94=82 =E2=94=82 =E2=94=82 [x] PICKY_HELO_CHECK Enable picky HELO check = =E2=94=82 =E2=94=82 =E2=94=82 =E2=94=82 [x] MILTER Enable milter support = =E2=94=82 =E2=94=82 =E2=94=82 =E2=94=82 [ ] MTA_STS Enable MTA-STS support (option S= OCKETMAP and T=E2=94=82 =E2=94=82 =E2=94=82 =E2=94=82 [ ] TLS_CERT_CHAIN Enable certificate chain file su= pport (incompa=E2=94=82 =E2=94=82 =E2=94=82 =E2=94=82 [x] DOCS Build and/or install documentati= on =E2=94=82 =E2=94=82 =E2=94=82 =E2=94=94=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80= =E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2= =94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94= =80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80= =E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2= =94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94= =80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80= =E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2= =94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=98 =E2=94=82 =E2=94=9C=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2= =94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94= =80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80= =E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2= =94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94= =80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80= =E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2= =94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94= =80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=A4 =E2=94=82 < OK > =E2=94=82 I didn't change any options. Should I have? Then, of course, "make" and "make install", and then follow the instructions that are printed out at the conclusion of the last step. Next, in my freebsd.mc file, I added this: define(`CERT_DIR', `/usr/local/etc/letsencrypt/live/my-site-name.com')dnl define(`confCACERT_PATH', `CERT_DIR')dnl define(`confCACERT', `CERT_DIR/chain.pem')dnl define(`confSERVER_CERT', `CERT_DIR/cert.pem')dnl define(`confSERVER_KEY', `CERT_DIR/privkey.pem')dnl define(`confCLIENT_CERT', `CERT_DIR/cert.pem')dnl define(`confCLIENT_KEY', `CERT_DIR/privkey.pem')dnl (except of course, I changed "my-site-name.com" to the actual directory where my certs are) (I've been using letsencrypt since late 2017 to generate certificates for the few websites I host.) I changed mailer.conf (both copies) to this: sendmail /usr/local/sbin/sendmail send-mail /usr/local/sbin/sendmail mailq /usr/local/sbin/sendmail newaliases /usr/local/sbin/sendmail hoststat /usr/local/sbin/sendmail purgestat /usr/local/sbin/sendmail So that the sendmail from ports is chosen. I run "make" in the /etc/mail directory, and "make stop" and "make start" to restart sendmail. I found that I had to "chmod 600 privkey.pem" to get sendmail to not complain about that file being group readable: Feb 9 19:51:39 my-site sm-mta[38802]: STARTTLS=3Dclient: file /usr/local/etc/letse ncrypt/live/my-site-name.com-0001/privkey.pem unsafe: Group readable file when I run this test: openssl s_client -connect localhost:25 -starttls smtp -showcerts I get this response, showing that STARTTLS isn't announced. CONNECTED(00000003) Didn't find STARTTLS in server response, trying anyway... 547012608:error:1408F10B:SSL routines:ssl3_get_record:wrong version number:ssl/record/ssl3_record.c:332: --- no peer certificate available --- No client certificate CA names sent --- SSL handshake has read 323 bytes and written 326 bytes Verification: OK --- New, (NONE), Cipher is (NONE) Secure Renegotiation IS NOT supported Compression: NONE Expansion: NONE No ALPN negotiated Early data was not sent Verify return code: 0 (ok) --- If I telnet into my server, I see this: Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. 220 mail.casano.com ESMTP Sendmail 8.17.1/8.17.1; Thu, 9 Feb 2023 18:36:46 -0500 (EST) ehlo m2.casano.com 250-mail.casano.com Hello localhost [127.0.0.1], pleased to meet you 250-ENHANCEDSTATUSCODES 250-PIPELINING 250-8BITMIME 250-SIZE 250-DSN 250-ETRN 250-AUTH PLAIN LOGIN 250-DELIVERBY 250 HELP quit So no announcement of STARTTLS there, either. The sendmail version is the one from ports. The "stock" version is 8.16.1, as seen here from an earlier test before I enabled the ports version: 220 mail.casano.com ESMTP Sendmail 8.16.1/8.16.1; Wed, 8 Feb 2023 16:34:35 -0500 (EST) I do see this in /var/log/maillog: Feb 9 19:51:14 my-site sm-mta[38691]: STARTTLS=3Dclient, relay=3D aero4.stememail.com ., version=3DTLSv1.3, verify=3DFAIL, cipher=3DTLS_AES_128_GCM_SHA256, bits= =3D128/128 which looks promising, but then why do the other tests not show STARTTLS present? I think this recitation includes all the changes I made to try to get this working. What am I missing? Are there any tutorials written in this decade for doing this? If you want to poke at my mail server, feel free: mail.casano.com Thanks, Bill Dudley New Jersey, USA This email is free of malware because I run Linux. --00000000000062e39f05f44e52f6 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: base64 PGRpdiBkaXI9Imx0ciI+SSBjYW5ub3QgZ2V0IFNUQVJUVExTIHRvICZxdW90O3dvcmsmcXVvdDss IGFuZCBhbGwgdGhlIHR1dG9yaWFscyBJIGZpbmQgb24gdGhlIHdlYiBzZWVtIHRvPGRpdj5iZSB1 c2luZyBGcmVlQlNEIDQgb3IgNT/CoCBJJiMzOTt2ZSBiZWVuIHJ1bm5pbmcgbXkgb3duIG1haWwg c2VydmVyIGZvcjwvZGl2PjxkaXY+cGVyaGFwcyAxNSBvciAyMCB5ZWFycyBub3csIHNvIEkmIzM5 O3ZlIGJlZW4gd29ya2luZyB3aXRoIHNlbmRtYWlsIGZvcjwvZGl2PjxkaXY+YSBsb25nIHRpbWUu PC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj5QTEVBU0UgZG8gbm90IHN1Z2dlc3QgSSBzd2l0Y2gg dG8gcG9zdGZpeCBvciBvbmUgb2YgdGhlIE1UQXMuwqAgSSBrbm93PC9kaXY+PGRpdj5zZW5kbWFp bCBhbmQgaGF2ZSBsb3RzIG9mIGNvbmZpZ3VyYXRpb24gZXN0YWJsaXNoZWQsIGFuZCBJIGRvbiYj Mzk7dDwvZGl2PjxkaXY+d2FudCB0byBnbyB0aHJvdWdoIHRoYXQgbGVhcm5pbmcgY3VydmUgYWxs IG92ZXIgYWdhaW4uPC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj5TbywgdG8gdGhlIHByb2JsZW0g YXQgaGFuZC7CoCBJJiMzOTt2ZSBkb25lIGxvdHMgb2YgZ29vZ2xpbmcgYW5kIHJlYWRpbmcsIGFu ZDwvZGl2PjxkaXY+dGhpcyBpcyB3aGF0IEkmIzM5O3ZlIGRvbmU6PC9kaXY+PGRpdj48YnI+PC9k aXY+PGRpdj5JIHRoaW5rIEkgdW5kZXJzdGFuZCB0aGF0IG9uZSBtdXN0IGJ1aWxkIHNlbmRtYWls IGZyb20gcG9ydHMgYmVjYXVzZTwvZGl2PjxkaXY+dGhlIHNlbmRtYWlsIGZyb20gcGtnIGRvZXMg bm90IGhhdmUgVExTIGNvbXBpbGVkIGluLsKgIChXaHkgdGhlIGhlbGwgbm90LDwvZGl2PjxkaXY+ SSBkb24mIzM5O3Qga25vdykuPC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj5JIGhhdmUgYm90aCBh IDEyLjMtUkVMRUFTRS1wNiBtYWNoaW5lIGFuZCBhIDEzLjEtUkVMRUFTRS1wMyBtYWNoaW5lLDwv ZGl2PjxkaXY+YW5kIGJvdGggYWN0IGlkZW50aWNhbGx5IGJhZGx5LjwvZGl2PjxkaXY+PGJyPjwv ZGl2PjxkaXY+SSBkb3dubG9hZGVkIHRoZSBsYXRlc3QgcG9ydHMgdHJlZSAodXNpbmcgZ2l0KSBh bmQgcmFuICZxdW90O21ha2UgY29uZmlnJnF1b3Q7LCB3aGljaDwvZGl2PjxkaXY+cHJlc2VudHMg dGhlc2Ugb3B0aW9uczo8L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2PsKgIDxmb250IGZhY2U9Im1v bm9zcGFjZSI+4pSM4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA 4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAIHNlbmRtYWlsLTguMTcuMV82IOKUgOKUgOKU gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU gOKUgOKUgOKUgOKUgOKUgOKUgOKUkDxicj7CoCDilIIg4pSM4pSA4pSA4pSA4pSA4pSA4pSA4pSA 4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA 4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA 4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA 4pSA4pSA4pSA4pSA4pSQIOKUgiDCoDxicj7CoCDilIIg4pSCIFt4XSBTSE1FTSDCoCDCoCDCoCDC oCDCoCDCoFN5c3RlbSBWIHNoYXJlZCBtZW1vcnkgc3VwcG9ydCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoOKUgiDilIIgwqA8YnI+wqAg4pSCIOKUgiBbeF0gU0VNIMKgIMKgIMKgIMKgIMKgIMKgIMKg UE9TSVggc2VtYXBob3JlcyBzdXBwb3J0IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg 4pSCIOKUgiDCoDxicj7CoCDilIIg4pSCIFt4XSBMQSDCoCDCoCDCoCDCoCDCoCDCoCDCoCBsb2Fk IGF2ZXJhZ2VzIHN1cHBvcnQgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg4pSC IOKUgiDCoDxicj7CoCDilIIg4pSCIFt4XSBOSVMgwqAgwqAgwqAgwqAgwqAgwqAgwqBOZXR3b3Jr IEluZm9ybWF0aW9uIFNlcnZpY2VzL1lQIHN1cHBvcnQgwqAgwqAgwqAg4pSCIOKUgiDCoDxicj7C oCDilIIg4pSCIFt4XSBJUFY2IMKgIMKgIMKgIMKgIMKgIMKgIElQdjYgcHJvdG9jb2wgc3VwcG9y dCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDilIIg4pSCIMKgPGJyPsKgIOKU giDilIIgW3hdIFRMUyDCoCDCoCDCoCDCoCDCoCDCoCDCoFNNVFAtVExTIGFuZCBTTVRQUyBzdXBw b3J0IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg4pSCIOKUgiDCoDxicj7CoCDilIIg4pSC IFt4XSBEQU5FIMKgIMKgIMKgIMKgIMKgIMKgIEVuYWJsZSBEQU5FIHN1cHBvcnQgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg4pSCIOKUgiDCoDxicj7CoCDilIIg4pSCIFt4 XSBTQVNMIMKgIMKgIMKgIMKgIMKgIMKgIFNBU0wgYXV0aGVudGljYXRpb24gc3VwcG9ydCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDilIIg4pSCIMKgPGJyPsKgIOKUgiDilIIgW3hdIFNBU0xB VVRIRCDCoCDCoCDCoCDCoFNBU0xBVVRIRCBzdXBwb3J0IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIOKUgiDilIIgwqA8YnI+wqAg4pSCIOKUgiBbIF0gTERBUCDCoCDC oCDCoCDCoCDCoCDCoCBMREFQIHByb3RvY29sIHN1cHBvcnQgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAg4pSCIOKUgiDCoDxicj7CoCDilIIg4pSCIFsgXSBCREIgwqAgwqAgwqAg wqAgwqAgwqAgwqBCZXJrZWxleSBEQiB2ZXJzaW9uIDQrIHN1cHBvcnQgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqDilIIg4pSCIMKgPGJyPsKgIOKUgiDilIIgWyBdIEdEQk0gwqAgwqAgwqAgwqAgwqAg wqAgR05VIGRibSBsaWJyYXJ5IHN1cHBvcnQgKG9wdGlvbiBDT01QQVQgbmVlZGVkKeKUgiDilIIg wqA8YnI+wqAg4pSCIOKUgiBbIF0gU09DS0VUTUFQIMKgIMKgIMKgIMKgRW5hYmxlIHNvY2tldG1h cCBmZWF0dXJlIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg4pSCIOKUgiDCoDxicj7C oCDilIIg4pSCIFsgXSBDWVJVU0xPT0tVUCDCoCDCoCDCoEVuYWJsZSBjeXJ1c2xvb2t1cCBmZWF0 dXJlIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg4pSCIOKUgiDCoDxicj7CoCDilIIg4pSC IFt4XSBCTEFDS0xJU1REIMKgIMKgIMKgIEVuYWJsZSBibGFja2xpc3RkIHN1cHBvcnQgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg4pSCIOKUgiDCoDxicj7CoCDilIIg4pSCIFsgXSBTTVRQ VVRGOCDCoCDCoCDCoCDCoCBFbmFibGUgdW5pY29kZSBhZGRyZXNzIHN1cHBvcnQgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqDilIIg4pSCIMKgPGJyPsKgIOKUgiDilIIgW3hdIFBJQ0tZX0hFTE9fQ0hF Q0sgRW5hYmxlIHBpY2t5IEhFTE8gY2hlY2sgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAg4pSCIOKUgiDCoDxicj7CoCDilIIg4pSCIFt4XSBNSUxURVIgwqAgwqAgwqAgwqAgwqAgRW5h YmxlIG1pbHRlciBzdXBwb3J0IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIOKU giDilIIgwqA8YnI+wqAg4pSCIOKUgiBbIF0gTVRBX1NUUyDCoCDCoCDCoCDCoCDCoEVuYWJsZSBN VEEtU1RTIHN1cHBvcnQgKG9wdGlvbiBTT0NLRVRNQVAgYW5kIFTilIIg4pSCIMKgPGJyPsKgIOKU giDilIIgWyBdIFRMU19DRVJUX0NIQUlOIMKgIEVuYWJsZSBjZXJ0aWZpY2F0ZSBjaGFpbiBmaWxl IHN1cHBvcnQgKGluY29tcGHilIIg4pSCIMKgPGJyPsKgIOKUgiDilIIgW3hdIERPQ1MgwqAgwqAg wqAgwqAgwqAgwqAgQnVpbGQgYW5kL29yIGluc3RhbGwgZG9jdW1lbnRhdGlvbiDCoCDCoCDCoCDC oCDCoCDCoOKUgiDilIIgwqA8YnI+wqAg4pSCIOKUlOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU gOKUgOKUgOKUmCDilIIgwqA8YnI+wqAg4pSc4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA 4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA 4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA 4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA 4pSA4pSA4pSA4pSA4pSA4pSkIMKgPGJyPsKgIOKUgiDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCAmbHQ7IMKgT0sgwqAmZ3Q7IMKgIMKgIMKgIMKgIMKgICZsdDtDYW5jZWwmZ3Q7IMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg4pSCIMKgPC9mb250Pjxicj7CoMKgPGJyPjwv ZGl2PjxkaXY+SSBkaWRuJiMzOTt0IGNoYW5nZSBhbnkgb3B0aW9ucy7CoCBTaG91bGQgSSBoYXZl PzwvZGl2PjxkaXY+VGhlbiwgb2YgY291cnNlLCAmcXVvdDs8Zm9udCBmYWNlPSJhcmlhbCwgc2Fu cy1zZXJpZiI+bWFrZTwvZm9udD4mcXVvdDsgYW5kICZxdW90Ozxmb250IGZhY2U9Im1vbm9zcGFj ZSI+bWFrZSBpbnN0YWxsPC9mb250PiZxdW90OywgYW5kIHRoZW4gZm9sbG93IHRoZSBpbnN0cnVj dGlvbnMgdGhhdCBhcmUgcHJpbnRlZCBvdXQ8L2Rpdj48ZGl2PmF0IHRoZSBjb25jbHVzaW9uIG9m IHRoZSBsYXN0IHN0ZXAuPC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj5OZXh0LCBpbiBteSA8YSBo cmVmPSJodHRwOi8vZnJlZWJzZC5tYyI+ZnJlZWJzZC5tYzwvYT4gZmlsZSwgSSBhZGRlZCB0aGlz OjwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+PGZvbnQgZmFjZT0ibW9ub3NwYWNlIj5kZWZpbmUo YENFUlRfRElSJiMzOTssIGAvdXNyL2xvY2FsL2V0Yy9sZXRzZW5jcnlwdC9saXZlLzxhIGhyZWY9 Imh0dHA6Ly9teS1zaXRlLW5hbWUuY29tIj5teS1zaXRlLW5hbWUuY29tPC9hPiYjMzk7KWRubDxi cj5kZWZpbmUoYGNvbmZDQUNFUlRfUEFUSCYjMzk7LCBgQ0VSVF9ESVImIzM5Oylkbmw8YnI+ZGVm aW5lKGBjb25mQ0FDRVJUJiMzOTssIGBDRVJUX0RJUi9jaGFpbi5wZW0mIzM5Oylkbmw8YnI+ZGVm aW5lKGBjb25mU0VSVkVSX0NFUlQmIzM5OywgYENFUlRfRElSL2NlcnQucGVtJiMzOTspZG5sPGJy PmRlZmluZShgY29uZlNFUlZFUl9LRVkmIzM5OywgYENFUlRfRElSL3ByaXZrZXkucGVtJiMzOTsp ZG5sPGJyPmRlZmluZShgY29uZkNMSUVOVF9DRVJUJiMzOTssIGBDRVJUX0RJUi9jZXJ0LnBlbSYj Mzk7KWRubDxicj5kZWZpbmUoYGNvbmZDTElFTlRfS0VZJiMzOTssIGBDRVJUX0RJUi9wcml2a2V5 LnBlbSYjMzk7KWRubDwvZm9udD48YnI+PC9kaXY+PGRpdj48Zm9udCBmYWNlPSJtb25vc3BhY2Ui Pjxicj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBmYWNlPSJtb25vc3BhY2UiPihleGNlcHQgb2Yg Y291cnNlLCBJIGNoYW5nZWQgJnF1b3Q7PGEgaHJlZj0iaHR0cDovL215LXNpdGUtbmFtZS5jb20i Pm15LXNpdGUtbmFtZS5jb208L2E+JnF1b3Q7IHRvIHRoZSBhY3R1YWwgZGlyZWN0b3J5IHdoZXJl IG15IGNlcnRzIGFyZSk8L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBmYWNlPSJtb25vc3BhY2UiPihJ JiMzOTt2ZSBiZWVuIHVzaW5nIGxldHNlbmNyeXB0IHNpbmNlIGxhdGUgMjAxNyB0byBnZW5lcmF0 ZSBjZXJ0aWZpY2F0ZXMgZm9yIHRoZSBmZXc8L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBmYWNlPSJt b25vc3BhY2UiPndlYnNpdGVzIEkgaG9zdC4pPC9mb250PjwvZGl2PjxkaXY+PGZvbnQgZmFjZT0i bW9ub3NwYWNlIj48YnI+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgZmFjZT0ibW9ub3NwYWNlIj5J IGNoYW5nZWQgbWFpbGVyLmNvbmYgKGJvdGggY29waWVzKSB0byB0aGlzOjwvZm9udD48L2Rpdj48 ZGl2Pjxmb250IGZhY2U9Im1vbm9zcGFjZSI+PGJyPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGZh Y2U9Im1vbm9zcGFjZSI+c2VuZG1haWwgwqAgwqAgwqAgwqAvdXNyL2xvY2FsL3NiaW4vc2VuZG1h aWw8YnI+c2VuZC1tYWlsIMKgIMKgIMKgIC91c3IvbG9jYWwvc2Jpbi9zZW5kbWFpbDxicj5tYWls cSDCoCDCoCDCoCDCoCDCoCAvdXNyL2xvY2FsL3NiaW4vc2VuZG1haWw8YnI+bmV3YWxpYXNlcyDC oCDCoCDCoC91c3IvbG9jYWwvc2Jpbi9zZW5kbWFpbDxicj5ob3N0c3RhdCDCoCDCoCDCoCDCoC91 c3IvbG9jYWwvc2Jpbi9zZW5kbWFpbDxicj5wdXJnZXN0YXQgwqAgwqAgwqAgL3Vzci9sb2NhbC9z YmluL3NlbmRtYWlsPGJyPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGZhY2U9Im1vbm9zcGFjZSI+ PGJyPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGZhY2U9ImFyaWFsLCBzYW5zLXNlcmlmIj5TbyB0 aGF0IHRoZSBzZW5kbWFpbCBmcm9tIHBvcnRzIGlzIGNob3Nlbi48L2ZvbnQ+PC9kaXY+PGRpdj48 YnI+PC9kaXY+PGRpdj5JIHJ1biAmcXVvdDs8Zm9udCBmYWNlPSJtb25vc3BhY2UiPm1ha2UmcXVv dDs8L2ZvbnQ+IGluIHRoZSAvZXRjL21haWwgZGlyZWN0b3J5LCBhbmQgJnF1b3Q7PGZvbnQgZmFj ZT0ibW9ub3NwYWNlIj5tYWtlIHN0b3AmcXVvdDs8L2ZvbnQ+IGFuZCAmcXVvdDs8Zm9udCBmYWNl PSJtb25vc3BhY2UiPm1ha2Ugc3RhcnQmcXVvdDs8L2ZvbnQ+IHRvIHJlc3RhcnTCoHNlbmRtYWls LjwvZGl2PjxkaXY+SSBmb3VuZCB0aGF0IEkgaGFkIHRvICZxdW90Ozxmb250IGZhY2U9Im1vbm9z cGFjZSI+Y2htb2QgNjAwIHByaXZrZXkucGVtPC9mb250PiZxdW90OyB0byBnZXQgc2VuZG1haWwg dG8gbm90IGNvbXBsYWluIGFib3V0IHRoYXQgZmlsZSBiZWluZzwvZGl2PjxkaXY+Z3JvdXAgcmVh ZGFibGU6PC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj48Zm9udCBmYWNlPSJtb25vc3BhY2UiPkZl YiDCoDkgMTk6NTE6MzkgbXktc2l0ZSBzbS1tdGFbMzg4MDJdOiBTVEFSVFRMUz1jbGllbnQ6IGZp bGUgL3Vzci9sb2NhbC9ldGMvbGV0c2U8YnI+bmNyeXB0L2xpdmUvbXktc2l0ZS1uYW1lLmNvbS0w MDAxL3ByaXZrZXkucGVtIHVuc2FmZTogR3JvdXAgcmVhZGFibGUgZmlsZTwvZm9udD48YnI+PC9k aXY+PGRpdj48YnI+PC9kaXY+PGRpdj53aGVuIEkgcnVuIHRoaXMgdGVzdDo8L2Rpdj48ZGl2Pjxi cj48L2Rpdj48ZGl2Pm9wZW5zc2wgc19jbGllbnQgLWNvbm5lY3QgbG9jYWxob3N0OjI1IC1zdGFy dHRscyBzbXRwIC1zaG93Y2VydHM8YnI+PC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj5JIGdldCB0 aGlzIHJlc3BvbnNlLCBzaG93aW5nIHRoYXQgU1RBUlRUTFMgaXNuJiMzOTt0IGFubm91bmNlZC48 L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2PkNPTk5FQ1RFRCgwMDAwMDAwMyk8YnI+RGlkbiYjMzk7 dCBmaW5kIFNUQVJUVExTIGluIHNlcnZlciByZXNwb25zZSwgdHJ5aW5nIGFueXdheS4uLjxicj41 NDcwMTI2MDg6ZXJyb3I6MTQwOEYxMEI6U1NMIHJvdXRpbmVzOnNzbDNfZ2V0X3JlY29yZDp3cm9u ZyB2ZXJzaW9uIG51bWJlcjpzc2wvcmVjb3JkL3NzbDNfcmVjb3JkLmM6MzMyOjxicj4tLS08YnI+ bm8gcGVlciBjZXJ0aWZpY2F0ZSBhdmFpbGFibGU8YnI+LS0tPGJyPk5vIGNsaWVudCBjZXJ0aWZp Y2F0ZSBDQSBuYW1lcyBzZW50PGJyPi0tLTxicj5TU0wgaGFuZHNoYWtlIGhhcyByZWFkIDMyMyBi eXRlcyBhbmQgd3JpdHRlbiAzMjYgYnl0ZXM8YnI+VmVyaWZpY2F0aW9uOiBPSzxicj4tLS08YnI+ TmV3LCAoTk9ORSksIENpcGhlciBpcyAoTk9ORSk8YnI+U2VjdXJlIFJlbmVnb3RpYXRpb24gSVMg Tk9UIHN1cHBvcnRlZDxicj5Db21wcmVzc2lvbjogTk9ORTxicj5FeHBhbnNpb246IE5PTkU8YnI+ Tm8gQUxQTiBuZWdvdGlhdGVkPGJyPkVhcmx5IGRhdGEgd2FzIG5vdCBzZW50PGJyPlZlcmlmeSBy ZXR1cm4gY29kZTogMCAob2spPGJyPi0tLTxicj48L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2Pklm IEkgdGVsbmV0IGludG8gbXkgc2VydmVyLCBJIHNlZSB0aGlzOjwvZGl2PjxkaXY+PGJyPjwvZGl2 PjxkaXY+PGZvbnQgZmFjZT0ibW9ub3NwYWNlIj5UcnlpbmcgMTI3LjAuMC4xLi4uPGJyPkNvbm5l Y3RlZCB0byBsb2NhbGhvc3QuPGJyPkVzY2FwZSBjaGFyYWN0ZXIgaXMgJiMzOTteXSYjMzk7Ljxi cj4yMjAgPGEgaHJlZj0iaHR0cDovL21haWwuY2FzYW5vLmNvbSI+bWFpbC5jYXNhbm8uY29tPC9h PiBFU01UUCBTZW5kbWFpbCA4LjE3LjEvOC4xNy4xOyBUaHUsIDkgRmViIDIwMjMgMTg6MzY6NDYg LTA1MDAgKEVTVCk8YnI+ZWhsbyA8YSBocmVmPSJodHRwOi8vbTIuY2FzYW5vLmNvbSI+bTIuY2Fz YW5vLmNvbTwvYT48YnI+PGEgaHJlZj0iaHR0cDovLzI1MC1tYWlsLmNhc2Fuby5jb20iPjI1MC1t YWlsLmNhc2Fuby5jb208L2E+IEhlbGxvIGxvY2FsaG9zdCBbMTI3LjAuMC4xXSwgcGxlYXNlZCB0 byBtZWV0IHlvdTxicj4yNTAtRU5IQU5DRURTVEFUVVNDT0RFUzxicj4yNTAtUElQRUxJTklORzxi cj4yNTAtOEJJVE1JTUU8YnI+MjUwLVNJWkU8YnI+MjUwLURTTjxicj4yNTAtRVRSTjxicj4yNTAt QVVUSCBQTEFJTiBMT0dJTjxicj4yNTAtREVMSVZFUkJZPGJyPjI1MCBIRUxQPGJyPnF1aXQ8YnI+ PC9mb250PjwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+U28gbm8gYW5ub3VuY2VtZW50IG9mIFNU QVJUVExTIHRoZXJlLCBlaXRoZXIuwqAgVGhlIHNlbmRtYWlsIHZlcnNpb24gaXMgdGhlIG9uZSBm cm9tIHBvcnRzLsKgIFRoZSAmcXVvdDtzdG9jayZxdW90OzwvZGl2PjxkaXY+dmVyc2lvbiBpcyA4 LjE2LjEsIGFzIHNlZW4gaGVyZSBmcm9tIGFuIGVhcmxpZXIgdGVzdCBiZWZvcmUgSSBlbmFibGVk IHRoZSBwb3J0cyB2ZXJzaW9uOjwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+PGZvbnQgZmFjZT0i bW9ub3NwYWNlIj4yMjAgPGEgaHJlZj0iaHR0cDovL21haWwuY2FzYW5vLmNvbSI+bWFpbC5jYXNh bm8uY29tPC9hPiBFU01UUCBTZW5kbWFpbCA4LjE2LjEvOC4xNi4xOyBXZWQsIDggRmViIDIwMjMg MTY6MzQ6MzUgLTA1MDAgKEVTVCk8L2ZvbnQ+PGJyPjwvZGl2PjxkaXY+PGZvbnQgZmFjZT0ibW9u b3NwYWNlIj48YnI+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgZmFjZT0ibW9ub3NwYWNlIj5JIGRv IHNlZSB0aGlzIGluIC92YXIvbG9nL21haWxsb2c6PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgZmFj ZT0ibW9ub3NwYWNlIj48YnI+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgZmFjZT0ibW9ub3NwYWNl Ij5GZWIgwqA5IDE5OjUxOjE0IG15LXNpdGUgc20tbXRhWzM4NjkxXTogU1RBUlRUTFM9Y2xpZW50 LCByZWxheT08YSBocmVmPSJodHRwOi8vYWVybzQuc3RlbWVtYWlsLmNvbSI+YWVybzQuc3RlbWVt YWlsLmNvbTwvYT48YnI+LiwgdmVyc2lvbj1UTFN2MS4zLCB2ZXJpZnk9RkFJTCwgY2lwaGVyPVRM U19BRVNfMTI4X0dDTV9TSEEyNTYsIGJpdHM9MTI4LzEyODxicj48L2ZvbnQ+PC9kaXY+PGRpdj48 Zm9udCBmYWNlPSJtb25vc3BhY2UiPjxicj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBmYWNlPSJh cmlhbCwgc2Fucy1zZXJpZiI+d2hpY2ggbG9va3MgcHJvbWlzaW5nLCBidXQgdGhlbiB3aHkgZG8g dGhlIG90aGVyIHRlc3RzIG5vdCBzaG93IFNUQVJUVExTIHByZXNlbnQ/PC9mb250PjwvZGl2Pjxk aXY+PGJyPjwvZGl2PjxkaXY+SSB0aGluayB0aGlzIHJlY2l0YXRpb24gaW5jbHVkZXMgYWxsIHRo ZSBjaGFuZ2VzIEkgbWFkZSB0byB0cnkgdG8gZ2V0IHRoaXMgd29ya2luZy48L2Rpdj48ZGl2Pldo YXQgYW0gSSBtaXNzaW5nP8KgIEFyZSB0aGVyZSBhbnkgdHV0b3JpYWxzIHdyaXR0ZW4gaW4gdGhp cyBkZWNhZGUgZm9yIGRvaW5nIHRoaXM/PC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj5JZiB5b3Ug d2FudCB0byBwb2tlIGF0IG15IG1haWwgc2VydmVyLCBmZWVsIGZyZWU6wqDCoDxmb250IGZhY2U9 Im1vbm9zcGFjZSI+PGEgaHJlZj0iaHR0cDovL21haWwuY2FzYW5vLmNvbSI+bWFpbC5jYXNhbm8u Y29tPC9hPjwvZm9udD48L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2PlRoYW5rcyw8L2Rpdj48ZGl2 PkJpbGwgRHVkbGV5PC9kaXY+PGRpdj5OZXcgSmVyc2V5LCBVU0E8L2Rpdj48ZGl2Pjxicj48L2Rp dj48ZGl2PjxkaXY+PGRpdiBkaXI9Imx0ciIgY2xhc3M9ImdtYWlsX3NpZ25hdHVyZSIgZGF0YS1z bWFydG1haWw9ImdtYWlsX3NpZ25hdHVyZSI+VGhpcyBlbWFpbCBpcyBmcmVlIG9mIG1hbHdhcmUg YmVjYXVzZSBJIHJ1biBMaW51eC48L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj4NCg== --00000000000062e39f05f44e52f6--