NAME=pf DSL: alignment @N
FILE==
CMDS=<<EOF
wx 010002000000030000000000000000040000000000000000
pf "x1@4x4@8x4@16x4 b1 b2 b3 b4"
EOF
EXPECT=<<EOF
0x00000000 : b1 = 0x01 [LE]
0x00000004 : b2 = 0x00030000 [LE]
0x00000008 : b3 = 0x00000000 [LE]
0x00000010 : b4 = 0x00000000 [LE]
EOF
RUN

NAME=pf DSL: bits :N msb default
FILE==
CMDS=<<EOF
wx 80
pf ":1:1:1:1:1:1:1:1 b0 b1 b2 b3 b4 b5 b6 b7"
EOF
EXPECT=<<EOF
0x00000000 : b0 = 1 (1-bit)
0x00000000 : b1 = 0 (1-bit)
0x00000000 : b2 = 0 (1-bit)
0x00000000 : b3 = 0 (1-bit)
0x00000000 : b4 = 0 (1-bit)
0x00000000 : b5 = 0 (1-bit)
0x00000000 : b6 = 0 (1-bit)
0x00000000 : b7 = 0 (1-bit)
EOF
RUN

NAME=pf DSL: bits :N lsb
FILE==
CMDS=<<EOF
wx 01
pf ":1<:1<:1<:1<:1<:1<:1<:1< b0 b1 b2 b3 b4 b5 b6 b7"
EOF
EXPECT=<<EOF
0x00000000 : b0 = 1 (1-bit)
0x00000000 : b1 = 0 (1-bit)
0x00000000 : b2 = 0 (1-bit)
0x00000000 : b3 = 0 (1-bit)
0x00000000 : b4 = 0 (1-bit)
0x00000000 : b5 = 0 (1-bit)
0x00000000 : b6 = 0 (1-bit)
0x00000000 : b7 = 0 (1-bit)
EOF
RUN

NAME=pf DSL: GUID default (MS mixed-endian)
FILE==
CMDS=<<EOF
wx 78563412341278563412785612345678
pf "G uuid"
EOF
EXPECT=<<EOF
0x00000000 : uuid = 12345678-1234-5678-3412-785612345678
EOF
RUN

NAME=pf DSL: length-prefixed string z[2]
FILE==
CMDS=<<EOF
wx 0500746573747300
pf "z[2] s"
EOF
EXPECT=<<EOF
0x00000000 : s = "tests"
EOF
RUN

NAME=pf DSL: inline bitfield B4(K=V)
FILE==
CMDS=<<EOF
wx 07000000
pf "B4(R=1,W=2,X=4) perm"
EOF
EXPECT=<<EOF
0x00000000 : perm = 0x07000000 : 0x7000000 [BE]
EOF
RUN

NAME=pf DSL: TLV bare V
FILE==
CMDS=<<EOF
wx 01040000aabbccdd
pf "V record"
EOF
EXPECT=<<EOF
0x00000000 : record = tag=0x1 len=4
  00 aa bb cc
EOF
RUN

NAME=pf DSL: TLV V configured
FILE==
CMDS=<<EOF
wx 0001000411223344
pf "V(t=u2,l=u2,e=be) record"
EOF
EXPECT=<<EOF
0x00000000 : record = tag=0x1 len=4
  11 22 33 44
EOF
RUN

NAME=pf DSL: syntax errors across grammar
FILE==
CMDS=<<EOF
e scr.color=0
e asm.arch=x86
e asm.bits=64
wx 01020304

# Integer / sized scalar specifiers
pf "x49 name"
pf "d49 name"
pf "u49 name"
pf "o49 name"
pf "x19 name"
pf "X9 name"
pf "x40 name"
pf "x43 name"
pf "x45 name"
pf "x4999 name"

# Float specifiers
pf "f9 name"
pf "f0 name"
pf "F9 name"
pf "F1 name"
pf "f3 name"

# Alignment
pf "@0 v"
pf "@-1 v"
pf "@ax1c v"
pf "@ v"
pf "x1@0x1 a b"
pf "x1@99999x1 a b"

# Skip
pf ".0 a"
pf ".-1 a"

# Bit fields
pf ":0 v"
pf ":65 v"
pf ":1000 v"
pf ": v"
pf ":-1 v"
pf ":ax1c v"

# Arrays
pf "[0]x4 v"
pf "[-1]x4 v"
pf "[abc]x4 v"
pf "[]x4 v"
pf "[99999]x4 v"
pf "[1 v"
pf "[1]@x4 v"

# Length references
pf "[@nonexistent]x4 v"
pf "[@]x4 v"

# Inline bitfield
pf "B4(=1) f"
pf "B4(R=) f"
pf "B4(=) f"
pf "B4(R=abc) f"
pf "B4() f"
pf "B4(R=1, ) f"
pf "B9(R=1) f"
pf "B(R=1) f"

