Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 21 Aug 2005 15:01:25 +0200
From:      Fabian Keil <freebsd-listen@fabiankeil.de>
To:        freebsd-current@freebsd.org
Subject:   Reproducible FreeBSD 6.0-BETA2 panic - probably ATA-ng related
Message-ID:  <20050821150125.56f992e0@localhost>

next in thread | raw e-mail | index | archive | help
--Signature_Sun__21_Aug_2005_15_01_25_+0200_rzdJa2H1DDV01GOK
Content-Type: multipart/mixed;
	boundary=Multipart_Sun__21_Aug_2005_15_01_25_+0200_0SWFA.t7.WwyKyZ7

--Multipart_Sun__21_Aug_2005_15_01_25_+0200_0SWFA.t7.WwyKyZ7
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

I own a Plextor PlexWriter Premium, the drive has a buggy firmware
which crashes if you try to burn multi session in SAO mode.

On FreeBSD 5.2 and 5.3 the drive "just" disappears from the bus:=20

root@datenspeicher.localhost atacontrol list
ATA channel 0:
    Master:  ad0 <WDC WD205AA/05.05B05> ATA/ATAPI rev 4
    Slave:   ad1 <MAXTOR 4K040H2/A08.1500> ATA/ATAPI rev 5
ATA channel 1:
    Master:      no device present
    Slave:  acd0 <PLEXTOR CD-R PREMIUM/1.05> ATA/ATAPI rev 0
root@datenspeicher.localhost cdrecord dev=3D1,1,0 -dao -multi -dummy tsize=
=3D100000s /dev/random
Cdrecord 2.00.3 (i386-unknown-freebsd5.2) Copyright (C) 1995-2002 J=F6rg Sc=
hilling
scsidev: '1,1,0'
scsibus: 1 target: 1 lun: 0
Using libscg version 'schily-0.7'
Device type    : Removable CD-ROM
Version        : 0
Response Format: 1
Vendor_info    : 'PLEXTOR '
Identifikation : 'CD-R   PREMIUM  '
Revision       : '1.05'
Device seems to be: Generic mmc CD-RW.
Using generic SCSI-3/mmc CD-R driver (mmc_cdr).
Driver flags   : MMC-3 SWABAUDIO BURNFREE VARIREC=20
Supported modes: TAO PACKET SAO SAO/R96P SAO/R96R RAW/R16 RAW/R96P RAW/R96R
Starting to write CD/DVD at speed 52 in dummy SAO mode for multi session.
Last chance to quit, starting dummy write    0 seconds. Operation starts.
[a long time nothing ]
^C[after doing atacontrol reinit 1 on another shell:]cdrecord: Caught inter=
rupt.
root@datenspeicher.localhost atacontrol list
ATA channel 0:
    Master:  ad0 <WDC WD205AA/05.05B05> ATA/ATAPI rev 4
    Slave:   ad1 <MAXTOR 4K040H2/A08.1500> ATA/ATAPI rev 5
ATA channel 1:
    Master:      no device present
    Slave:       no device present


On FreeBSD 6.0-BETA2 a panic is caused:

fk@africanqueen ~ $atacontrol list
ATA channel 0:
    Master: acd0 <LITE-ON DVDRW SOHW-1693S/KS0A> ATA/ATAPI revision 5
    Slave:   ad1 <WDC WD800BB-00CAA1/17.07W17> ATA/ATAPI revision 5
ATA channel 1:
    Master: acd1 <LITE-ON LTR-48125W/VS0D> ATA/ATAPI revision 0
    Slave:  acd2 <PLEXTOR CD-R PREMIUM/1.05> ATA/ATAPI revision 0
ATA channel 2:
    Master:  ad4 <SAMSUNG SV1204H/RK100-15> ATA/ATAPI revision 6
    Slave:       no device present
ATA channel 3:
    Master:      no device present
    Slave:       no device present

fk@africanqueen ~ $cdrecord dev=3D1,1,0 -sao -multi -dummy tsize=3D1s -v /d=
ev/random=20
Cdrecord-Clone 2.01.01a03 (i386-unknown-freebsd6.0) Copyright (C) 1995-2005=
 J=F6rg Schilling
TOC Type: 3 =3D CD-ROM XA mode 2
cdrecord: Operation not permitted. WARNING: Cannot do mlockall(2).
cdrecord: WARNING: This causes a high risk for buffer underruns.
scsidev: '1,1,0'
scsibus: 1 target: 1 lun: 0
Using libscg version 'schily-0.8'.
SCSI buffer size: 64512
atapi: 0
Device type    : Removable CD-ROM
Version        : 0
Response Format: 1
Vendor_info    : 'PLEXTOR '
Identifikation : 'CD-R   PREMIUM  '
Revision       : '1.05'
Device seems to be: Generic mmc CD-RW.
Current: 0x0009
Profile: 0x0008=20
Profile: 0x0009 (current)
Profile: 0x000A=20
Using generic SCSI-3/mmc   CD-R/CD-RW driver (mmc_cdr).
Driver flags   : MMC-3 SWABAUDIO BURNFREE VARIREC GIGAREC FORCESPEED SPEEDR=
EAD SINGLESESSION HIDECDR=20
Supported modes: TAO PACKET SAO SAO/R96P SAO/R96R RAW/R16 RAW/R96P RAW/R96R
Drive buf size : 4802784 =3D 4690 KB
Drive DMA Speed: 27687 kB/s 157x CD 19x DVD
FIFO size      : 4194304 =3D 4096 KB
Track 01: data     0 MB         padsize:  598 KB
Total size:        0 MB (00:04.00) =3D 300 sectors
Lout start:        1 MB (00:06/00) =3D 300 sectors
Current Secsize: 2048
ATIP info from disk:
  Indicated writing power: 4
  Is not unrestricted
  Is not erasable
  Disk sub type: Medium Type A, low Beta category (A-) (2)
  ATIP start of lead in:  -12508 (97:15/17)
  ATIP start of lead out: 359845 (79:59/70)
Disk type:    Short strategy type (Phthalocyanine or similar)
Manuf. index: 22
Manufacturer: Ritek Co.
Single session is OFF.
Hide CDR is OFF.
Speed-Read is OFF.
GigaRec is off.
Blocks total: 359845 Blocks current: 359845 Blocks remaining: 359545
Forcespeed is OFF.
Power-Rec is ON.
Power-Rec write speed:     52x (recommended)
Starting to write CD/DVD at speed 52 in dummy SAO mode for multi session.
Last chance to quit, starting dummy write    0 seconds. Operation starts.
Waiting for reader process to fill input buffer ... input buffer ready.
BURN-Free is OFF.
Sending CUE sheet...
Writing pregap for track 1 at -150
[Panic after a few minutes]

