úΆ„<      !"#$%&'()*+,-./0123456789:;<=>?5A class of network addresses that assumes there is a  broadcast concept. ?A class of network headers that assumes a checksum is present. %Returns the checksum from the header  Sets the checksum in the header  Returns a source for the header.  Returns a  destination for the header. HReturns a header with all the same fields except the checksum is zeroed Computes the checksum AComputes the checksum, returns a header with the proper checksum .Used by various layer 4 protocols (UDP, TCP), 3 a pseudo header is needed to compute the checksum 'Returns True iff the checksum is valid        @   ABCDEFGHIJKLMN     !"#O !"## !" !" !"#PQRSTUVWXYZ[$%\]^_$%$%$%%&EThis IPv4 header structure lacks support for options. Ints are used M for most integral data types and the binary instance hands the bit packing. 1No warning is provided if a field is overflowed! '()*+,-./01234Don'-t fragment, more fragment and reserved flags 5678DFor IPv4 addresses. The internal representation is a bytestring so  use the pretty print ; function as needed (instead of `). 9aOA dummy header with zeroed fields except version, header length and TTL (255). $%&'()*+,-./0123456789:;89&'()*+,-./01234765:;& '()*+,-./0123'()*+,-./01234765567899b      !"#$%&!'(()*+,-&./01!234567889:;<=>?@ABCDEFGHI#'JKLM,NO&PQ23RSTUVWXYZnetwork-data-0.0.2 Data.Header Data.CSumData.TCPData.UDP Data.IPv6Data.IP L3AddresslocalBroadcastglobalBroadcastL3Header getChecksum setChecksumsrcdst zeroChecksumcomputeChecksum fillChecksum pseudoHeadervalidCSumcsum16zeroCSum TCPHeaderTCPHdrsrcPortdstPort seqNumber ackNumber dataOffsetresflags windowSizechecksum urgentPtrTCPPort UDPHeaderUDPHdr payloadLengthUDPPortIPv6 IPv4HeaderIPv4Hdr hdrLengthversiontosipIDfragmentOffsetttlprotocolsource destinationIPv4FlagResMFDFIPv4dummyIPv4Headeripv4L4Header fixChecksumTCPFlagCWRECEURGACKPSHRSTSYNFIN AckNumberAN SeqNumberSNIPv6ExtE IPv6HeaderIPv6Hdr trafficClass flowLabel nextHeaderhopLimit alternatesecondfirstipv6baseGHC.Showshow$fBinaryIPv4Header