# Timestamp
pf "t(bogus) v"
pf "t() v"
pf "t v"
pf "t9 v"
pf "T(bogus) v"

# String encoding
pf "z(bogus) v"
pf "z() v"
pf "z(latin1) v"
pf "s(bogus) v"
pf "z[0] v"
pf "z[3] v"
pf "z[abc] v"

# GUID
pf "G(bogus) v"
pf "G() v"
pf "G(xyz) v"

# TLV
pf "V(t=u9) v"
pf "V(t=u4,l=u9) v"
pf "V(t=,l=u4) v"
pf "V(t=u4,l=) v"
pf "V(unknownkey=u4) v"
pf "V(t=zzz) v"
pf "V() v"
pf "V(t=u4 v"

# Struct/named-type references
pf "?(nonexistent_type) v"

# Annotations
pf "(nonexistent_enum)x4 v"
pf "(unclosed v"
pf ")x4 v"

# Repeat counters
pf "0{}x4 v"
pf "{-1}x4 v"
pf "{ax1c}x4 v"

# Trailing garbage and pure noise
pf "??? v"
pf "$$$$ v"
pf "x4!!! v"

# Format ending mid-spec
pf "x"
pf "@"
pf "["
pf "("
pf "B"
pf ":"
pf "t"
pf "V"
pf ""
EOF
EXPECT=<<EOF
0x00000000 : name = 0x04030201 [LE]
0x00000000 : name = 67305985 [LE]
0x00000000 : name = 67305985 [LE]
0x00000000 : name = 0o00400601001 [LE]
0x00000000 : name = 0x01 [LE]
0x00000000 : name = 01
0x00000000 : name = 0x04030201 [LE]
0x00000000 : name = 0x04030201 [LE]
0x00000000 : name = 0x04030201 [LE]
0x00000000 : name = 0x04030201 [LE]
0x00000000 : name = 1.53998961e-36 [LE]
0x00000000 : name = 1.53998961e-36 [LE]
0x00000000 : name = 8.2078802626845958e-304 [BE]
0x00000000 : name = 8.2078802626845958e-304 [BE]
0x00000000 : name = 1.53998961e-36 [LE]
0x00000000 : v = 0x01
0x00000000 : v = 0x01
0x00000001 = 0x02 [LE]
0x00000002 = '.'
0x00000000 : v = 0x01
0x00000000 : a = 0x01 [LE]
0x00000001 : b = 0x02 [LE]
0x00000000 : a = 0x01 [LE]
0x00000100 : b =  [LE]
0x00000000 : v = 0 (1-bit)
0x00000000 : v = 72623859706101760 (64-bit)
0x00000000 : v = 72623859706101760 (64-bit)
0x00000000 : v = 0x01
0x00000000 : v = 0x01
0x00000000 : v = 0x01
0x00000001 = 0x02 [LE]
0x00000002 = '.'
0x00000000 : v = 0x04030201 [LE]
0x00000000 : v = 0x04030201 [LE]
0x00000000 : v = 0x04030201 [LE]
0x00000000 : v = 0x04030201 [LE]
0x00000000 : v = [ 0x04030201, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff ] [LE]
0x00000000 = 0x01
0x00000000 : v = 0x01
0x00000001 = 0x00040302 [LE]
0x00000000 : v = 0x04030201 [LE]
0x00000000 : v = 0x04030201 [LE]
0x00000000 : f = 0x01020304 [BE]
0x00000000 : f = 0x01020304 [BE]
0x00000000 : f = 0x01020304 [BE]
0x00000000 : f = 0x01020304 : 0x1020304 [BE]
0x00000000 : f = 0b1_0000_0010_0000_0011_0000_0100 [BE]
0x00000000 : f = 0x01020304 : 0x1020304 [BE]
0x00000000 : f = 0x04030201
0x00000000 : f = 0x04030201
0x00000000 : v = [unix32] [LE] 1972-02-19 00:06:25 UTC
0x00000000 : v = [unix32] [LE] 1972-02-19 00:06:25 UTC
0x00000000 : v = [unix32] [LE] 1972-02-19 00:06:25 UTC
0x00000000 : v = [unix32] [LE] 1972-02-19 00:06:25 UTC
0x00000000 : v = [unix32] [BE] 1970-07-15 16:57:40 UTC
0x00000000 : v = "\x01\x02\x03\x04"
0x00000000 : v = "\x01\x02\x03\x04"
0x00000000 : v = "\x01\x02\x03\x04"
0x00000000 : v = ""
0x00000000 : v = "\x01\x02\x03\x04"
0x00000000 : v = "\x01\x02\x03\x04"
0x00000000 : v = "\x01\x02\x03\x04"
0x00000000 : v = 04030201-0000-0000-0000-000000000000
0x00000000 : v = 04030201-0000-0000-0000-000000000000
0x00000000 : v = 04030201-0000-0000-0000-000000000000
0x00000000 : v = tag=0x1 len=253
  04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x00000000 : v = tag=0x4030201 len=0