Fatal trap 12: page fault while in kernel mode
cpuid =3D 0; apic id =3D 00
fault virtual address   =3D 0x3b0
fault code              =3D supervisor read, page not present
instruction pointer     =3D 0x20:0xc046f132
stack pointer           =3D 0x28:0xd44b0cc8
frame pointer           =3D 0x28:0xd44b0cd8
code segment            =3D base 0x0, limit 0xfffff, type 0x1b
                        =3D DPL 0, pres 1, def32 1, gran 1
processor eflags        =3D interrupt enabled, resume, IOPL =3D 0
current process         =3D 2 (g_event)
panic: from debugger
cpuid =3D 0
Uptime: 22m47s
Dumping 511 MB (2 chunks)
  chunk 0: 1MB (158 pages) ... ok
  chunk 1: 511MB (130800 pages) 495 479 463 447 431 415 399 383 367 351 335=
 319 303 287 271 255 239 2                      =20
23 207 191 175 159 143 127 111 95 79 63 47 31 15

#0  doadump () at pcpu.h:165
165     pcpu.h: No such file or directory.
        in pcpu.h
(kgdb) where=20
#0  doadump () at pcpu.h:165
#1  0xc04f4154 in boot (howto=3D260) at /usr/src/sys/kern/kern_shutdown.c:3=
97
#2  0xc04f4469 in panic (fmt=3D0xc066ff84 "from debugger") at /usr/src/sys/=
kern/kern_shutdown.c:553
#3  0xc044e3d9 in db_panic (addr=3D-1069092558, have_addr=3D0, count=3D-1, =
modif=3D0xd44b0aec "")
    at /usr/src/sys/ddb/db_command.c:435
#4  0xc044e370 in db_command (last_cmdp=3D0xc06d97e4, cmd_table=3D0x0, aux_=
cmd_tablep=3D0xc06a37cc,=20
    aux_cmd_tablep_end=3D0xc06a37d0) at /usr/src/sys/ddb/db_command.c:349
#5  0xc044e438 in db_command_loop () at /usr/src/sys/ddb/db_command.c:455
#6  0xc044ffd9 in db_trap (type=3D12, code=3D0) at /usr/src/sys/ddb/db_main=
.c:221
#7  0xc050c160 in kdb_trap (type=3D12, code=3D0, tf=3D0xd44b0c88) at /usr/s=
rc/sys/kern/subr_kdb.c:473
#8  0xc064b8d8 in trap_fatal (frame=3D0xd44b0c88, eva=3D944) at /usr/src/sy=
s/i386/i386/trap.c:832
#9  0xc064b61f in trap_pfault (frame=3D0xd44b0c88, usermode=3D0, eva=3D944)
    at /usr/src/sys/i386/i386/trap.c:752
#10 0xc064b289 in trap (frame=3D
      {tf_fs =3D 8, tf_es =3D 40, tf_ds =3D 40, tf_edi =3D 0, tf_esi =3D 0,=
 tf_ebp =3D -733279016, tf_isp =3D -7332                      =20
79052, tf_ebx =3D -1044868864, tf_edx =3D 4, tf_ecx =3D 1, tf_eax =3D 0, tf=
_trapno =3D 12, tf_err =3D 0, tf_eip =3D                      =20
 -1069092558, tf_cs =3D 32, tf_eflags =3D 590470, tf_esp =3D 6, tf_ss =3D -=
1044868864})
    at /usr/src/sys/i386/i386/trap.c:442
#11 0xc063992a in calltrap () at /usr/src/sys/i386/i386/exception.s:139
#12 0x00000008 in ?? ()
#13 0x00000028 in ?? ()
#14 0x00000028 in ?? ()
#15 0x00000000 in ?? ()
#16 0x00000000 in ?? ()
#17 0xd44b0cd8 in ?? ()
#18 0xd44b0cb4 in ?? ()
#19 0xc1b89100 in ?? ()
#20 0x00000004 in ?? ()
#21 0x00000001 in ?? ()
#22 0x00000000 in ?? ()
#23 0x0000000c in ?? ()
#24 0x00000000 in ?? ()
#25 0xc046f132 in acd_geom_detach (arg=3D0xc1b89100, flag=3D0) at /usr/src/=
sys/dev/ata/atapi-cd.c:199
#26 0xc04bf9ef in one_event () at /usr/src/sys/geom/geom_event.c:198
#27 0xc04bfa79 in g_run_events () at /usr/src/sys/geom/geom_event.c:218
#28 0xc04c10dd in g_event_procbody () at /usr/src/sys/geom/geom_kern.c:141
#29 0xc04e1098 in fork_exit (callout=3D0xc04c1070 <g_event_procbody>, arg=
=3D0x0, frame=3D0xd44b0d38)
    at /usr/src/sys/kern/kern_fork.c:789
#30 0xc063998c in fork_trampoline () at /usr/src/sys/i386/i386/exception.s:=
208

Otherwise the system runs stable, from time to time I get:

lock order reversal
 1st 0xc073cf40 UMA lock (UMA lock) @ /usr/src/sys/vm/uma_core.c:1494
 2nd 0xc1060144 system map (system map) @ /usr/src/sys/vm/vm_map.c:2317
KDB: stack backtrace:
kdb_backtrace(0,ffffffff,c06f2218,c06f2358,c06b8864) at kdb_backtrace+0x29
witness_checkorder(c1060144,9,c069605a,90d) at witness_checkorder+0x564
_mtx_lock_flags(c1060144,0,c069605a,90d) at _mtx_lock_flags+0x5b
_vm_map_lock(c10600c0,c069605a,90d) at _vm_map_lock+0x26
vm_map_remove(c10600c0,c1f03000,c1f04000,d56cbc0c,c05fdd29) at vm_map_remov=
e+0x1f
kmem_free(c10600c0,c1f03000,1000,d56cbc3c,c05fd6d6) at kmem_free+0x25
page_free(c1f03000,1000,2) at page_free+0x29
zone_drain(c104a960) at zone_drain+0x26a
zone_foreach(c05fd46c,d56cbcec,c060f657,d56cbc74,246) at zone_foreach+0x37
uma_reclaim(d56cbc74,246,0,d56cbc80,c04ec719) at uma_reclaim+0x12
vm_pageout_scan(0,c073d3a0,0,c0697547,604) at vm_pageout_scan+0x103
vm_pageout(0,d56cbd38,0,c06104ac,0) at vm_pageout+0x2c3
fork_exit(c06104ac,0,d56cbd38) at fork_exit+0xa0
fork_trampoline() at fork_trampoline+0x8
--- trap 0x1, eip =3D 0, esp =3D 0xd56cbd6c, ebp =3D 0 ---

