From nobody Fri Feb 21 23:31:15 2025 X-Original-To: freebsd-net@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 4Z05wz6QVRz5pYyW for ; Fri, 21 Feb 2025 23:31:15 +0000 (UTC) (envelope-from karl@denninger.net) Received: from colo1.denninger.net (colo1.denninger.net [104.236.120.189]) (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 4Z05wz2yBcz3SXR for ; Fri, 21 Feb 2025 23:31:15 +0000 (UTC) (envelope-from karl@denninger.net) Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=pass (policy=none) header.from=denninger.net; spf=pass (mx1.freebsd.org: domain of karl@denninger.net designates 104.236.120.189 as permitted sender) smtp.mailfrom=karl@denninger.net Received: from denninger.net (syn-071-015-252-132.res.spectrum.com [71.15.252.132]) by colo1.denninger.net (Postfix) with ESMTP id EEC5E2110A8 for ; Fri, 21 Feb 2025 18:31:14 -0500 (EST) Received: from [192.168.10.28] (D18.Denninger.Net [192.168.10.28]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by denninger.net (Postfix) with ESMTPSA id 680C049CD22 for ; Fri, 21 Feb 2025 18:31:14 -0500 (EST) Message-ID: Date: Fri, 21 Feb 2025 18:31:15 -0500 List-Id: Networking and TCP/IP with FreeBSD List-Archive: https://lists.freebsd.org/archives/freebsd-net List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-net@FreeBSD.org MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: rtadvd(8) How to IPv6 tokenize interface identifier To: freebsd-net@freebsd.org References: <20250221075300.4466057d@thor.sb211.local> <195299f4ca5.fad9d85b1235.1583279903934096331@marples.name> <2cc7ae64-c0f9-464d-8c01-86d184922ea8@denninger.net> <19529ca17d9.e2e8d5de2187.2271440699368105927@marples.name> <19529f25677.105be677d239.6010993632130942600@marples.name> <1952acb0b0e.fd4954ed158194.4931129176474235446@marples.name> Content-Language: en-US From: Karl Denninger In-Reply-To: <1952acb0b0e.fd4954ed158194.4931129176474235446@marples.name> Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha-512; boundary="------------ms000802050307030605010904" X-Spamd-Result: default: False [-5.80 / 15.00]; SIGNED_SMIME(-2.00)[]; MIME_BASE64_TEXT_BOGUS(1.00)[]; RBL_SENDERSCORE_REPUT_9(-1.00)[104.236.120.189:from]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_SHORT(-1.00)[-1.000]; NEURAL_HAM_LONG(-1.00)[-0.998]; DMARC_POLICY_ALLOW(-0.50)[denninger.net,none]; MIME_GOOD(-0.20)[multipart/signed,multipart/alternative,text/plain]; R_SPF_ALLOW(-0.20)[+mx:c]; MIME_BASE64_TEXT(0.10)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; RCVD_TLS_LAST(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; HAS_ATTACHMENT(0.00)[]; ARC_NA(0.00)[]; RCPT_COUNT_ONE(0.00)[1]; RCVD_COUNT_TWO(0.00)[2]; ASN(0.00)[asn:14061, ipnet:104.236.64.0/18, country:US]; MIME_TRACE(0.00)[0:+,1:+,2:+,3:~,4:~]; PREVIOUSLY_DELIVERED(0.00)[freebsd-net@freebsd.org]; TO_DN_NONE(0.00)[]; FREEFALL_USER(0.00)[karl]; MLMMJ_DEST(0.00)[freebsd-net@freebsd.org]; MID_RHS_MATCH_FROM(0.00)[]; R_DKIM_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; FROM_HAS_DN(0.00)[] X-Rspamd-Queue-Id: 4Z05wz2yBcz3SXR X-Spamd-Bar: ----- This is a cryptographically signed message in MIME format. --------------ms000802050307030605010904 Content-Type: multipart/alternative; boundary="------------2OtonL1DEpVLjkUAocTw3JPF" --------------2OtonL1DEpVLjkUAocTw3JPF Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: base64 T24gMi8yMS8yMDI1IDE4OjE1LCBSb3kgTWFycGxlcyB3cm90ZToNCj4gV2VsbCwgIGl0IHNv dW5kcyBnb29kIQ0KPiBCdXQgSSB3b3VsZCByYXRoZXIgeW91IGRvbid0IHNjcmV3IHRoZSBw b29jaCBpZiB0aGUgbmV0d29yayBmYWlscyBhbmQgaXQncyBhIHBhaW4gdG8gcmVjb3ZlciA6 Lw0KPg0KPiBTYXlpbmcgdGhhdCwgeW91IGNvdWxkIHNldHVwIGEgc3RhdGljIGFkZHJlc3Mg b24gdGhlIGJveCBzbyB5b3UgY2FuIGdldCB0byBpdCBvdmVyIHRoZSBMQU4gZXZlbiBpZiBk aGNwY2QgZmFpbHMuDQo+IElmIGl0J3MgdGhlIFdBTiBpbnRlcmZhY2UgeW91IGV4cGVjdCB0 byBnZXQgYWNjZXNzIG92ZXIsIHllcyB0aGF0IGNvdWxkIGJlIGFuIGlzc3VlIGFuZCBJJ2Qg cmF0aGVyIHlvdSBiZSBvbiBzaXRlIGluIHRoaXMgaW5zdGFuY2UuDQo+IFNhdmUgdGhlIHBh aW4hDQo+DQo+IEdvb2QgbHVjaw0KPg0KPiBSb3kNCg0KVGhhdCAqX2RvZXNfKiBhcHBlYXIg dG8gd29yazsgb24gYm9vdCBmcm9tIGEgcG93ZXItY3ljbGUgaXQgcHJvcGVybHkgZ290IA0K SXB2NiBhZGRyZXNzZXMgYW5kIGRlbGVnYXRlZCB0aGVtIHRvIHRoZSBhcHByb3ByaWF0ZSBp bnRlcmZhY2VzIGludGVybmFsbHkuDQoNCiQgaWZjb25maWcgaWdiMDogDQpmbGFncz0xMDA4 ODQzPFVQLEJST0FEQ0FTVCxSVU5OSU5HLFNJTVBMRVgsTVVMVElDQVNULExPV0VSX1VQPiBt ZXRyaWMgMCANCm10dSAxNTAwIA0Kb3B0aW9ucz00ZTUyN2JiPFJYQ1NVTSxUWENTVU0sVkxB Tl9NVFUsVkxBTl9IV1RBR0dJTkcsSlVNQk9fTVRVLFZMQU5fSFdDU1VNLFRTTzQsVFNPNixM Uk8sV09MX01BR0lDLFZMQU5fSFdGSUxURVIsVkxBTl9IV1RTTyxSWENTVU1fSVBWNixUWENT VU1fSVBWNixIV1NUQVRTLE1FWFRQRz4gDQpldGhlciAwMDowZDpiOTo0Njo3MTo4OCBpbmV0 IDcxLjE1LjI1Mi4xMzIgbmV0bWFzayAweGZmZmZmYzAwIGJyb2FkY2FzdCANCjI1NS4yNTUu MjU1LjI1NSBpbmV0NiBmZTgwOjoyMGQ6YjlmZjpmZTQ2OjcxODglaWdiMCBwcmVmaXhsZW4g NjQgc2NvcGVpZCANCjB4MSBpbmV0NiAyNjAwOjZjNWQ6NzAwOTo2MDA6M2QxNjozODU3Ojhk OWY6OWIyOSBwcmVmaXhsZW4gMTI4IHBsdGltZSANCjM2MDAgdmx0aW1lIDM2MDAgbWVkaWE6 IEV0aGVybmV0IGF1dG9zZWxlY3QgKDEwMDBiYXNlVCA8ZnVsbC1kdXBsZXg+KSANCnN0YXR1 czogYWN0aXZlIG5kNiBvcHRpb25zPTE8UEVSRk9STU5VRD4gaWdiMTogDQpmbGFncz0xMDA4 ODQzPFVQLEJST0FEQ0FTVCxSVU5OSU5HLFNJTVBMRVgsTVVMVElDQVNULExPV0VSX1VQPiBt ZXRyaWMgMCANCm10dSAxNTAwIA0Kb3B0aW9ucz00ZTEyMDNiPFJYQ1NVTSxUWENTVU0sVkxB Tl9NVFUsVkxBTl9IV1RBR0dJTkcsSlVNQk9fTVRVLFdPTF9NQUdJQyxWTEFOX0hXRklMVEVS LFJYQ1NVTV9JUFY2LFRYQ1NVTV9JUFY2LEhXU1RBVFMsTUVYVFBHPiANCmV0aGVyIDAwOjBk OmI5OjQ2OjcxOjg5IGluZXQgMTkyLjE2OC4xMC4yMDAgbmV0bWFzayAweGZmZmZmZjAwIGJy b2FkY2FzdCANCjE5Mi4xNjguMTAuMjU1IGluZXQgMTkyLjE2OC4yLjIwMCBuZXRtYXNrIDB4 ZmZmZmZmMDAgYnJvYWRjYXN0IA0KMTkyLjE2OC4yLjI1NSBpbmV0NiBmZTgwOjoyMGQ6Yjlm ZjpmZTQ2OjcxODklaWdiMSBwcmVmaXhsZW4gNjQgc2NvcGVpZCANCjB4MiBpbmV0NiAyNjAw OjZjNWQ6NWQwMDpmYjAwOjoxIHByZWZpeGxlbiA2NCBwbHRpbWUgMzYwMCB2bHRpbWUgMzYw MCANCm1lZGlhOiBFdGhlcm5ldCBhdXRvc2VsZWN0ICgxMDAwYmFzZVQgPGZ1bGwtZHVwbGV4 Pikgc3RhdHVzOiBhY3RpdmUgbmQ2IA0Kb3B0aW9ucz0yMTxQRVJGT1JNTlVELEFVVE9fTElO S0xPQ0FMPiBsbzA6IA0KZmxhZ3M9MTAwODA0OTxVUCxMT09QQkFDSyxSVU5OSU5HLE1VTFRJ Q0FTVCxMT1dFUl9VUD4gbWV0cmljIDAgbXR1IDE2Mzg0IA0Kb3B0aW9ucz02ODAwMDM8UlhD U1VNLFRYQ1NVTSxMSU5LU1RBVEUsUlhDU1VNX0lQVjYsVFhDU1VNX0lQVjY+IGluZXQgDQox MjcuMC4wLjEgbmV0bWFzayAweGZmMDAwMDAwIGluZXQ2IDo6MSBwcmVmaXhsZW4gMTI4IGlu ZXQ2IGZlODA6OjElbG8wIA0KcHJlZml4bGVuIDY0IHNjb3BlaWQgMHgzIGdyb3VwczogbG8g bmQ2IA0Kb3B0aW9ucz0yMTxQRVJGT1JNTlVELEFVVE9fTElOS0xPQ0FMPg0KDQpUaGlzIGRp ZCAvbm90IC93b3JrIGJlZm9yZSAodW5sZXNzIHlvdSBraWxsZWQgYW5kIHJlc3RhcnRlZCBp dCB5b3Ugb25seSANCmdldCBhbiBJUHY0IGFkZHJlc3MpIGFuZCBkb2VzIG5vdywgc28gdGhl cmUgeW91IGdvLg0KDQoxNDMgLSBTQyAwOjAwLjIxIGRoY3BjZDogW21hbmFnZXJdIFtpcDRd IFtpcDZdIChkaGNwY2QpIDE0NCAtIFMgMDowMC4yNSANCmRoY3BjZDogW3ByaXZpbGVnZWQg cHJveHldIChkaGNwY2QpIDE0NSAtIFNDIDA6MDAuMDIgZGhjcGNkOiBbbmV0d29yayANCnBy b3h5XSAoZGhjcGNkKSAxNDYgLSBTQyAwOjAwLjAxIGRoY3BjZDogW2NvbnRyb2wgcHJveHld IChkaGNwY2QpIDYwMCAtIA0KSUMgMDowMC4wMCBkaGNwY2Q6IFtCUEYgQVJQXSBpZ2IwIDcx LjE1LjI1Mi4xMzIgKGRoY3BjZCkNCg0KSSBwcmVzdW1lIHJ0YWR2ZCBzdGlsbCBoYXMgdG8g cnVuIHRvIGRpc3RyaWJ1dGUgcm91dGVzLCB5ZXM/DQoNCkknbSBub3QgQ09NUExFVEVMWSBz dXJlIGV2ZXJ5dGhpbmcgd29ya3MgYXMgZXhwZWN0ZWQgb24gYW4gaW1tZWRpYXRlIA0KYmFz aXMgYnV0IHRoZSBib3ggZGlkIGNvbWUgdXAsIGRpZCBnZXQgYSBkZWxlZ2F0aW9uIGFuZCBt eSBjbGllbnRzIGdvdCANClNMQUNDIGFkZHJlc3NlcyBhcyBleHBlY3RlZCBzbyAiZmlyc3Qg Ymx1c2giIGl0IGxvb2tzIGdvb2QuDQoNCi0tDQpLYXJsIERlbm5pbmdlcg0Ka2FybEBkZW5u aW5nZXIubmV0DQovVGhlIE1hcmtldCBUaWNrZXIvDQovW1MvTUlNRSBlbmNyeXB0ZWQgZW1h aWwgcHJlZmVycmVkXS8NCg== --------------2OtonL1DEpVLjkUAocTw3JPF Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
On 2/21/2025 18:15, Roy Marples wrote:=
=
Well,  it sounds good!
But I would rather you don't screw the pooch if the network fails and it'=
s a pain to recover :/

Saying that, you could setup a static address on the box so you can get t=
o it over the LAN even if dhcpcd fails.
If it's the WAN interface you expect to get access over, yes that could b=
e an issue and I'd rather you be on site in this instance.
Save the pain!

Good luck

Roy

That does appear to work; on boot from a power-cycle it properly got Ipv6 addresses and delegated them to the appropriate interfaces internally.

$ ifconfig igb0: flags=3D1008843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST,LOWER_UP&= gt; metric 0 mtu 1500 options=3D4e527bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_= MTU,VLAN_HWCSUM,TSO4,TSO6,LRO,WOL_MAGIC,VLAN_HWFILTER,VLAN_HWTSO,RXCSUM_I= PV6,TXCSUM_IPV6,HWSTATS,MEXTPG> ether 00:0d:b9:46:71:88 inet 71.15.252.132 netmask 0xfffffc00 broadcast 255.255.255.255 inet6 fe80::20d:b9ff:fe46:7188%igb0 prefixlen 64 scopeid 0x1 inet6 2600:6c5d:7009:600:3d16:3857:8d9f:9b29 prefixlen 128 pltime= 3600 vltime 3600 media: Ethernet autoselect (1000baseT <full-duplex>) status: active nd6 options=3D1<PERFORMNUD> igb1: flags=3D1008843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST,LOWER_UP&= gt; metric 0 mtu 1500 options=3D4e1203b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_= MTU,WOL_MAGIC,VLAN_HWFILTER,RXCSUM_IPV6,TXCSUM_IPV6,HWSTATS,MEXTPG> ether 00:0d:b9:46:71:89 inet 192.168.10.200 netmask 0xffffff00 broadcast 192.168.10.255 inet 192.168.2.200 netmask 0xffffff00 broadcast 192.168.2.255 inet6 fe80::20d:b9ff:fe46:7189%igb1 prefixlen 64 scopeid 0x2 inet6 2600:6c5d:5d00:fb00::1 prefixlen 64 pltime 3600 vltime 3600= media: Ethernet autoselect (1000baseT <full-duplex>) status: active nd6 options=3D21<PERFORMNUD,AUTO_LINKLOCAL> lo0: flags=3D1008049<UP,LOOPBACK,RUNNING,MULTICAST,LOWER_UP> metric= 0 mtu 16384 options=3D680003<RXCSUM,TXCSUM,LINKSTATE,RXCSUM_IPV6,TXCSUM_IP= V6> inet 127.0.0.1 netmask 0xff000000 inet6 ::1 prefixlen 128 inet6 fe80::1%lo0 prefixlen 64 scopeid 0x3 groups: lo nd6 options=3D21<PERFORMNUD,AUTO_LINKLOCAL>

This did not work bef= ore (unless you killed and restarted it you only get an IPv4 address) and= does now, so there you go.

143 - SC 0:00.21 dhcpc= d: [manager] [ip4] [ip6] (dhcpcd) 144 - S 0:00.25 dhcpcd: [privileged proxy] (dhcpcd) 145 - SC 0:00.02 dhcpcd: [network proxy] (dhcpcd) 146 - SC 0:00.01 dhcpcd: [control proxy] (dhcpcd) 600 - IC 0:00.00 dhcpcd: [BPF ARP] igb0 71.15.252.132 (dhcpcd)

I presume rtadvd still has t= o run to distribute routes, yes?

I'm not COMPLETELY sure ever= ything works as expected on an immediate basis but the box did come up, d= id get a delegation and my clients got SLACC addresses as expected so "fi= rst blush" it looks good.

--
Karl Denninger
karl@denninger.net
The Market Ticker
[S/MIME encrypted email preferred]<= /div> --------------2OtonL1DEpVLjkUAocTw3JPF-- --------------ms000802050307030605010904 Content-Type: application/pkcs7-signature; name="smime.p7s" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="smime.p7s" Content-Description: S/MIME Cryptographic Signature MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgMFADCABgkqhkiG9w0BBwEAAKCC C4owggWZMIIDgaADAgECAhRZU8dKdMneRI1Vq5kv0k54Q5rQuDANBgkqhkiG9w0BAQsFADB2 MQswCQYDVQQGEwJVUzESMBAGA1UECAwJVGVubmVzc2VlMRYwFAYDVQQKDA1EZW5uaW5nZXIu TmV0MRcwFQYDVQQDDA5EZW5uaW5nZXIgUm9vdDEiMCAGCSqGSIb3DQEJARYTYWRtaW5AZGVu bmluZ2VyLm5ldDAeFw0yNDA1MDkyMTA4MDNaFw00NDA1MDQyMTA4MDNaMF0xCzAJBgNVBAYT AlVTMRIwEAYDVQQIDAlUZW5uZXNzZWUxFjAUBgNVBAoMDURlbm5pbmdlci5uZXQxIjAgBgNV BAMMGURlbm5pbmdlci5OZXQgU2lnbmluZyBJbnQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw ggEKAoIBAQDbR0tSiuLG5HPfo+cWtdeYQ8jc8Bjfuo0GTcNRT0glHnH1apUtInIktUknEZDH ohahInN+mMBdKg54FCHOiYZrJbyxBIo9FwX7hRmOc+spxmSYWnOd2E/YcGInMK4ZpjPzldzB Yt1n3zygkhx2bssxTJS3x4nv1qAXfLSZd1VwqoQufifEoPyTtymkkvHLv86vLgqAqooM/cXc 4LSIQ5u2uM308n42r8RkKtp7X1v9fJW8oRZN2XnFZtiUPH44YY2rHqyN2Hea9Y3+TXbldXjo xhPHTA+JYVFq8KTmbQBqU7YcMhlIG0cSxPeFLMxnP6pqPcIVTAlK+a6YGRFppfjZAgMBAAGj ggE2MIIBMjAdBgNVHQ4EFgQUH+VuxXhBxaJAQrvDekwkH91hBi4wgbMGA1UdIwSBqzCBqIAU RFYC4p6L6KITnEvrpx2cyt+PcMmheqR4MHYxCzAJBgNVBAYTAlVTMRIwEAYDVQQIDAlUZW5u ZXNzZWUxFjAUBgNVBAoMDURlbm5pbmdlci5OZXQxFzAVBgNVBAMMDkRlbm5pbmdlciBSb290 MSIwIAYJKoZIhvcNAQkBFhNhZG1pbkBkZW5uaW5nZXIubmV0ghQZE7NBItWtQsCouuwU6jZ+ HPPwnjAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjA6BgNVHR8EMzAxMC+gLaAr hilodHRwOi8vd3d3LmRlbm5pbmdlci5uZXQvcm9vdC1yZXZva2VkLmNybDANBgkqhkiG9w0B AQsFAAOCAgEAfFbhPc82AfhyUqONs7IccYD36w+OP4nQgwfC4IWf3y/aQAZ2Zk6IITzYqwf7 PFM0bJRT3zi7xyetolqHDhfMJvnOQWpITZiyM/FSKwIvuBsy/uJUqPuqui4XQMYoSbAA1qmI MW/z7VZZHwaRFoeWE40UirYcf0fNcooBZ72bmd+iBaVyjtZvky0Vgcz0eC6e6LR5kNb23yC6 TkyQIlGyQkK5/afXUYFzk49rOHVbVyxW3oXRfq8Ow6HCrpDGAS8p84S04MFwBVAUfbe4aXs3 bampaI2LzKgkVywyFP14LSvvdjCfLYfnLy1Z9hm2EHMqNHA2tCGdRhWp2d7aZC1MYFqng0ZS fjPJjqHrI1qPU0p6k9A1GxAtrQlL2v/IUzUnMZkiawFV3qlxMGZf/kTYTUOcJhx1KU4zSLHu 80qO7ldRpp5gHssCAGFbeTu2gp6LxfmaFhLPDBJ1VGfdPx9lUrU/9OcoHczcl5x2Rb8IUZyX 9elzP5WdAU8p5R/DLlOAq24VcabhFtYBCA2dOESLupSfWKNQuJCN/1gz7ysSc+mjnnPV77IO mpszJfkFFJEDNJlGIVKX1vwwygtC/9Ulox8frgbZlRAYAgDc/YbOBFxticVVre0Y3Ujx6Kzb tkgZRlgfdZWbT1W5smncqJxg5qAL8e/yTb3fCe2nJ0jhiP4wggXpMIIE0aADAgECAhMAmNFt CiCF3j+FwQLYtBTmGjzkMA0GCSqGSIb3DQEBCwUAMF0xCzAJBgNVBAYTAlVTMRIwEAYDVQQI DAlUZW5uZXNzZWUxFjAUBgNVBAoMDURlbm5pbmdlci5uZXQxIjAgBgNVBAMMGURlbm5pbmdl ci5OZXQgU2lnbmluZyBJbnQwHhcNMjQwNTEwMTkyNjU5WhcNMjkwNTA5MTkyNjU5WjBXMQsw CQYDVQQGEwJVUzESMBAGA1UECAwJVGVubmVzc2VlMRcwFQYDVQQKDA5LYXJsIERlbm5pbmdl cjEbMBkGA1UEAwwSa2FybEBkZW5uaW5nZXIubmV0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8A MIICCgKCAgEAvh1UssVbSYctzobPjwBkbjv/w4WvQNepeRTwE6+sLnXvc41+X9pa5EclPL4Q l02Vu1m71mSqXGfK9HbWZoivbhefBHOoYb35MSc24PelhwcORbpneWoWc7giQ7QgFlvEe/yj fs8M0H9fgdzFS5m2lwBQbis8kioSjHB2yt/8I1GE4Mvt1Cur9kga6ML5FAQvo8TYN1stdhrE 13FEv/BWCF4FVT4H2Wa2ySW+R1jkKb74SC6Twg98bGCRTShD5bVylh0+0LXNhzaopIDcI/KK jm/j3mRjIlmqbGrSpvJsbjjhjhAYQKE1U8FB5TDU4OkFAibblhQit/KjgspPR2o/vOpVFPER uhZEV1oDGzUJtZlkREIcN2sYBi0p7Y4585ya+b7L10mEenPlyi3eSkGXEuiy/BR2DY6lShwW DPoQ5602TKmttCSwBdWGoLrQ4jEVEVNt4lku2wPbTHF3KpHJU0g7RbcWoUYn10SOxKathkir hF3v9U32+QhPELGwqRrH0sL9rWf0qalRtPDHUYl8TebZmYkFqNeSMlqHijl5f4SsQPSj7gx5 4F19Ntm9ZcvuWTmW8QQGWTKHeMuG+BYkVIUSPe6/ZQsbD/xDx7rkyGfNgWIa4W7Wm/B7kaNq H53tk3wFmNgZQOxMTPF0oTHfW0T2azU6JD0D1AlgoAnSAE0CAwEAAaOCAaYwggGiMDoGCCsG AQUFBwEBBC4wLDAqBggrBgEFBQcwAYYeaHR0cDovL29jc3AuZGVubmluZ2VyLm5ldDo3Nzc3 MAwGA1UdEwEB/wQCMAAwDgYDVR0PAQH/BAQDAgXgMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggr BgEFBQcDBDAzBglghkgBhvhCAQ0EJhYkT3BlblNTTCBHZW5lcmF0ZWQgQ2xpZW50IENlcnRp ZmljYXRlMB0GA1UdDgQWBBSxJZjVnlYLAT3uzvDYgc4742J6UTCBswYDVR0jBIGrMIGogBQf 5W7FeEHFokBCu8N6TCQf3WEGLqF6pHgwdjELMAkGA1UEBhMCVVMxEjAQBgNVBAgMCVRlbm5l c3NlZTEWMBQGA1UECgwNRGVubmluZ2VyLk5ldDEXMBUGA1UEAwwORGVubmluZ2VyIFJvb3Qx IjAgBgkqhkiG9w0BCQEWE2FkbWluQGRlbm5pbmdlci5uZXSCFFlTx0p0yd5EjVWrmS/STnhD mtC4MB0GA1UdEQQWMBSBEmthcmxAZGVubmluZ2VyLm5ldDANBgkqhkiG9w0BAQsFAAOCAQEA TrQ45/tBN3SiuqItFv/V+CF3h7Hxe0YLsL+A/P+q9ZhxIscaNjaclgQhPA+rUr+l8DGoXJ/w yAl1E0SSBK+9phIc/9xFOBg3rCy4ngubzP+lHS1t03nMCBSUNsu5qPzqLBPiKaPabUu3Gr9o koRezSszgM3/zNJfr8cMO93csCK/fBccsMx5q+3nxB5XeT7UciicjfEzUA4m2mQxBmGk9SSU 147Gy8UmdSq57Tw82KqUrQ1pJ6IOzVPLREpwlqGbHykSU3MwtPYPtfQeFVjvO/XcWvoFQjbV UyhzAqMMYFudxoVLlJQiAgU38OScTLDgKxCO41h7VOjb2mss0zHndzGCBZUwggWRAgEBMHQw XTELMAkGA1UEBhMCVVMxEjAQBgNVBAgMCVRlbm5lc3NlZTEWMBQGA1UECgwNRGVubmluZ2Vy Lm5ldDEiMCAGA1UEAwwZRGVubmluZ2VyLk5ldCBTaWduaW5nIEludAITAJjRbQoghd4/hcEC 2LQU5ho85DANBglghkgBZQMEAgMFAKCCAvIwGAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAc BgkqhkiG9w0BCQUxDxcNMjUwMjIxMjMzMTE1WjBPBgkqhkiG9w0BCQQxQgRA4Nd1zFdG0olU hltT3K9GxslrI1pNIzDN8PQBscvRizca+ob/2jIIsnjF4AD3MpDyQDE/US/Bm2rzFwlIlqXh jDCBgwYJKwYBBAGCNxAEMXYwdDBdMQswCQYDVQQGEwJVUzESMBAGA1UECAwJVGVubmVzc2Vl MRYwFAYDVQQKDA1EZW5uaW5nZXIubmV0MSIwIAYDVQQDDBlEZW5uaW5nZXIuTmV0IFNpZ25p bmcgSW50AhMAmNFtCiCF3j+FwQLYtBTmGjzkMIGFBgsqhkiG9w0BCRACCzF2oHQwXTELMAkG A1UEBhMCVVMxEjAQBgNVBAgMCVRlbm5lc3NlZTEWMBQGA1UECgwNRGVubmluZ2VyLm5ldDEi MCAGA1UEAwwZRGVubmluZ2VyLk5ldCBTaWduaW5nIEludAITAJjRbQoghd4/hcEC2LQU5ho8 5DCCAVcGCSqGSIb3DQEJDzGCAUgwggFEMAsGCWCGSAFlAwQBKjALBglghkgBZQMEAQIwCgYI KoZIhvcNAwcwDQYIKoZIhvcNAwICAQUwDQYIKoZIhvcNAwICAQUwBwYFKw4DAgcwDQYIKoZI hvcNAwICAQUwBwYFKw4DAhowCwYJYIZIAWUDBAIBMAsGCWCGSAFlAwQCAjALBglghkgBZQME AgMwCwYJYIZIAWUDBAIEMAsGCWCGSAFlAwQCBzALBglghkgBZQMEAggwCwYJYIZIAWUDBAIJ MAsGCWCGSAFlAwQCCjALBgkqhkiG9w0BAQEwCwYJK4EFEIZIPwACMAgGBiuBBAELADAIBgYr gQQBCwEwCAYGK4EEAQsCMAgGBiuBBAELAzALBgkrgQUQhkg/AAMwCAYGK4EEAQ4AMAgGBiuB BAEOATAIBgYrgQQBDgIwCAYGK4EEAQ4DMA0GCSqGSIb3DQEBAQUABIICADCKEADd9lQu0QD4 /K+QN3d9G1Ue3GBAOPQkQrxJJA6psLjLi1WTyTx4PGW28TOldhG8cZnBtr7yRunOk45QN7Wy cpZixM6MR4nN7tfxJzmu53VfpYLc9I9HCLNVJITd5cmh2HKRAgMBVYUeFwwkiNWqddNTWfOQ 9+4Ajwh0yods92DTdc34iXjPVe1VMv9TviPIorMOdiNfDFB8vxUXcCgGypqWWH8DfSum59EA ZwrIqXh58mkHCiTURw2LI6/o1GOah9bECf3Z/0YBvLSB3ud+Nj38YblYQJ9/ge0rzZw3Bxsx M+U5BqTHdqPVBS77efOmB+4ARh7gf/bMcO1irRMArSTOpi188gXJ8afJWoD5fIGEOUqTCVrq PGkVBcivzYKFWNzRqLHf0fMQZYjOlII/lR1hy2Ak06MK70vvEmOroh5xMextmKlAbvOB4mB3 nclpigd96+2qZLGDuM9V3vNcGqY9yGUZfkBCl4MvZpXPdCYL8PKHP+YIhwTNGU+i9dLpkd04 Vz80Q2OuT+96G9pet1Vqqrn35CLw4MK9PpvhoCqifdc/a30Yzb7maSCSu1N3o2lUpW5ZxBjV XgMDgz/Q1VQspYOh8Zw4SkDag/FyBBjLJs5kL2cwoMuN800TgZTXc1R9Kp7pblJgVSFSrpbW 56wXUttrCoOTB7yqbC6jAAAAAAAA --------------ms000802050307030605010904--