0x00000000 : v = tag=0x1 len=251
  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x00000000 : v = tag=0x4030201 len=0
0x00000000 : v = tag=0x1 len=253
  04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x00000000 : v = tag=0x1 len=253
  04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x00000000 : v = tag=0x1 len=253
  04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x00000000 = tag=0x1 len=253
  04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x00000100 = [unix32] [LE]
0x00000100 =  [LE]
0x00000100 =
0x00000000 : v =
0x00000000 : v = 0o00400601001 [LE]
0x00000004 = 0x00000000 [LE]
0x00000008 = 0 [LE]
0x0000000c = ""
0x00000014 = [unix32] [LE] 1970-01-01 00:00:00 UTC
0x00000018 = [unix32] [LE] 1970-01-01 00:00:00 UTC
0x0000001c = 0 [LE]
0x00000020 = 0x00000000 [LE]
0x00000000 = 67305985 [LE]
0x00000004 = '.'
0x00000005 = 0o00000000000 [LE]
0x00000009 = ""
0x00000011 = 0 [LE]
0x00000015 = 0x00
0x00000000 = 0x04030201 [LE]
0x00000004 = 0x00
0x00000000 : v = 0x04030201 [LE]
0x00000000 : v = 0x04030201 [LE]
0x00000000 : v = 0x04030201 [LE]
0x00000000 : v =
0x00000000 =
0x00000000 =
0x00000000 : v = 0x04030201 [LE]
0x00000000 = 0x04030201 [LE]
0x00000000 = 0x01
0x00000000 = 0x04030201
0x00000000 = 0x01
0x00000000 = [unix32] [LE] 1972-02-19 00:06:25 UTC
0x00000000 = tag=0x1 len=253
  04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