which looks like <http://sources.zabbadoz.net/freebsd/lor.html#007>;
and is marked as harmless.

My Kernel is attached, it is GENERIC plus atapicam minus some stuff
I don't need. I cvsupped and rebuild world yesterday, system is=20
FreeBSD 6.0-BETA2 #2: Sun Aug 21 12:28:33 CEST 2005.

The firmware bug is known to be present in the Plextor PX-W4824TA
as well, one should be able to reproduce the panic with that drive,
however I don't own one.

vmcore, dmesg output and kernel.debug can be downloaded at:
<http://www.fabiankeil.de/tmp/kernel.debug+vmcore+dmesg.tar>; (20MB)

I'd be glad to provide more information if needed, but
I will be cut from the internet from this evening till Friday.

Fabian
--=20
http://www.fabiankeil.de/


--=20
http://www.fabiankeil.de/

--Multipart_Sun__21_Aug_2005_15_01_25_+0200_0SWFA.t7.WwyKyZ7
Content-Type: application/octet-stream; name=AFRICANQUEEN
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename=AFRICANQUEEN

IwojIEdFTkVSSUMgLS0gR2VuZXJpYyBrZXJuZWwgY29uZmlndXJhdGlvbiBmaWxlIGZvciBGcmVl
QlNEL2kzODYKIwojIEZvciBtb3JlIGluZm9ybWF0aW9uIG9uIHRoaXMgZmlsZSwgcGxlYXNlIHJl
YWQgdGhlIGhhbmRib29rIHNlY3Rpb24gb24KIyBLZXJuZWwgQ29uZmlndXJhdGlvbiBGaWxlczoK
IwojICAgIGh0dHA6Ly93d3cuRnJlZUJTRC5vcmcvZG9jL2VuX1VTLklTTzg4NTktMS9ib29rcy9o
YW5kYm9vay9rZXJuZWxjb25maWctY29uZmlnLmh0bWwKIwojIFRoZSBoYW5kYm9vayBpcyBhbHNv
IGF2YWlsYWJsZSBsb2NhbGx5IGluIC91c3Ivc2hhcmUvZG9jL2hhbmRib29rCiMgaWYgeW91J3Zl
IGluc3RhbGxlZCB0aGUgZG9jIGRpc3RyaWJ1dGlvbiwgb3RoZXJ3aXNlIGFsd2F5cyBzZWUgdGhl
CiMgRnJlZUJTRCBXb3JsZCBXaWRlIFdlYiBzZXJ2ZXIgKGh0dHA6Ly93d3cuRnJlZUJTRC5vcmcv
KSBmb3IgdGhlCiMgbGF0ZXN0IGluZm9ybWF0aW9uLgojCiMgQW4gZXhoYXVzdGl2ZSBsaXN0IG9m
IG9wdGlvbnMgYW5kIG1vcmUgZGV0YWlsZWQgZXhwbGFuYXRpb25zIG9mIHRoZQojIGRldmljZSBs
aW5lcyBpcyBhbHNvIHByZXNlbnQgaW4gdGhlIC4uLy4uL2NvbmYvTk9URVMgYW5kIE5PVEVTIGZp
bGVzLgojIElmIHlvdSBhcmUgaW4gZG91YnQgYXMgdG8gdGhlIHB1cnBvc2Ugb3IgbmVjZXNzaXR5
IG9mIGEgbGluZSwgY2hlY2sgZmlyc3QKIyBpbiBOT1RFUy4KIwojICRGcmVlQlNEOiBzcmMvc3lz
L2kzODYvY29uZi9HRU5FUklDLHYgMS40MjkgMjAwNS8wNS8yNCAxNjo0ODowNyBkYW1pZW4gRXhw
ICQKCm1hY2hpbmUJCWkzODYKI2NwdQkJSTQ4Nl9DUFUKI2NwdQkJSTU4Nl9DUFUKY3B1CQlJNjg2
X0NQVQppZGVudAkJQUZSSUNBTlFVRUVOCgojIFRvIHN0YXRpY2FsbHkgY29tcGlsZSBpbiBkZXZp
Y2Ugd2lyaW5nIGluc3RlYWQgb2YgL2Jvb3QvZGV2aWNlLmhpbnRzCiNoaW50cwkJIkdFTkVSSUMu
aGludHMiCQkjIERlZmF1bHQgcGxhY2VzIHRvIGxvb2sgZm9yIGRldmljZXMuCgptYWtlb3B0aW9u
cwlERUJVRz0tZwkJIyBCdWlsZCBrZXJuZWwgd2l0aCBnZGIoMSkgZGVidWcgc3ltYm9scwoKI29w
dGlvbnMgCVNDSEVEX1VMRQkJIyBVTEUgc2NoZWR1bGVyCm9wdGlvbnMgCVNDSEVEXzRCU0QJCSMg
NEJTRCBzY2hlZHVsZXIKb3B0aW9ucyAJUFJFRU1QVElPTgkJIyBFbmFibGUga2VybmVsIHRocmVh
ZCBwcmVlbXB0aW9uCm9wdGlvbnMgCUlORVQJCQkjIEludGVyTkVUd29ya2luZwpvcHRpb25zIAlJ
TkVUNgkJCSMgSVB2NiBjb21tdW5pY2F0aW9ucyBwcm90b2NvbHMKb3B0aW9ucyAJRkZTCQkJIyBC
ZXJrZWxleSBGYXN0IEZpbGVzeXN0ZW0Kb3B0aW9ucyAJU09GVFVQREFURVMJCSMgRW5hYmxlIEZG
UyBzb2Z0IHVwZGF0ZXMgc3VwcG9ydApvcHRpb25zIAlVRlNfQUNMCQkJIyBTdXBwb3J0IGZvciBh
Y2Nlc3MgY29udHJvbCBsaXN0cwpvcHRpb25zIAlVRlNfRElSSEFTSAkJIyBJbXByb3ZlIHBlcmZv
cm1hbmNlIG9uIGJpZyBkaXJlY3RvcmllcwpvcHRpb25zIAlNRF9ST09UCQkJIyBNRCBpcyBhIHBv
dGVudGlhbCByb290IGRldmljZQpvcHRpb25zIAlORlNDTElFTlQJCSMgTmV0d29yayBGaWxlc3lz
dGVtIENsaWVudApvcHRpb25zIAlORlNTRVJWRVIJCSMgTmV0d29yayBGaWxlc3lzdGVtIFNlcnZl
cgpvcHRpb25zIAlORlNfUk9PVAkJIyBORlMgdXNhYmxlIGFzIC8sIHJlcXVpcmVzIE5GU0NMSUVO
VApvcHRpb25zIAlNU0RPU0ZTCQkJIyBNU0RPUyBGaWxlc3lzdGVtCm9wdGlvbnMgCUNEOTY2MAkJ
CSMgSVNPIDk2NjAgRmlsZXN5c3RlbQpvcHRpb25zIAlQUk9DRlMJCQkjIFByb2Nlc3MgZmlsZXN5
c3RlbSAocmVxdWlyZXMgUFNFVURPRlMpCm9wdGlvbnMgCVBTRVVET0ZTCQkjIFBzZXVkby1maWxl
c3lzdGVtIGZyYW1ld29yawpvcHRpb25zIAlHRU9NX0dQVAkJIyBHVUlEIFBhcnRpdGlvbiBUYWJs
ZXMuCm9wdGlvbnMgCUNPTVBBVF80MwkJIyBDb21wYXRpYmxlIHdpdGggQlNEIDQuMyBbS0VFUCBU
SElTIV0Kb3B0aW9ucyAJQ09NUEFUX0ZSRUVCU0Q0CQkjIENvbXBhdGlibGUgd2l0aCBGcmVlQlNE
NApvcHRpb25zIAlTQ1NJX0RFTEFZPTUwMDAJCSMgRGVsYXkgKGluIG1zKSBiZWZvcmUgcHJvYmlu
ZyBTQ1NJCm9wdGlvbnMgCUtUUkFDRQkJCSMga3RyYWNlKDEpIHN1cHBvcnQKb3B0aW9ucyAJU1lT
VlNITQkJCSMgU1lTVi1zdHlsZSBzaGFyZWQgbWVtb3J5Cm9wdGlvbnMgCVNZU1ZNU0cJCQkjIFNZ
U1Ytc3R5bGUgbWVzc2FnZSBxdWV1ZXMKb3B0aW9ucyAJU1lTVlNFTQkJCSMgU1lTVi1zdHlsZSBz
ZW1hcGhvcmVzCm9wdGlvbnMgCV9LUE9TSVhfUFJJT1JJVFlfU0NIRURVTElORyAjIFBPU0lYIFAx
MDAzXzFCIHJlYWwtdGltZSBleHRlbnNpb25zCm9wdGlvbnMgCUtCRF9JTlNUQUxMX0NERVYJIyBp
bnN0YWxsIGEgQ0RFViBlbnRyeSBpbiAvZGV2Cm9wdGlvbnMgCUFIQ19SRUdfUFJFVFRZX1BSSU5U
CSMgUHJpbnQgcmVnaXN0ZXIgYml0ZmllbGRzIGluIGRlYnVnCgkJCQkJIyBvdXRwdXQuICBBZGRz
IH4xMjhrIHRvIGRyaXZlci4Kb3B0aW9ucyAJQUhEX1JFR19QUkVUVFlfUFJJTlQJIyBQcmludCBy
ZWdpc3RlciBiaXRmaWVsZHMgaW4gZGVidWcKCQkJCQkjIG91dHB1dC4gIEFkZHMgfjIxNWsgdG8g
ZHJpdmVyLgpvcHRpb25zIAlBREFQVElWRV9HSUFOVAkJIyBHaWFudCBtdXRleCBpcyBhZGFwdGl2
ZS4KCiNJUF9TZWMKI29wdGlvbnMgICAJSVBTRUMgICAgICAgIAkJIyBJUCBzZWN1cml0eQojb3B0
aW9ucyAgIAlJUFNFQ19FU1AgICAgCQkjIElQIHNlY3VyaXR5IChjcnlwdG87IGRlZmluZSB3LyBJ
UFNFQykKCiMgRGVidWdnaW5nIGZvciB1c2UgaW4gLWN1cnJlbnQKb3B0aW9ucyAJS0RCCQkJIyBF
bmFibGUga2VybmVsIGRlYnVnZ2VyIHN1cHBvcnQuCm9wdGlvbnMgCUREQgkJCSMgU3VwcG9ydCBE
REIuCiNvcHRpb25zIAlHREIJCQkjIFN1cHBvcnQgcmVtb3RlIEdEQi4Kb3B0aW9ucyAJSU5WQVJJ
QU5UUwkJIyBFbmFibGUgY2FsbHMgb2YgZXh0cmEgc2FuaXR5IGNoZWNraW5nCm9wdGlvbnMgCUlO
VkFSSUFOVF9TVVBQT1JUCSMgRXh0cmEgc2FuaXR5IGNoZWNrcyBvZiBpbnRlcm5hbCBzdHJ1Y3R1
cmVzLCByZXF1aXJlZCBieSBJTlZBUklBTlRTCm9wdGlvbnMgCVdJVE5FU1MJCQkjIEVuYWJsZSBj
aGVja3MgdG8gZGV0ZWN0IGRlYWRsb2NrcyBhbmQgY3ljbGVzCm9wdGlvbnMgCVdJVE5FU1NfU0tJ
UFNQSU4JIyBEb24ndCBydW4gd2l0bmVzcyBvbiBzcGlubG9ja3MgZm9yIHNwZWVkCgojIFRvIG1h
a2UgYW4gU01QIGtlcm5lbCwgdGhlIG5leHQgdHdvIGxpbmVzIGFyZSBuZWVkZWQKb3B0aW9ucyAJ
U01QCQkJIyBTeW1tZXRyaWMgTXVsdGlQcm9jZXNzb3IgS2VybmVsCmRldmljZQkJYXBpYwkJCSMg
SS9PIEFQSUMKCiMgQnVzIHN1cHBvcnQuICBEbyBub3QgcmVtb3ZlIGlzYSwgZXZlbiBpZiB5b3Ug
aGF2ZSBubyBpc2Egc2xvdHMKZGV2aWNlCQlpc2EKZGV2aWNlCQllaXNhCmRldmljZQkJcGNpCgoj
IEZsb3BweSBkcml2ZXMKZGV2aWNlCQlmZGMKCiMgQVRBIGFuZCBBVEFQSSBkZXZpY2VzCmRldmlj
ZQkJYXRhCmRldmljZQkJYXRhZGlzawkJIyBBVEEgZGlzayBkcml2ZXMKZGV2aWNlCQlhdGFyYWlk
CQkjIEFUQSBSQUlEIGRyaXZlcwpkZXZpY2UJCWF0YXBpY2QJCSMgQVRBUEkgQ0RST00gZHJpdmVz
CmRldmljZQkJYXRhcGlmZAkJIyBBVEFQSSBmbG9wcHkgZHJpdmVzCmRldmljZQkJYXRhcGlzdAkJ
IyBBVEFQSSB0YXBlIGRyaXZlcwpvcHRpb25zIAlBVEFfU1RBVElDX0lECSMgU3RhdGljIGRldmlj
ZSBudW1iZXJpbmcKCiMgU0NTSSBDb250cm9sbGVycwojZGV2aWNlCQlhaGIJCSMgRUlTQSBBSEEx
NzQyIGZhbWlseQojZGV2aWNlCQlhaGMJCSMgQUhBMjk0MCBhbmQgb25ib2FyZCBBSUM3eHh4IGRl
dmljZXMKI2RldmljZQkJYWhkCQkjIEFIQTM5MzIwLzI5MzIwIGFuZCBvbmJvYXJkIEFJQzc5eHgg
ZGV2aWNlcwojZGV2aWNlCQlhbWQJCSMgQU1EIDUzQzk3NCAoVGVrcmFtIERDLTM5MChUKSkKI2Rl
dmljZQkJaXNwCQkjIFFsb2dpYyBmYW1pbHkKI2RldmljZSAJaXNwZncJCSMgRmlybXdhcmUgZm9y
IFFMb2dpYyBIQkFzLSBub3JtYWxseSBhIG1vZHVsZQojZGV2aWNlCQltcHQJCSMgTFNJLUxvZ2lj
IE1QVC1GdXNpb24KI2RldmljZQkJbmNyCQkjIE5DUi9TeW1iaW9zIExvZ2ljCiNkZXZpY2UJCXN5
bQkJIyBOQ1IvU3ltYmlvcyBMb2dpYyAobmV3ZXIgY2hpcHNldHMgKyB0aG9zZSBvZiBgbmNyJykK
I2RldmljZQkJdHJtCQkjIFRla3JhbSBEQzM5NVUvVVcvRiBEQzMxNVUgYWRhcHRlcnMKCiNkZXZp
Y2UJCWFkdgkJIyBBZHZhbnN5cyBTQ1NJIGFkYXB0ZXJzCiNkZXZpY2UJCWFkdwkJIyBBZHZhbnN5
cyB3aWRlIFNDU0kgYWRhcHRlcnMKI2RldmljZQkJYWhhCQkjIEFkYXB0ZWMgMTU0eCBTQ1NJIGFk
YXB0ZXJzCiNkZXZpY2UJCWFpYwkJIyBBZGFwdGVjIDE1WzAxMl14IFNDU0kgYWRhcHRlcnMsIEFJ
Qy02WzIzXTYwLgojZGV2aWNlCQlidAkJIyBCdXNsb2dpYy9NeWxleCBNdWx0aU1hc3RlciBTQ1NJ
IGFkYXB0ZXJzCgojZGV2aWNlCQluY3YJCSMgTkNSIDUzQzUwMAojZGV2aWNlCQluc3AJCSMgV29y
a2JpdCBOaW5qYSBTQ1NJLTMKI2RldmljZQkJc3RnCQkjIFRNQyAxOEMzMC8xOEM1MAoKIyBTQ1NJ
IHBlcmlwaGVyYWxzCmRldmljZQkJc2NidXMJCSMgU0NTSSBidXMgKHJlcXVpcmVkIGZvciBTQ1NJ
KQpkZXZpY2UJCWNoCQkjIFNDU0kgbWVkaWEgY2hhbmdlcnMKZGV2aWNlCQlkYQkJIyBEaXJlY3Qg
QWNjZXNzIChkaXNrcykKZGV2aWNlCQlzYQkJIyBTZXF1ZW50aWFsIEFjY2VzcyAodGFwZSBldGMp
CmRldmljZQkJY2QJCSMgQ0QKZGV2aWNlCQlwYXNzCQkjIFBhc3N0aHJvdWdoIGRldmljZSAoZGly
ZWN0IFNDU0kgYWNjZXNzKQpkZXZpY2UJCXNlcwkJIyBTQ1NJIEVudmlyb25tZW50YWwgU2Vydmlj
ZXMgKGFuZCBTQUYtVEUpCgpkZXZpY2UJCWF0YXBpY2FtCSNTQ1NJIGhvc3RhZHBhdGVyIGVtdWxh
dGlvbgoKIyBSQUlEIGNvbnRyb2xsZXJzIGludGVyZmFjZWQgdG8gdGhlIFNDU0kgc3Vic3lzdGVt
CiNkZXZpY2UJCWFtcgkJIyBBTUkgTWVnYVJBSUQKI2RldmljZQkJYXJjbXNyCQkjIEFyZWNhIFNB
VEEgSUkgUkFJRAojZGV2aWNlCQlhc3IJCSMgRFBUIFNtYXJ0UkFJRCBWLCBWSSBhbmQgQWRhcHRl
YyBTQ1NJIFJBSUQKI2RldmljZQkJY2lzcwkJIyBDb21wYXEgU21hcnQgUkFJRCA1KgojZGV2aWNl
CQlkcHQJCSMgRFBUIFNtYXJ0Y2FjaGUgSUlJLCBJViAtIFNlZSBOT1RFUyBmb3Igb3B0aW9ucwoj
ZGV2aWNlCQlocHRtdgkJIyBIaWdocG9pbnQgUm9ja2V0UkFJRCAxODJ4CiNkZXZpY2UJCWlpcgkJ
IyBJbnRlbCBJbnRlZ3JhdGVkIFJBSUQKI2RldmljZQkJaXBzCQkjIElCTSAoQWRhcHRlYykgU2Vy
dmVSQUlECiNkZXZpY2UJCW1seQkJIyBNeWxleCBBY2NlbGVSQUlEL2VYdHJlbWVSQUlECiNkZXZp
Y2UJCXR3YQkJIyAzd2FyZSA5MDAwIHNlcmllcyBQQVRBL1NBVEEgUkFJRAoKIyBSQUlEIGNvbnRy
b2xsZXJzCiNkZXZpY2UJCWFhYwkJIyBBZGFwdGVjIEZTQSBSQUlECiNkZXZpY2UJCWFhY3AJCSMg
U0NTSSBwYXNzdGhyb3VnaCBmb3IgYWFjIChyZXF1aXJlcyBDQU0pCiNkZXZpY2UJCWlkYQkJIyBD
b21wYXEgU21hcnQgUkFJRAojZGV2aWNlCQltbHgJCSMgTXlsZXggREFDOTYwIGZhbWlseQojZGV2
aWNlCQlwc3QJCSMgUHJvbWlzZSBTdXBlcnRyYWsgU1g2MDAwCiNkZXZpY2UJCXR3ZQkJIyAzd2Fy
ZSBBVEEgUkFJRAoKIyBhdGtiZGMwIGNvbnRyb2xzIGJvdGggdGhlIGtleWJvYXJkIGFuZCB0aGUg
UFMvMiBtb3VzZQpkZXZpY2UJCWF0a2JkYwkJIyBBVCBrZXlib2FyZCBjb250cm9sbGVyCmRldmlj
ZQkJYXRrYmQJCSMgQVQga2V5Ym9hcmQKZGV2aWNlCQlwc20JCSMgUFMvMiBtb3VzZQoKZGV2aWNl
CQl2Z2EJCSMgVkdBIHZpZGVvIGNhcmQgZHJpdmVyCgpkZXZpY2UJCXNwbGFzaAkJIyBTcGxhc2gg
c2NyZWVuIGFuZCBzY3JlZW4gc2F2ZXIgc3VwcG9ydAoKIyBzeXNjb25zIGlzIHRoZSBkZWZhdWx0
IGNvbnNvbGUgZHJpdmVyLCByZXNlbWJsaW5nIGFuIFNDTyBjb25zb2xlCmRldmljZQkJc2MKCiMg
RW5hYmxlIHRoaXMgZm9yIHRoZSBwY3Z0IChWVDIyMCBjb21wYXRpYmxlKSBjb25zb2xlIGRyaXZl
cgojZGV2aWNlCQl2dAojb3B0aW9ucyAJWFNFUlZFUgkJIyBzdXBwb3J0IGZvciBYIHNlcnZlciBv
biBhIHZ0IGNvbnNvbGUKI29wdGlvbnMgCUZBVF9DVVJTT1IJIyBzdGFydCB3aXRoIGJsb2NrIGN1
cnNvcgoKZGV2aWNlCQlhZ3AJCSMgc3VwcG9ydCBzZXZlcmFsIEFHUCBjaGlwc2V0cwoKIyBGbG9h
dGluZyBwb2ludCBzdXBwb3J0IC0gZG8gbm90IGRpc2FibGUuCmRldmljZQkJbnB4CgojIFBvd2Vy
IG1hbmFnZW1lbnQgc3VwcG9ydCAoc2VlIE5PVEVTIGZvciBtb3JlIG9wdGlvbnMpCiNkZXZpY2UJ
CWFwbQojIEFkZCBzdXNwZW5kL3Jlc3VtZSBzdXBwb3J0IGZvciB0aGUgaTgyNTQuCmRldmljZQkJ
cG10aW1lcgoKIyBQQ0NBUkQgKFBDTUNJQSkgc3VwcG9ydAojIFBDTUNJQSBhbmQgY2FyZGJ1cyBi
cmlkZ2Ugc3VwcG9ydAojZGV2aWNlCQljYmIJCSMgY2FyZGJ1cyAoeWVudGEpIGJyaWRnZQojZGV2
aWNlCQlwY2NhcmQJCSMgUEMgQ2FyZCAoMTYtYml0KSBidXMKI2RldmljZQkJY2FyZGJ1cwkJIyBD
YXJkQnVzICgzMi1iaXQpIGJ1cwoKIyBTZXJpYWwgKENPTSkgcG9ydHMKZGV2aWNlCQlzaW8JCSMg
ODI1MCwgMTZbNDVdNTAgYmFzZWQgc2VyaWFsIHBvcnRzCgojIFBhcmFsbGVsIHBvcnQKZGV2aWNl
CQlwcGMKZGV2aWNlCQlwcGJ1cwkJIyBQYXJhbGxlbCBwb3J0IGJ1cyAocmVxdWlyZWQpCmRldmlj
ZQkJbHB0CQkjIFByaW50ZXIKZGV2aWNlCQlwbGlwCQkjIFRDUC9JUCBvdmVyIHBhcmFsbGVsCmRl
dmljZQkJcHBpCQkjIFBhcmFsbGVsIHBvcnQgaW50ZXJmYWNlIGRldmljZQojZGV2aWNlCQl2cG8J
CSMgUmVxdWlyZXMgc2NidXMgYW5kIGRhCgojIElmIHlvdSd2ZSBnb3QgYSAiZHVtYiIgc2VyaWFs
IG9yIHBhcmFsbGVsIFBDSSBjYXJkIHRoYXQgaXMKIyBzdXBwb3J0ZWQgYnkgdGhlIHB1Yyg0KSBn
bHVlIGRyaXZlciwgdW5jb21tZW50IHRoZSBmb2xsb3dpbmcKIyBsaW5lIHRvIGVuYWJsZSBpdCAo
Y29ubmVjdHMgdG8gdGhlIHNpbyBhbmQvb3IgcHBjIGRyaXZlcnMpOgojZGV2aWNlCQlwdWMKCiMg
UENJIEV0aGVybmV0IE5JQ3MuCiNkZXZpY2UJCWRlCQkjIERFQy9JbnRlbCBEQzIxeDR4IChgYFR1
bGlwJycpCiNkZXZpY2UJCWVtCQkjIEludGVsIFBSTy8xMDAwIGFkYXB0ZXIgR2lnYWJpdCBFdGhl
cm5ldCBDYXJkCiNkZXZpY2UJCWl4Z2IJCSMgSW50ZWwgUFJPLzEwR2JFIEV0aGVybmV0IENhcmQK
I2RldmljZQkJdHhwCQkjIDNDb20gM2NSOTkwIChgYFR5cGhvb24nJykKI2RldmljZQkJdngJCSMg
M0NvbSAzYzU5MCwgM2M1OTUgKGBgVm9ydGV4JycpCgojIFBDSSBFdGhlcm5ldCBOSUNzIHRoYXQg
dXNlIHRoZSBjb21tb24gTUlJIGJ1cyBjb250cm9sbGVyIGNvZGUuCiMgTk9URTogQmUgc3VyZSB0
byBrZWVwIHRoZSAnZGV2aWNlIG1paWJ1cycgbGluZSBpbiBvcmRlciB0byB1c2UgdGhlc2UgTklD
cyEKZGV2aWNlCQltaWlidXMJCSMgTUlJIGJ1cyBzdXBwb3J0CiNkZXZpY2UJCWJmZQkJIyBCcm9h
ZGNvbSBCQ000NDB4IDEwLzEwMCBFdGhlcm5ldAojZGV2aWNlCQliZ2UJCSMgQnJvYWRjb20gQkNN
NTcweHggR2lnYWJpdCBFdGhlcm5ldAojZGV2aWNlCQlkYwkJIyBERUMvSW50ZWwgMjExNDMgYW5k
IHZhcmlvdXMgd29ya2FsaWtlcwojZGV2aWNlCQlmeHAJCSMgSW50ZWwgRXRoZXJFeHByZXNzIFBS
Ty8xMDBCICg4MjU1NywgODI1NTgpCiNkZXZpY2UJCWxnZQkJIyBMZXZlbCAxIExYVDEwMDEgZ2ln
YWJpdCBFdGhlcm5ldAojZGV2aWNlCQluZ2UJCSMgTmF0U2VtaSBEUDgzODIwIGdpZ2FiaXQgRXRo
ZXJuZXQKI2RldmljZQkJbnZlCQkjIG5WaWRpYSBuRm9yY2UgTUNQIG9uLWJvYXJkIEV0aGVybmV0
IE5ldHdvcmtpbmcKI2RldmljZQkJcGNuCQkjIEFNRCBBbTc5Qzk3eCBQQ0kgMTAvMTAwKHByZWNl
ZGVuY2Ugb3ZlciAnbG5jJykKI2RldmljZQkJcmUJCSMgUmVhbFRlayA4MTM5QysvODE2OS84MTY5
Uy84MTEwUwpkZXZpY2UJCXJsCQkjIFJlYWxUZWsgODEyOS84MTM5CiNkZXZpY2UJCXNmCQkjIEFk
YXB0ZWMgQUlDLTY5MTUgKGBgU3RhcmZpcmUnJykKI2RldmljZQkJc2lzCQkjIFNpbGljb24gSW50
ZWdyYXRlZCBTeXN0ZW1zIFNpUyA5MDAvU2lTIDcwMTYKI2RldmljZQkJc2sJCSMgU3lzS29ubmVj
dCBTSy05ODR4ICYgU0stOTgyeCBnaWdhYml0IEV0aGVybmV0CiNkZXZpY2UJCXN0ZQkJIyBTdW5k
YW5jZSBTVDIwMSAoRC1MaW5rIERGRS01NTBUWCkKI2RldmljZQkJdGkJCSMgQWx0ZW9uIE5ldHdv
cmtzIFRpZ29uIEkvSUkgZ2lnYWJpdCBFdGhlcm5ldAojZGV2aWNlCQl0bAkJIyBUZXhhcyBJbnN0
cnVtZW50cyBUaHVuZGVyTEFOCiNkZXZpY2UJCXR4CQkjIFNNQyBFdGhlclBvd2VyIElJICg4M2Mx
NzAgYGBFUElDJycpCiNkZXZpY2UJCXZnZQkJIyBWSUEgVlQ2MTJ4IGdpZ2FiaXQgRXRoZXJuZXQK
I2RldmljZQkJdnIJCSMgVklBIFJoaW5lLCBSaGluZSBJSQojZGV2aWNlCQl3YgkJIyBXaW5ib25k
IFc4OUM4NDBGCiNkZXZpY2UJCXhsCQkjIDNDb20gM2M5MHggKGBgQm9vbWVyYW5nJycsIGBgQ3lj
bG9uZScnKQoKIyBJU0EgRXRoZXJuZXQgTklDcy4gIHBjY2FyZCBOSUNzIGluY2x1ZGVkLgojZGV2
aWNlCQljcwkJIyBDcnlzdGFsIFNlbWljb25kdWN0b3IgQ1M4OXgwIE5JQwojICdkZXZpY2UgZWQn
IHJlcXVpcmVzICdkZXZpY2UgbWlpYnVzJwojZGV2aWNlCQllZAkJIyBORVsxMl0wMDAsIFNNQyBV
bHRyYSwgM2M1MDMsIERTODM5MCBjYXJkcwojZGV2aWNlCQlleAkJIyBJbnRlbCBFdGhlckV4cHJl
c3MgUHJvLzEwIGFuZCBQcm8vMTArCiNkZXZpY2UJCWVwCQkjIEV0aGVybGluayBJSUkgYmFzZWQg
Y2FyZHMKI2RldmljZQkJZmUJCSMgRnVqaXRzdSBNQjg2OTZ4IGJhc2VkIGNhcmRzCiNkZXZpY2UJ
CWllCQkjIEV0aGVyRXhwcmVzcyA4LzE2LCAzQzUwNywgU3RhckxBTiAxMCBldGMuCiNkZXZpY2UJ
CWxuYwkJIyBORTIxMDAsIE5FMzItVkwgTGFuY2UgRXRoZXJuZXQgY2FyZHMKI2RldmljZQkJc24J
CSMgU01DJ3MgOTAwMCBzZXJpZXMgb2YgRXRoZXJuZXQgY2hpcHMKI2RldmljZQkJeGUJCSMgWGly
Y29tIHBjY2FyZCBFdGhlcm5ldAoKIyBJU0EgZGV2aWNlcyB0aGF0IHVzZSB0aGUgb2xkIElTQSBz
aGltcwojZGV2aWNlCQlsZQoKIyBXaXJlbGVzcyBOSUMgY2FyZHMKI2RldmljZQkJd2xhbgkJIyA4
MDIuMTEgc3VwcG9ydAojZGV2aWNlCQlhbgkJIyBBaXJvbmV0IDQ1MDAvNDgwMCA4MDIuMTEgd2ly
ZWxlc3MgTklDcy4KI2RldmljZQkJYXdpCQkjIEJheVN0YWNrIDY2MCBhbmQgb3RoZXJzCiNkZXZp
Y2UJCXJhbAkJIyBSYWxpbmsgVGVjaG5vbG9neSBSVDI1MDAgd2lyZWxlc3MgTklDcy4KI2Rldmlj
ZQkJd2kJCSMgV2F2ZUxBTi9JbnRlcnNpbC9TeW1ib2wgODAyLjExIHdpcmVsZXNzIE5JQ3MuCiNk
ZXZpY2UJCXdsCQkjIE9sZGVyIG5vbiA4MDIuMTEgV2F2ZWxhbiB3aXJlbGVzcyBOSUMuCgojIFBz
ZXVkbyBkZXZpY2VzLgpkZXZpY2UJCWxvb3AJCSMgTmV0d29yayBsb29wYmFjawpkZXZpY2UJCW1l
bQkJIyBNZW1vcnkgYW5kIGtlcm5lbCBtZW1vcnkgZGV2aWNlcwpkZXZpY2UJCWlvCQkjIEkvTyBk
ZXZpY2UKZGV2aWNlCQlyYW5kb20JCSMgRW50cm9weSBkZXZpY2UKZGV2aWNlCQlldGhlcgkJIyBF
dGhlcm5ldCBzdXBwb3J0CiNkZXZpY2UJCXNsCQkjIEtlcm5lbCBTTElQCiNkZXZpY2UJCXBwcAkJ
IyBLZXJuZWwgUFBQCmRldmljZQkJdHVuCQkjIFBhY2tldCB0dW5uZWwuCmRldmljZQkJcHR5CQkj
IFBzZXVkby10dHlzICh0ZWxuZXQgZXRjKQpkZXZpY2UJCW1kCQkjIE1lbW9yeSAiZGlza3MiCmRl
dmljZQkJZ2lmCQkjIElQdjYgYW5kIElQdjQgdHVubmVsaW5nCmRldmljZQkJZmFpdGgJCSMgSVB2
Ni10by1JUHY0IHJlbGF5aW5nICh0cmFuc2xhdGlvbikKCiMgVGhlIGBicGYnIGRldmljZSBlbmFi
bGVzIHRoZSBCZXJrZWxleSBQYWNrZXQgRmlsdGVyLgojIEJlIGF3YXJlIG9mIHRoZSBhZG1pbmlz
dHJhdGl2ZSBjb25zZXF1ZW5jZXMgb2YgZW5hYmxpbmcgdGhpcyEKIyBOb3RlIHRoYXQgJ2JwZicg
aXMgcmVxdWlyZWQgZm9yIERIQ1AuCmRldmljZQkJYnBmCQkjIEJlcmtlbGV5IHBhY2tldCBmaWx0
ZXIKCiMgVVNCIHN1cHBvcnQKZGV2aWNlCQl1aGNpCQkjIFVIQ0kgUENJLT5VU0IgaW50ZXJmYWNl
CmRldmljZQkJb2hjaQkJIyBPSENJIFBDSS0+VVNCIGludGVyZmFjZQpkZXZpY2UJCWVoY2kJCSMg
RUhDSSBQQ0ktPlVTQiBpbnRlcmZhY2UgKFVTQiAyLjApCmRldmljZQkJdXNiCQkjIFVTQiBCdXMg
KHJlcXVpcmVkKQojZGV2aWNlCQl1ZGJwCQkjIFVTQiBEb3VibGUgQnVsayBQaXBlIGRldmljZXMK
ZGV2aWNlCQl1Z2VuCQkjIEdlbmVyaWMKZGV2aWNlCQl1aGlkCQkjICJIdW1hbiBJbnRlcmZhY2Ug
RGV2aWNlcyIKZGV2aWNlCQl1a2JkCQkjIEtleWJvYXJkCmRldmljZQkJdWxwdAkJIyBQcmludGVy
CmRldmljZQkJdW1hc3MJCSMgRGlza3MvTWFzcyBzdG9yYWdlIC0gUmVxdWlyZXMgc2NidXMgYW5k
IGRhCmRldmljZQkJdW1zCQkjIE1vdXNlCiNkZXZpY2UJCXVyYWwJCSMgUmFsaW5rIFRlY2hub2xv
Z3kgUlQyNTAwVVNCIHdpcmVsZXNzIE5JQ3MKI2RldmljZQkJdXJpbwkJIyBEaWFtb25kIFJpbyA1
MDAgTVAzIHBsYXllcgpkZXZpY2UJCXVzY2FubmVyCSMgU2Nhbm5lcnMKIyBVU0IgRXRoZXJuZXQs
IHJlcXVpcmVzIG1paWJ1cwojZGV2aWNlCQlhdWUJCSMgQURNdGVrIFVTQiBFdGhlcm5ldAojZGV2
aWNlCQlheGUJCSMgQVNJWCBFbGVjdHJvbmljcyBVU0IgRXRoZXJuZXQKI2RldmljZQkJY2RjZQkJ
IyBHZW5lcmljIFVTQiBvdmVyIEV0aGVybmV0CiNkZXZpY2UJCWN1ZQkJIyBDQVRDIFVTQiBFdGhl
cm5ldAojZGV2aWNlCQlrdWUJCSMgS2F3YXNha2kgTFNJIFVTQiBFdGhlcm5ldAojZGV2aWNlCQly
dWUJCSMgUmVhbFRlayBSVEw4MTUwIFVTQiBFdGhlcm5ldAoKIyBGaXJlV2lyZSBzdXBwb3J0CiNk
ZXZpY2UJCWZpcmV3aXJlCSMgRmlyZVdpcmUgYnVzIGNvZGUKI2RldmljZQkJc2JwCQkjIFNDU0kg
b3ZlciBGaXJlV2lyZSAoUmVxdWlyZXMgc2NidXMgYW5kIGRhKQojZGV2aWNlCQlmd2UJCSMgRXRo
ZXJuZXQgb3ZlciBGaXJlV2lyZSAobm9uLXN0YW5kYXJkISkK

--Multipart_Sun__21_Aug_2005_15_01_25_+0200_0SWFA.t7.WwyKyZ7--

--Signature_Sun__21_Aug_2005_15_01_25_+0200_rzdJa2H1DDV01GOK
Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (FreeBSD)

iD8DBQFDCHsrdZ+2F8NdKu4RAjyYAKDqNUxz3qdCQMx6GzpeUqJz5a0PQACfWKwd
1fXfggj9hI+rlT9ZSKHjYXQ=
=I+rh
-----END PGP SIGNATURE-----

--Signature_Sun__21_Aug_2005_15_01_25_+0200_rzdJa2H1DDV01GOK--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20050821150125.56f992e0>