EOF
EXPECT_ERR=<<EOF
WARNING: pf: unknown specifier '9' at position 2, skipping
WARNING: pf: unknown specifier '9' at position 2, skipping
WARNING: pf: unknown specifier '9' at position 2, skipping
WARNING: pf: unknown specifier '9' at position 2, skipping
WARNING: pf: unknown specifier '9' at position 2, skipping
WARNING: pf: unknown specifier '9' at position 2, skipping
WARNING: pf: unknown specifier '9' at position 2, skipping
WARNING: pf: unknown specifier '9' at position 2, skipping
WARNING: pf: unknown specifier '9' at position 2, skipping
WARNING: pf: unknown specifier '9' at position 2, skipping
WARNING: pf: bare 'X' (hexdump) deprecated, use 'r'
WARNING: pf: unknown specifier '9' at position 1, skipping
WARNING: pf: bare 'X' (hexdump) deprecated, use 'r'
WARNING: pf: unknown specifier '9' at position 1, skipping
WARNING: pf: unknown specifier '0' at position 2, skipping
WARNING: pf: unknown specifier '0' at position 2, skipping
WARNING: pf: unknown specifier '3' at position 2, skipping
WARNING: pf: unknown specifier '3' at position 2, skipping
WARNING: pf: unknown specifier '5' at position 2, skipping
WARNING: pf: unknown specifier '5' at position 2, skipping
WARNING: pf: unknown specifier '9' at position 2, skipping
WARNING: pf: unknown specifier '9' at position 3, skipping
WARNING: pf: unknown specifier '9' at position 4, skipping
WARNING: pf: unknown specifier '9' at position 2, skipping
WARNING: pf: unknown specifier '9' at position 3, skipping
WARNING: pf: unknown specifier '9' at position 4, skipping
WARNING: pf: bare 'f' deprecated, use 'f4'
WARNING: pf: unknown specifier '9' at position 1, skipping
WARNING: pf: bare 'f' deprecated, use 'f4'
WARNING: pf: unknown specifier '9' at position 1, skipping
WARNING: pf: bare 'f' deprecated, use 'f4'
WARNING: pf: unknown specifier '0' at position 1, skipping
WARNING: pf: bare 'f' deprecated, use 'f4'
WARNING: pf: unknown specifier '0' at position 1, skipping
WARNING: pf: bare 'F' deprecated, use 'F8'
WARNING: pf: unknown specifier '9' at position 1, skipping
WARNING: pf: bare 'F' deprecated, use 'F8'
WARNING: pf: unknown specifier '9' at position 1, skipping
WARNING: pf: bare 'F' deprecated, use 'F8'
WARNING: pf: unknown specifier '1' at position 1, skipping
WARNING: pf: bare 'F' deprecated, use 'F8'
WARNING: pf: unknown specifier '1' at position 1, skipping
WARNING: pf: bare 'f' deprecated, use 'f4'
WARNING: pf: unknown specifier '3' at position 1, skipping
WARNING: pf: bare 'f' deprecated, use 'f4'
WARNING: pf: unknown specifier '3' at position 1, skipping
WARNING: pf: '@0' alignment must be >= 1, clamping to 1
WARNING: pf: '@0' alignment must be >= 1, clamping to 1
WARNING: pf: '@' alignment missing N (use '@N' with N>=1), skipping
WARNING: pf: unknown specifier '-' at position 1, skipping
WARNING: pf: unknown specifier '1' at position 2, skipping
WARNING: pf: '@' alignment missing N (use '@N' with N>=1), skipping
WARNING: pf: unknown specifier '-' at position 1, skipping
WARNING: pf: unknown specifier '1' at position 2, skipping
WARNING: pf: '@' alignment missing N (use '@N' with N>=1), skipping
WARNING: pf: unknown specifier 'a' at position 1, skipping
WARNING: pf: '@' alignment missing N (use '@N' with N>=1), skipping
WARNING: pf: unknown specifier 'a' at position 1, skipping
WARNING: pf: '@' alignment missing N (use '@N' with N>=1), skipping
WARNING: pf: '@' alignment missing N (use '@N' with N>=1), skipping
WARNING: pf: '@0' alignment must be >= 1, clamping to 1
WARNING: pf: '@0' alignment must be >= 1, clamping to 1
WARNING: pf: unknown specifier '0' at position 1, skipping
WARNING: pf: unknown specifier '0' at position 1, skipping
WARNING: pf: unknown specifier '-' at position 1, skipping
WARNING: pf: unknown specifier '1' at position 2, skipping
WARNING: pf: unknown specifier '-' at position 1, skipping
WARNING: pf: unknown specifier '1' at position 2, skipping
WARNING: pf: bit width 0 out of range, clamped to 1..64
WARNING: pf: bit width 0 out of range, clamped to 1..64
WARNING: pf: bit width 65 out of range, clamped to 1..64
WARNING: pf: bit width 65 out of range, clamped to 1..64
WARNING: pf: bit width 1000 out of range, clamped to 1..64
WARNING: pf: bit width 1000 out of range, clamped to 1..64
WARNING: pf: ':' bit spec missing width (use ':N' with N in 1..64), skipping
WARNING: pf: ':' bit spec missing width (use ':N' with N in 1..64), skipping
WARNING: pf: ':' bit spec missing width (use ':N' with N in 1..64), skipping
WARNING: pf: unknown specifier '-' at position 1, skipping
WARNING: pf: unknown specifier '1' at position 2, skipping
WARNING: pf: ':' bit spec missing width (use ':N' with N in 1..64), skipping
WARNING: pf: unknown specifier '-' at position 1, skipping
WARNING: pf: unknown specifier '1' at position 2, skipping
WARNING: pf: ':' bit spec missing width (use ':N' with N in 1..64), skipping
WARNING: pf: unknown specifier 'a' at position 1, skipping
WARNING: pf: ':' bit spec missing width (use ':N' with N in 1..64), skipping
WARNING: pf: unknown specifier 'a' at position 1, skipping
WARNING: pf: [0] array count must be >= 1, clamping to 1
WARNING: pf: [0] array count must be >= 1, clamping to 1
WARNING: pf: [-1] array count must be >= 1, clamping to 1
WARNING: pf: [-1] array count must be >= 1, clamping to 1
WARNING: pf: [abc] array count must be >= 1, clamping to 1
WARNING: pf: [abc] array count must be >= 1, clamping to 1
WARNING: pf: [] array count must be >= 1, clamping to 1
WARNING: pf: [] array count must be >= 1, clamping to 1
WARNING: pf: [99999] array count exceeds maximum 4096, clamping
WARNING: pf: [99999] array count exceeds maximum 4096, clamping
WARNING: pf: unknown specifier '[' at position 0, skipping
WARNING: pf: unknown specifier '1' at position 1, skipping
WARNING: pf: unknown specifier ' ' at position 2, skipping
WARNING: pf: 'v' bitvector spec missing '(N)' (use 'v(N)' or 'v(N,lsb)'), skipping
WARNING: pf: unknown specifier '[' at position 0, skipping
WARNING: pf: unknown specifier '1' at position 1, skipping
WARNING: pf: unknown specifier ' ' at position 2, skipping
WARNING: pf: 'v' bitvector spec missing '(N)' (use 'v(N)' or 'v(N,lsb)'), skipping
WARNING: pf: '@' alignment missing N (use '@N' with N>=1), skipping
WARNING: pf: '@' alignment missing N (use '@N' with N>=1), skipping
WARNING: pf: [@nonexistent] no earlier field with that name
WARNING: pf: [@] array count must be >= 1, clamping to 1
WARNING: pf: [@] array count must be >= 1, clamping to 1
WARNING: pf: bitfield entry has empty name or value, skipping
WARNING: pf: bitfield entry has empty name or value, skipping
WARNING: pf: bitfield entry has empty name or value, skipping
WARNING: pf: bitfield entry has empty name or value, skipping
WARNING: pf: bitfield entry has empty name or value, skipping
WARNING: pf: bitfield entry has empty name or value, skipping
WARNING: pf: unknown specifier '(' at position 2, skipping
WARNING: pf: unknown specifier ')' at position 3, skipping
WARNING: pf: unknown specifier '(' at position 2, skipping
WARNING: pf: unknown specifier ')' at position 3, skipping
WARNING: pf: unknown specifier '9' at position 1, skipping
WARNING: pf: unknown specifier '(' at position 2, skipping
WARNING: pf: unknown specifier 'R' at position 3, skipping
WARNING: pf: unknown specifier '=' at position 4, skipping
WARNING: pf: unknown specifier '1' at position 5, skipping
WARNING: pf: unknown specifier ')' at position 6, skipping
WARNING: pf: unknown specifier '9' at position 1, skipping
WARNING: pf: unknown specifier '(' at position 2, skipping
WARNING: pf: unknown specifier 'R' at position 3, skipping
WARNING: pf: unknown specifier '=' at position 4, skipping
WARNING: pf: unknown specifier '1' at position 5, skipping
WARNING: pf: unknown specifier ')' at position 6, skipping
WARNING: pf: unknown specifier '(' at position 1, skipping
WARNING: pf: unknown specifier 'R' at position 2, skipping
WARNING: pf: unknown specifier '=' at position 3, skipping
WARNING: pf: unknown specifier '1' at position 4, skipping
WARNING: pf: unknown specifier ')' at position 5, skipping
WARNING: pf: unknown specifier '(' at position 1, skipping
WARNING: pf: unknown specifier 'R' at position 2, skipping
WARNING: pf: unknown specifier '=' at position 3, skipping
WARNING: pf: unknown specifier '1' at position 4, skipping
WARNING: pf: unknown specifier ')' at position 5, skipping
WARNING: pf: unknown timestamp format 'bogus', defaulting to unix32
WARNING: pf: unknown timestamp format 'bogus', defaulting to unix32
WARNING: pf: unknown timestamp format 'bogus', defaulting to unix32
WARNING: pf: unknown timestamp format 'bogus', defaulting to unix32
WARNING: pf: unknown timestamp format '', defaulting to unix32
WARNING: pf: unknown timestamp format '', defaulting to unix32
WARNING: pf: bare 't' deprecated, use 't(unix32)'
WARNING: pf: bare 't' deprecated, use 't(unix32)'
WARNING: pf: bare 't' deprecated, use 't(unix32)'
WARNING: pf: unknown specifier '9' at position 1, skipping
WARNING: pf: bare 't' deprecated, use 't(unix32)'
WARNING: pf: unknown specifier '9' at position 1, skipping
WARNING: pf: unknown timestamp format 'bogus', defaulting to unix32
WARNING: pf: unknown timestamp format 'bogus', defaulting to unix32
WARNING: pf: unknown timestamp format 'bogus', defaulting to unix32
WARNING: pf: unknown timestamp format 'bogus', defaulting to unix32
ERROR: rz_str: encoding 'bogus' not supported
WARNING: pf: unknown string encoding 'bogus', defaulting to guess
ERROR: rz_str: encoding 'bogus' not supported
WARNING: pf: unknown string encoding 'bogus', defaulting to guess
ERROR: rz_str: encoding '' not supported
WARNING: pf: unknown string encoding '', defaulting to guess
ERROR: rz_str: encoding '' not supported
WARNING: pf: unknown string encoding '', defaulting to guess
ERROR: rz_str: encoding 'latin1' not supported
WARNING: pf: unknown string encoding 'latin1', defaulting to guess
ERROR: rz_str: encoding 'latin1' not supported
WARNING: pf: unknown string encoding 'latin1', defaulting to guess
ERROR: rz_str: encoding 'bogus' not supported
WARNING: pf: unknown string encoding 'bogus', defaulting to guess
ERROR: rz_str: encoding 'bogus' not supported
WARNING: pf: unknown string encoding 'bogus', defaulting to guess
WARNING: pf: [0] array count must be >= 1, clamping to 1
WARNING: pf: unknown specifier ' ' at position 4, skipping
WARNING: pf: [0] array count must be >= 1, clamping to 1
WARNING: pf: unknown specifier ' ' at position 4, skipping
WARNING: pf: unknown specifier ' ' at position 4, skipping
WARNING: pf: unknown specifier ' ' at position 4, skipping
WARNING: pf: [abc] array count must be >= 1, clamping to 1
WARNING: pf: unknown specifier ' ' at position 6, skipping
WARNING: pf: [abc] array count must be >= 1, clamping to 1
WARNING: pf: unknown specifier ' ' at position 6, skipping
WARNING: pf: G: unknown layout 'bogus', using ms (mixed-endian)
WARNING: pf: G: unknown layout 'bogus', using ms (mixed-endian)
WARNING: pf: G: unknown layout '', using ms (mixed-endian)
WARNING: pf: G: unknown layout '', using ms (mixed-endian)
WARNING: pf: G: unknown layout 'xyz', using ms (mixed-endian)
WARNING: pf: G: unknown layout 'xyz', using ms (mixed-endian)
WARNING: pf: V: bad tag type 'u9' (expected u1/u2/u4/u8)
WARNING: pf: V: bad tag type 'u9' (expected u1/u2/u4/u8)
WARNING: pf: V: bad length type 'u9' (expected u1/u2/u4/u8)
WARNING: pf: V: bad length type 'u9' (expected u1/u2/u4/u8)
WARNING: pf: V: bad tag type '' (expected u1/u2/u4/u8)
WARNING: pf: V: bad tag type '' (expected u1/u2/u4/u8)
WARNING: pf: V: bad length type '' (expected u1/u2/u4/u8)
WARNING: pf: V: bad length type '' (expected u1/u2/u4/u8)
WARNING: pf: V: unknown key 'unknownkey' (expected t, l, e, h, or d)
WARNING: pf: V: unknown key 'unknownkey' (expected t, l, e, h, or d)
WARNING: pf: V: bad tag type 'zzz' (expected u1/u2/u4/u8)
WARNING: pf: V: bad tag type 'zzz' (expected u1/u2/u4/u8)
WARNING: pf: V(): empty body, defaults t=u1,l=u2 will be used
WARNING: pf: V(): empty body, defaults t=u1,l=u2 will be used
WARNING: pf: V: missing closing ')' for TLV spec
WARNING: pf: unknown specifier '(' at position 1, skipping
WARNING: pf: bare 't' deprecated, use 't(unix32)'
WARNING: pf: unknown specifier '=' at position 3, skipping
WARNING: pf: unknown specifier ' ' at position 6, skipping
WARNING: pf: 'v' bitvector spec missing '(N)' (use 'v(N)' or 'v(N,lsb)'), skipping
WARNING: pf: V: missing closing ')' for TLV spec
WARNING: pf: unknown specifier '(' at position 1, skipping
WARNING: pf: bare 't' deprecated, use 't(unix32)'
WARNING: pf: unknown specifier '=' at position 3, skipping
WARNING: pf: unknown specifier ' ' at position 6, skipping
WARNING: pf: 'v' bitvector spec missing '(N)' (use 'v(N)' or 'v(N,lsb)'), skipping
WARNING: pf: unknown specifier 'n' at position 0, skipping
WARNING: pf: bare 'o' deprecated, use 'o4'
WARNING: pf: unknown specifier 'n' at position 2, skipping
WARNING: pf: unknown specifier 'e' at position 3, skipping
WARNING: pf: bare 'x' deprecated, use 'x4'
WARNING: pf: bare 'i' deprecated, use 'd4'
WARNING: pf: bare 't' deprecated, use 't(unix32)'
WARNING: pf: unknown specifier 'e' at position 8, skipping
WARNING: pf: unknown specifier 'n' at position 9, skipping
WARNING: pf: bare 't' deprecated, use 't(unix32)'
WARNING: pf: unknown specifier '_' at position 11, skipping
WARNING: pf: bare 't' deprecated, use 't(unix32)'
WARNING: pf: unknown specifier 'y' at position 13, skipping
WARNING: pf: unknown specifier 'e' at position 15, skipping
WARNING: pf: unknown format 'nonexistent_type'
WARNING: pf: unknown specifier '(' at position 0, skipping
WARNING: pf: unknown specifier 'n' at position 1, skipping
WARNING: pf: bare 'o' deprecated, use 'o4'
WARNING: pf: unknown specifier 'n' at position 3, skipping
WARNING: pf: unknown specifier 'e' at position 4, skipping
WARNING: pf: bare 'x' deprecated, use 'x4'
WARNING: pf: bare 'i' deprecated, use 'd4'
WARNING: pf: bare 't' deprecated, use 't(unix32)'
WARNING: pf: unknown specifier 'e' at position 9, skipping
WARNING: pf: unknown specifier 'n' at position 10, skipping
WARNING: pf: bare 't' deprecated, use 't(unix32)'
WARNING: pf: unknown specifier '_' at position 12, skipping
WARNING: pf: unknown specifier 'e' at position 13, skipping
WARNING: pf: unknown specifier 'n' at position 14, skipping
WARNING: pf: bare 'u' deprecated, use 'u4'
WARNING: pf: unknown specifier 'm' at position 16, skipping
WARNING: pf: unknown specifier ')' at position 17, skipping
WARNING: pf: unknown specifier '(' at position 0, skipping
WARNING: pf: unknown specifier 'n' at position 1, skipping
WARNING: pf: bare 'o' deprecated, use 'o4'
WARNING: pf: unknown specifier 'n' at position 3, skipping
WARNING: pf: unknown specifier 'e' at position 4, skipping
WARNING: pf: bare 'x' deprecated, use 'x4'
WARNING: pf: bare 'i' deprecated, use 'd4'
WARNING: pf: bare 't' deprecated, use 't(unix32)'
WARNING: pf: unknown specifier 'e' at position 9, skipping
WARNING: pf: unknown specifier 'n' at position 10, skipping
WARNING: pf: bare 't' deprecated, use 't(unix32)'
WARNING: pf: unknown specifier '_' at position 12, skipping
WARNING: pf: unknown specifier 'e' at position 13, skipping
WARNING: pf: unknown specifier 'n' at position 14, skipping
WARNING: pf: bare 'u' deprecated, use 'u4'
WARNING: pf: unknown specifier 'm' at position 16, skipping
WARNING: pf: unknown specifier ')' at position 17, skipping
WARNING: pf: unknown specifier '(' at position 0, skipping
WARNING: pf: bare 'u' deprecated, use 'u4'
WARNING: pf: unknown specifier 'n' at position 2, skipping
WARNING: pf: unknown specifier 'l' at position 4, skipping
WARNING: pf: bare 'o' deprecated, use 'o4'
WARNING: pf: unknown specifier 'e' at position 7, skipping
WARNING: pf: bare 'd' deprecated, use 'd4'
WARNING: pf: unknown specifier ' ' at position 9, skipping
WARNING: pf: 'v' bitvector spec missing '(N)' (use 'v(N)' or 'v(N,lsb)'), skipping
WARNING: pf: unknown specifier '(' at position 0, skipping
WARNING: pf: bare 'u' deprecated, use 'u4'
WARNING: pf: unknown specifier 'n' at position 2, skipping
WARNING: pf: unknown specifier 'l' at position 4, skipping
WARNING: pf: bare 'o' deprecated, use 'o4'
WARNING: pf: unknown specifier 'e' at position 7, skipping
WARNING: pf: bare 'd' deprecated, use 'd4'
WARNING: pf: unknown specifier ' ' at position 9, skipping
WARNING: pf: 'v' bitvector spec missing '(N)' (use 'v(N)' or 'v(N,lsb)'), skipping
WARNING: pf: unknown specifier ')' at position 0, skipping
WARNING: pf: unknown specifier ' ' at position 3, skipping
WARNING: pf: 'v' bitvector spec missing '(N)' (use 'v(N)' or 'v(N,lsb)'), skipping
WARNING: pf: unknown specifier ')' at position 0, skipping
WARNING: pf: unknown specifier ' ' at position 3, skipping
WARNING: pf: 'v' bitvector spec missing '(N)' (use 'v(N)' or 'v(N,lsb)'), skipping
WARNING: pf: unknown specifier '{' at position 0, skipping
WARNING: pf: unknown specifier '}' at position 1, skipping
WARNING: pf: unknown specifier '{' at position 0, skipping
WARNING: pf: unknown specifier '}' at position 1, skipping
WARNING: pf: unknown specifier '$' at position 0, skipping
WARNING: pf: unknown specifier '$' at position 1, skipping
WARNING: pf: unknown specifier '$' at position 2, skipping
WARNING: pf: unknown specifier '$' at position 3, skipping
WARNING: pf: unknown specifier '$' at position 0, skipping
WARNING: pf: unknown specifier '$' at position 1, skipping
WARNING: pf: unknown specifier '$' at position 2, skipping
WARNING: pf: unknown specifier '$' at position 3, skipping
WARNING: pf: unknown specifier '!' at position 2, skipping
WARNING: pf: unknown specifier '!' at position 3, skipping
WARNING: pf: unknown specifier '!' at position 4, skipping
WARNING: pf: unknown specifier '!' at position 2, skipping
WARNING: pf: unknown specifier '!' at position 3, skipping
WARNING: pf: unknown specifier '!' at position 4, skipping
WARNING: pf: bare 'x' deprecated, use 'x4'
WARNING: pf: bare 'x' deprecated, use 'x4'
WARNING: pf: '@' alignment missing N (use '@N' with N>=1), skipping
WARNING: pf: '@' alignment missing N (use '@N' with N>=1), skipping
WARNING: pf: unknown specifier '[' at position 0, skipping
WARNING: pf: unknown specifier '[' at position 0, skipping
WARNING: pf: unknown specifier '(' at position 0, skipping
WARNING: pf: unknown specifier '(' at position 0, skipping
WARNING: pf: ':' bit spec missing width (use ':N' with N in 1..64), skipping
WARNING: pf: ':' bit spec missing width (use ':N' with N in 1..64), skipping
WARNING: pf: bare 't' deprecated, use 't(unix32)'
WARNING: pf: bare 't' deprecated, use 't(unix32)'
WARNING: pf: V: bare 'V' uses defaults t=u1,l=u2 (no dispatch); add '(t=...,l=...,d=table)' to configure
WARNING: pf: V: bare 'V' uses defaults t=u1,l=u2 (no dispatch); add '(t=...,l=...,d=table)' to configure
EOF
RUN

NAME=pfo lists each known FDF file once (no duplicates)
FILE=bins/elf/echo
ARGS=-nn
CMDS=<<EOF
pfo~?elf32
pfo~?elf64
pfo~?mz

NAME=pfo lists each known FDF file once (no duplicates)
FILE=bins/elf/echo
ARGS=-nn
CMDS=<<EOF
pfo~?elf32
pfo~?elf64
pfo~?mz
EOF
EXPECT=<<EOF
1
1
1
EOF
RUN

NAME=pf. on unknown name emits clear error
FILE==
CMDS=<<EOF
pf. blabla
EOF
EXPECT_ERR=<<EOF
ERROR: pf.: no registered format named 'blabla'. Run `pfn` to list known formats, or `pfo` to load a format definition file (e.g. `pfo elf64` then `pf. elf_header`).
EOF
RUN

NAME=pf. with FDF file name (not a format) emits clear error
FILE=bins/elf/echo
ARGS=-nn
CMDS=<<EOF
pf. elf32
EOF
EXPECT_ERR=<<EOF
ERROR: pf.: no registered format named 'elf32'. Run `pfn` to list known formats, or `pfo` to load a format definition file (e.g. `pfo elf64` then `pf. elf_header`).
EOF
RUN

NAME=pf. resolves a registered format after pfo loads it
FILE=bins/elf/echo
ARGS=-nn
CMDS=<<EOF
pfo elf64
pf. elf_header~?ident
EOF
EXPECT=<<EOF
1
EOF
RUN

NAME=pf v(N) bitvector basic 8-bit MSB
FILE==
CMDS=<<EOF
wx ab
pf v(8) bits

NAME=pf v(N) bitvector basic 8-bit MSB
FILE==
CMDS=<<EOF
wx ab
pf v(8) bits
EOF
EXPECT=<<EOF
0x00000000 : bits = [ 1 0 1 0 1 0 1 1 ] (8-bit)
EOF
RUN

NAME=pf v(N) bitvector basic 8-bit LSB
FILE==
CMDS=<<EOF
wx ab
pf "v(8,lsb) bits"
EOF
EXPECT=<<EOF
0x00000000 : bits = [ 1 1 0 1 0 1 0 1 ] (8-bit)
EOF
RUN

NAME=pf v(N) bitvector partial-byte width consumes ceil(N/8)
FILE==
CMDS=<<EOF
wx abcdef
pf "v(12)x1 bits tail"
EOF
EXPECT=<<EOF
0x00000000 : bits = [ 1 0 1 0 1 0 1 1 | 1 1 0 0 ] (12-bit)
0x00000002 : tail = 0xef [LE]
EOF
RUN

NAME=pf v(N) bitvector 32-bit aligned
FILE==
CMDS=<<EOF
wx aabbccdd
pf v(32) bits
EOF
EXPECT=<<EOF
0x00000000 : bits = [ 1 0 1 0 1 0 1 0 | 1 0 1 1 1 0 1 1 | 1 1 0 0 1 1 0 0 | 1 1 0 1 1 1 0 1 ] (32-bit)
EOF
RUN

NAME=pf v(N) bitvector JSON output
FILE==
CMDS=<<EOF
wx aa55
pfj "v(16) bits"
EOF
EXPECT=<<EOF
[{"name":"bits","type":"bitvec","offset":0,"bit_width":16,"value":"1010101001010101"}]
EOF
RUN

NAME=pf v(N) clamps oversized width and warns
FILE==
CMDS=<<EOF
wx 01
pf "v(99999) x"
EOF
EXPECT_ERR=<<EOF
WARNING: pf: bitvector width 99999 exceeds maximum 4096, clamping
WARNING: pf: bitvector width 99999 exceeds maximum 4096, clamping
EOF
RUN

NAME=pf v(N) inside a multi-field format
FILE==
CMDS=<<EOF
wx 01ab02
pf "x1v(8)x1 hi flags lo"
EOF
EXPECT=<<EOF
0x00000000 :    hi = 0x01 [LE]
0x00000001 : flags = [ 1 0 1 0 1 0 1 1 ] (8-bit)
0x00000002 :    lo = 0x02 [LE]
EOF
RUN

NAME=pf v(N) quiet mode pfq emits raw bits
FILE==
CMDS=<<EOF
wx ab
pfq "v(8) bits"
EOF
EXPECT=<<EOF
1 0 1 0 1 0 1 1
EOF
RUN

NAME=pf v(N) bad keyword falls back to msb with warning
FILE==
CMDS=<<EOF
wx ab
pf "v(8,xyz) bits"
EOF
EXPECT=<<EOF
0x00000000 : bits = [ 1 0 1 0 1 0 1 1 ] (8-bit)
EOF
EXPECT_ERR=<<EOF
WARNING: pf: 'v(N,?)' unknown bit-order keyword (use 'lsb' or 'msb'); defaulting to msb
WARNING: pf: 'v(N,?)' unknown bit-order keyword (use 'lsb' or 'msb'); defaulting to msb
EOF
RUN
