h* gO      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~0.1.21 Safe-Inferred! Safe-InferredZ Safe-Inferredquic1Insertion. Worst-case: O(N), amortized: O(log N).quic.Finding the minimum element. Worst-case: O(1).quicDeleting the minimum element. Worst-case: O(N), amortized: O(log N).quic9Merging two heaps. Worst-case: O(N), amortized: O(log N).  Safe-Inferredquic toAckInfo [9]AckInfo 9 0 []toAckInfo [9,8,7]AckInfo 9 2 []toAckInfo [8,7,3,2]AckInfo 8 1 [(2,1)]toAckInfo [9,8,7,5,4]AckInfo 9 2 [(0,1)]quicfromAckInfo $ AckInfo 9 0 [][9]fromAckInfo $ AckInfo 9 2 [][7,8,9]!fromAckInfo $ AckInfo 8 1 [(2,1)] [2,3,7,8]!fromAckInfo $ AckInfo 9 2 [(0,1)] [4,5,7,8,9]quic%fromAckInfoWithMin (AckInfo 9 0 []) 1[9]%fromAckInfoWithMin (AckInfo 9 2 []) 8[8,9]*fromAckInfoWithMin (AckInfo 8 1 [(2,1)]) 3[3,7,8]*fromAckInfoWithMin (AckInfo 9 2 [(0,1)]) 8[8,9]    Safe-Inferredquic$Application protocol errors of QUIC.quicTransport errors of QUIC.*quic:Converting a TLS alert to a corresponding transport error. !"#$%&'()*  Safe-Inferred" +,-./01234567  Safe-Inferred8quic All internal byte sequences. & should be used for FFI related stuff.8 +273,-./01456   Safe-Inferred<=:;>?9@ABCDEFG Safe-Inferred+HIJKLM Safe-InferredNquic$enc16 $ encodeInt 151288809941952652"c2197c5eff14e88c"enc16 $ encodeInt 494878333 "9d7f3e7d"enc16 $ encodeInt 15293"7bbd"enc16 $ encodeInt 37"25"Squic$decodeInt (dec16 "c2197c5eff14e88c")151288809941952652decodeInt (dec16 "9d7f3e7d") 494878333decodeInt (dec16 "7bbd")15293decodeInt (dec16 "25")37NOPQRST Safe-Inferred<'^quicA type for conneciton ID.cquicConverting a connection ID.^_`acbde\]fZ[gUVWXY Safe-Inferred"mquicStream identifier. This should be 62-bit interger. On 32-bit machines, the total number of stream identifiers is limited.quic7Checking if a stream is client-initiated bidirectional.quic7Checking if a stream is server-initiated bidirectional.quic8Checking if a stream is client-initiated unidirectional.quic8Checking if a stream is server-initiated unidirectional.0hijklmn~}|{zyxwvutsrpoq Safe-Inferred"<quic QUIC version. Safe-Inferred%&< quicInformation about resumptionquicIs 0RTT possible?quicIs resumption possible?  Safe-Inferred!# Safe-Inferred!quicUser level exceptions for QUIC. Safe-Inferred!8  ^_\]Z[UVWXY`acbdefgHIJKLM()'&%$#"! *mhnqoprstuvwxyz{|}~ljikSNOPQRT<=:;9>?@ABCDEFG Safe-Inferred# Safe-Inferred%&$uquic"An abstract data type for streams.quicGetting stream identifier.    Safe-Inferred"$ Safe-Inferred%&%  Safe-Inferred"%&%R   Safe-Inferred"%&% Safe-Inferred%2 Safe-Inferred"%&)wquicQUIC transport parameters.quic0The default value for QUIC transport parameters.quic3An example parameters obsoleted in the near future.defaultParametersParameters {originalDestinationConnectionId = Nothing, maxIdleTimeout = 30000, statelessResetToken = Nothing, maxUdpPayloadSize = 2048, initialMaxData = 1048576, initialMaxStreamDataBidiLocal = 262144, initialMaxStreamDataBidiRemote = 262144, initialMaxStreamDataUni = 262144, initialMaxStreamsBidi = 64, initialMaxStreamsUni = 3, ackDelayExponent = 3, maxAckDelay = 25, disableActiveMigration = False, preferredAddress = Nothing, activeConnectionIdLimit = 3, initialSourceConnectionId = Nothing, retrySourceConnectionId = Nothing, grease = Nothing, greaseQuicBit = True, versionInformation = Nothing}" Safe-Inferred"%&)!  Safe-Inferred"%&0 quicThe sum of the size in bytes of all sent packets that contain at least one ack-eliciting or PADDING frame, and have not been acked or declared lost. The size does not include IP or UDP overhead, but does include the QUIC header and AEAD overhead. Packets only containing ACK frames do not count towards bytes_in_flight to ensure congestion control does not impede congestion feedback. quic3Maximum number of bytes-in-flight that may be sent. quicThe time when QUIC first detects congestion due to loss or ECN, causing it to enter congestion recovery. When a packet sent after this time is acknowledged, QUIC exits congestion recovery. quicSlow start threshold in bytes. When the congestion window is below ssthresh, the mode is slow start and the window grows by the number of bytes acknowledged. quicRecords number of bytes acked, and used for incrementing the congestion window during congestion avoidance. quicThe most recent RTT measurement made when receiving an ack for a previously unacked packet. quic#The smoothed RTT of the connection. quicThe RTT variation. quic;The minimum RTT seen in the connection, ignoring ack delay. quicThe maximum amount of time by which the receiver intends to delay acknowledgments for packets in the ApplicationData packet number space. The actual ack_delay in a received ACK frame may be larger due to late timers, reordering, or lost ACK frames. quicThe number of times a PTO has been sent without receiving an ack. quic+The RTT used before an RTT sample is taken.    ! Safe-Inferred"%&1 " Safe-Inferred%&1  # Safe-Inferred%&25 $ Safe-Inferred4 quicMaximum reordering in packets before packet threshold loss detection considers a packet lost. quicMaximum reordering in time before time threshold loss detection considers a packet lost. Specified as an RTT multiplier. quicTimer granularity. quic-Default limit on the initial bytes in flight. quic#Minimum congestion window in bytes. quicReduction in congestion window when a new loss event is detected. quicPeriod of time for persistent congestion to be established, specified as a PTO multiplier. % Safe-Inferred"%&4 & Safe-Inferred"%&'5 ' Safe-Inferred"%&5O ( Safe-Inferred"%&5 ) Safe-Inferred"%&5 * Safe-Inferred"%&5+ Safe-Inferred"%&6), Safe-Inferred6\%- Safe-Inferred"6 . Safe-Inferred<7 / Safe-Inferred8 quic2encodePacketNumber 0xabe8bc 0xac5c02 == (0x5c02,2)True6encodePacketNumber 0xa82f30ea 0xa82f9b32 == (0x9b32,2)True5encodePacketNumber 0xabe8bc 0xace8fe == (0xace8fe, 3)True quic0decodePacketNumber 0xabe8bc 0x5c02 2 == 0xac5c02True4decodePacketNumber 0xa82f30ea 0x9b32 2 == 0xa82f9b32True2decodePacketNumber 0xabe8bc 0xace8fe 3 == 0xace8feTrue 0 Safe-Inferred8  1 Safe-Inferred"9V quicpayload size without paddings 2 Safe-Inferred"93 Safe-Inferred"9quicA type for debug logger.4 Safe-Inferred: 5 Safe-Inferred:J^6 Safe-Inferred": 7 Safe-Inferred":8 Safe-Inferred";9 Safe-Inferred;Z : Safe-Inferred";;^; Safe-Inferred"AquicServer configuration.quic/Fully-Deployed Versions in the preferred order.quic%Cipher candidates defined in TLS 1.3.quic1Key exchange group candidates defined in TLS 1.3.quicServer certificate information.quic=Use 0-RTT on the 2nd connection if possible. server originalquic5Server addresses assigned to used network interfaces.quic ALPN handler.quicRequiring QUIC retry.quicA session manager of TLS 1.3.quic>A lifetime (in seconds) for TLS session ticket and QUIC token.quicClient configuration.quicThe version to start with.quicCompatible versions with  in the preferred order.quic%Cipher candidates defined in TLS 1.3.quic1Key exchange group candidates defined in TLS 1.3.quicTLS credentials.quic=Use 0-RTT on the 2nd connection if possible. client originalquic(Used to create a socket and SNI for TLS.quicUsed to create a socket.quicAn ALPN provider.quic1Authenticating a server based on its certificate.quic1Use resumption on the 2nd connection if possible.quic#QUIC packet size (UDP payload size)quicIf  , use a unconnected socket for auto migration. Otherwise, use a connected socket.quicHooks.quicDefault hooks.quic+The default value for client configuration.quic+The default value for server configuration.3< Safe-Inferred"%&By= Safe-Inferred"%&C quic,A quic connection to carry multiple streams.quicA logger for debugging.> Safe-InferredDT? Safe-Inferred%&Equic%Waiting until 0-RTT data can be sent.quic%Waiting until 1-RTT data can be sent.quicFor clients, waiting until HANDSHAKE_DONE is received. For servers, waiting until a TLS stack reports that the handshake is complete.@ Safe-InferredEA Safe-Inferred%&F$B Safe-Inferred%&GquicClosing a connection with/without a transport error. Internal threads should use this.quic8Closing a connection with an application protocol error.C Safe-Inferred%&GfD Safe-Inferred"%&G E Safe-Inferred%&Hquic%Getting information about resumption.F Safe-Inferred%&I quic+Reseting to Initial CID in the client side.quicSending NewConnectionIDquicReceiving NewConnectionIDquicAutomatic CID updatequic%Only for the internal "migration" APIquic After sending RetireConnectionIDquicReceiving NewConnectionIDquicPeer starts using a new CID.quicReceiving RetireConnectionIDG Safe-Inferred%&J4H Safe-InferredJI Safe-Inferred%&MquicThis is not used internally.J Safe-Inferred"%&MOK Safe-InferredM|"L Safe-Inferred"%&N' quic,readerServer dies when the socket is closed.  M Safe-Inferred"N N Safe-Inferred"%&N O Safe-Inferred"%&OquicStatistics of a connection.quicInformation about a connection.quic'Getting information about a connection.quic#Getting statistics of a connection.P Safe-Inferred"R quic Creating a bidirectional stream.quic!Creating a unidirectional stream.quicSending data in the stream.quic%Sending a list of data in the stream.quicSending FIN in a stream.  should be called later.quicClosing a stream without an error. This sends FIN if necessary.quic)Accepting a stream initiated by the peer.quicReceiving data in the stream. In the case where a FIN is received an empty bytestring is returned.quicClosing a stream with an error code. This sends RESET_STREAM to the peer. This is an alternative of .quicAsking the peer to stop sending. This sends STOP_SENDING to the peer and it will send RESET_STREAM back.  should be called later.   Q Safe-Inferred"SI R Safe-InferredS  Safe-InferredSm)('&%$#"! *m)('&%$#"! )('&%$#"! *S Safe-Inferred"U T Safe-Inferred"%&UquicRunning a QUIC server. The action is executed with a new connection in a new lightweight thread.quic'Stopping the base thread of the server. Safe-InferredVSquic(Getting a certificate chain of a client.U Safe-Inferred"WquicHow to control a connection. quic,readerClient dies when the socket is closed. V Safe-Inferred"%&Y>quic?Running a QUIC client. A UDP socket is created according to  and .If  is  , a unconnected socket is made. Otherwise, a connected socket is made. Use the  API for the connected socket.quicCreating a new socket and execute a path validation with a new connection ID. Typically, this is used for migration in the case where  is  6. But this can also be used even when the value is  . Safe-InferredYmW Safe-InferredY Safe-InferredZ ^_8 m hnqoprstuvwxyz{|}~\]Z[UVWXY<=:;9 ljik()'&%$#"! SNO*`acbdefgHPQRT>?@ABCDEFGIJKLM+273,-./01456^8 ^_`acbde\]fZ[gUVWXYHIJKLM)('&%$#"! *n~}|{zyxwvutsrpoqmlkjihNOPQRST<=:;>?9@ABCDEFG+,-./01234567 XYZ[\][\^[\^[\_[\_[`a b b c c d e f g h i j k l m m n n o p q r s t u v w x y z { | } ~                                             """""####%%&''))****++++...........000000000001111222233335555555555555555555566666666667777888888889999999999=;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;==============================================================================================================================================<<>>>>????????????????????@@@@@@@@@@@@@@@@@AAABBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCDDDDDDDDDEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGIIIJOOOOOOOOOOOOOOOOOPPPPPPPPPPTTUUUUUUVVWXXXXX                                                                                                                                                                                                                                                       ! ! ! ! ! ! ! !" " " " # # # $ $ $ $ $ $ $ $ % % % % & & & ' ' ( ( ( ) ) ) - / / 0 1 4 4  L L L L L L L L L L L L L L L L L L L L L L M M M N P P P P P P P P Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q R R R R R S U U  quic-0.1.21-3V0PdZ1wFH5lOCUYBmsyNetwork.QUIC.Internal Network.QUICNetwork.QUIC.ClientNetwork.QUIC.ServerquicNetwork.QUIC.EventNetwork.QUIC.Stream.FragNetwork.QUIC.Stream.SkewNetwork.QUIC.Types.AckNetwork.QUIC.Types.ErrorNetwork.QUIC.UtilsNetwork.QUIC.ImportsNetwork.QUIC.Types.TimeNetwork.QUIC.Types.ConstantsNetwork.QUIC.Types.IntegerNetwork.QUIC.Types.CIDNetwork.QUIC.Types.FrameNetwork.QUIC.Types.PacketNetwork.QUIC.Types.ResumptionNetwork.QUIC.Types.QueueNetwork.QUIC.Types.ExceptionNetwork.QUIC.TypesNetwork.QUIC.ConnectorNetwork.QUIC.Stream.TypesNetwork.QUIC.Stream.TableNetwork.QUIC.Stream.QueueNetwork.QUIC.Stream.MiscNetwork.QUIC.Stream.ReassNetwork.QUIC.StreamNetwork.QUIC.ParametersNetwork.QUIC.QlogNetwork.QUIC.Recovery.TypesNetwork.QUIC.Recovery.Utils'Network.QUIC.Recovery.PeerPacketNumbersNetwork.QUIC.Recovery.MiscNetwork.QUIC.Recovery.Constants Network.QUIC.Recovery.PersistentNetwork.QUIC.Recovery.MetricsNetwork.QUIC.Recovery.ReleaseNetwork.QUIC.Recovery.DetectNetwork.QUIC.Recovery.TimerNetwork.QUIC.Recovery.Interface"Network.QUIC.Recovery.LossRecoveryNetwork.QUIC.RecoveryNetwork.QUIC.QLoggerNetwork.QUIC.Packet.TokenNetwork.QUIC.Packet.NumberNetwork.QUIC.Packet.HeaderNetwork.QUIC.Packet.FrameNetwork.QUIC.Packet.DecodeNetwork.QUIC.LoggerNetwork.QUIC.ExceptionNetwork.QUIC.Crypto.TypesNetwork.QUIC.Crypto.NiteNetwork.QUIC.Crypto.UtilsNetwork.QUIC.Crypto.KeysNetwork.QUIC.Crypto.FusionNetwork.QUIC.CryptoNetwork.QUIC.ConfigNetwork.QUIC.TLSNetwork.QUIC.Connection.TypesNetwork.QUIC.Connection.TimeoutNetwork.QUIC.Connection.StateNetwork.QUIC.Connection.Queue$Network.QUIC.Connection.PacketNumberNetwork.QUIC.Connection.Misc#Network.QUIC.Connection.StreamTableNetwork.QUIC.Connection.StreamNetwork.QUIC.Connection.Role!Network.QUIC.Connection.MigrationNetwork.QUIC.Connection.CryptoNetwork.QUIC.ConnectionNetwork.QUIC.Packet.EncodeNetwork.QUIC.Packet.DecryptNetwork.QUIC.PacketNetwork.QUIC.Server.ReaderNetwork.QUIC.SenderNetwork.QUIC.ReceiverNetwork.QUIC.InfoNetwork.QUIC.IONetwork.QUIC.HandshakeNetwork.QUIC.CommonNetwork.QUIC.CloserNetwork.QUIC.Server.RunNetwork.QUIC.Client.ReaderNetwork.QUIC.Client.RunNetwork.QUIC.Windowsbytestring-0.11.5.2 Data.ByteString.Builder.InternalBuildertls-2.0.6-7eqLyQTJHEJt0I1SrpqLlNetwork.TLS.TypesTrafficSecretsServerTrafficSecretClientTrafficSecretNetwork.TLS.CipherCipherPeerPacketNumbersAckInfoGapRange PacketNumberackInfo0 toAckInfo fromAckInfofromAckInfoWithMinfromAckInfoToPredemptyPeerPacketNumbersApplicationProtocolErrorTransportErrorVersionNegotiationError NoViablePathAeadLimitReachedKeyUpdateErrorCryptoBufferExceededApplicationError InvalidTokenProtocolViolationConnectionIdLimitErrorTransportParameterErrorFrameEncodingErrorFinalSizeErrorStreamStateErrorStreamLimitErrorFlowControlErrorConnectionRefused InternalErrorNoError cryptoError fromRightdec16enc16dec16senc16s shortToStringgetRandomOneBytegetRandomBytestotalLensum'withByteString shortpackignoreBytesTimeMicrosecond Microseconds Milliseconds milliToMicro microToMillitimeMicrosecond0getTimeMicrosecondgetElapsedTimeMicrosecondelapsedTimeMicrosecondgetTimeoutInMicrosecondgetPastTimeMicrosecondgetFutureTimeMicrosecondaddMicrosecondsmaximumUdpPayloadSizedefaultQUICPacketSizedefaultQUICPacketSizeForIPv4defaultQUICPacketSizeForIPv6maximumQUICHeaderSize idleTimeout encodeInt encodeInt8 encodeInt' encodeInt'2 encodeInt'4 decodeInt decodeInt'CIDInfo cidInfoSeq cidInfoCID cidInfoSRTPathDataStatelessResetTokenCID myCIDLengthnewCIDtoCIDfromCIDmakeCID unpackCIDnewStatelessResetToken newPathDataToken StreamData CryptoDataFinDelayStreamIdFramePaddingPingAck ResetStream StopSendingCryptoFNewTokenStreamFMaxData MaxStreamData MaxStreams DataBlockedStreamDataBlockedStreamsBlockedNewConnectionIDRetireConnectionID PathChallenge PathResponseConnectionCloseConnectionCloseApp HandshakeDone UnknownFrameSeqNum ReasonPhrase DirectionUnidirectional Bidirectional FrameTypeisClientInitiatedBidirectionalisServerInitiatedBidirectionalisClientInitiatedUnidirectionalisServerInitiatedUnidirectionalisClientInitiatedisServerInitiatedisBidirectionalisUnidirectional emptyToken ackElicitingpathValidatinginFlight rateControledEncodedPacketNumberRaw ProtectedFlagsEncryptionLevel InitialLevel RTT0LevelHandshakeLevel RTT1LevelLongHeaderPacketTypeInitialPacketTypeRTT0PacketTypeHandshakePacketTypeRetryPacketTypeReceivedPacket rpCryptPacketrpTimeReceviedrpReceivedBytesrpEncryptionLevelStatelessResetCryptcryptPktNumOffset cryptPacket cryptMarkscryptMigraionInfo MigrationInfoPlain plainFlagsplainPacketNumber plainFrames plainMarks CryptPacket PlainPacketHeaderInitialRTT0 HandshakeShort BrokenPacket RetryPacketVersionNegotiationPacketPacketOPacketOVPacketORPacketOPPacketIPacketIVPacketIRPacketICPacketIB VersionInfo chosenVersion otherVersionsVersionGreasingVersion2GreasingVersionDraft29Version2Version1 NegotiationisGreasingVersionbrokenVersionInfo!extensionIDForTtransportParameter headerMyCID headerPeerCIDdefaultPlainMarkssetIllegalReservedBitssetUnknownFrame setNoFrames setNoPaddings set4bytesPNisIllegalReservedBitsisUnknownFrame isNoFrames isNoPaddings is4bytesPNisCryptDelayedsetCryptDelayedmkReceivedPacketpacketEncryptionLevelResumptionInforesumptionVersionresumptionSessionresumptionTokenresumptionRetrySessionEstablishdefaultResumptionInfois0RTTPossibleisResumptionPossible get0RTTCipherRecvQnewRecvQ readRecvQ writeRecvQ prependRecvQAbortVerNego NextVersionInternalControlMustNotReachedExitConnectionWrongTransportParameterWrongVersionInformation BreakForever QUICExceptionConnectionIsClosedTransportErrorIsReceivedTransportErrorIsSent"ApplicationProtocolErrorIsReceivedApplicationProtocolErrorIsSentConnectionIsTimeoutConnectionIsResetStreamIsClosedHandshakeFailedVersionIsUnknownNoVersionIsSpecifiedVersionNegotiationFailedBadThingHappen SizedBufferCloseConnectionState Handshaking ReadyFor0RTT ReadyFor1RTT EstablishedRoleClientServer ConnStateroleconnectionState packetNumberencryptionLevel maxPacketSizeconnectionAlive ConnectorgetRolegetEncryptionLevelgetMaxPacketSizegetConnectionStategetPacketNumbergetAlive newConnStateisClientisServerisConnectionEstablishedAuthCIDs initSrcCID origDstCID retrySrcCID ParametersoriginalDestinationConnectionIdmaxIdleTimeoutstatelessResetTokenmaxUdpPayloadSizeinitialMaxDatainitialMaxStreamDataBidiLocalinitialMaxStreamDataBidiRemoteinitialMaxStreamDataUniinitialMaxStreamsBidiinitialMaxStreamsUniackDelayExponent maxAckDelaydisableActiveMigrationpreferredAddressactiveConnectionIdLimitinitialSourceConnectionIdretrySourceConnectionIdgrease greaseQuicBitversionInformationencodeParametersdecodeParametersbaseParametersdefaultParametersdefaultAuthCIDssetCIDsToParametersgetCIDsToParametersKeepQlogkeepQlogQLoggerQlogMsg QRecvInitial QSentRetryQSent QReceivedQDroppedQMetricsUpdated QPacketLostQCongestionStateUpdatedQLossTimerUpdatedQDebug QParamsSet QCIDUpdateLRLocalRemoteDebugQlogqlog packetTypesw newQlogger qlogReceived qlogDroppedqlogRecvInitial qlogSentRetry qlogParamsSet qlogDebug qlogCIDUpdateLDCC SentPacket spPlainPacket spTimeSent spSentBytesspEncryptionLevelspPacketNumberspPeerPacketNumbersspAckEliciting mkSentPacket fixSentPacketnewLDCCqlogSentgetPeerPacketNumberssetPreviousRTT1PPNsgetPreviousRTT1PPNsnullPeerPacketNumbersfromPeerPacketNumbers getSpeedingUpgetPacketNumberSpaceDiscarded#getAndSetPacketNumberSpaceDiscardedsetMaxAckDaley findDurationgetPTOsetInitialCongestionWindowreleaseByRetry releaseOldest ldccTimer beforeAntiAmpcheckWindowOpenSTM takePingSTMspeedupresender onPacketSentonPacketReceived onAckReceivedonPacketNumberSpaceDiscarded CryptoTokentokenQUICVersion tokenLifeTimetokenCreatedTime tokenCIDs isRetryToken generateTokengenerateRetryToken encryptToken decryptTokenisLongisShortunprotectFlags protectFlagsencodeShortHeaderFlagsencodeLongHeaderFlagsretryPacketTypeversionNegotiationPacketTypedecodeLongHeaderPacketTypeencodePktNumLengthdecodePktNumLength encodeFramesdecodeFramesBSdecodeFramesBuffer countZerodecodeCryptPackets decodePackets decodePacketdecodeStatelessResetToken DebugLoggerbhow stdoutLoggerdirDebugLogger InitialSecretNonceLabelMaskSampleAssDatSecretIVKeySalt CipherText PlainTextaes128gcmEncrypt makeNoncemakeNiteEncrypt niteEncrypt niteEncrypt'makeNiteDecrypt niteDecrypt niteDecrypt'protectionMaskmakeNiteProtectorbsXOR tagLength sampleLengthcalculateIntegrityTag defaultCipherinitialSecretsclientInitialSecretserverInitialSecretaeadKeyheaderProtectionKey initialVector nextSecret Supplement FusionContextfusionNewContext fusionSetup fusionEncrypt fusionDecryptfusionSetupSupplementfusionSetSample fusionGetMaskisFusionAvailable Connection RecvStreamQ recvStreamQ pendingData endOfStream StreamState streamOffset streamFin RxStreamData rxstrmData rxstrmOff rxstrmLen rxstrmFin TxStreamDataLengthStreamstreamIdstreamConnection newStream syncFinTx waitFinTxgetTxStreamOffsetisTxStreamClosedsetTxStreamClosedgetRxStreamOffsetisRxStreamClosedsetRxStreamClosedreadStreamFlowTxaddTxStreamDatasetTxMaxStreamDatagetRxMaxStreamDataupdateStreamFlowRxFlowCntl OverLimit Duplicated ReassembledtakeRecvStreamQwithSizeputRxStreamData tryReassemble StreamTableemptyStreamTable lookupStream insertStream deleteStreaminsertCryptoStreamsdeleteCryptoStreamlookupCryptoStream ServerConfig scVersions scCiphersscGroups scParametersscKeyLogscQLog scCredentialsscHooks scTlsHooks scUse0RTT scAddressesscALPNscRequireRetryscSessionManager scDebugLogscTicketLifetime ClientConfig ccVersion ccVersions ccCiphersccGroups ccParametersccKeyLogccQLog ccCredentialsccHooks ccTlsHooks ccUse0RTT ccServerName ccPortNameccALPN ccValidate ccResumption ccPacketSize ccDebugLogccAutoMigrationHooksonCloseCompletedonPlainCreatedonTransportParametersCreatedonTLSExtensionCreatedonTLSHandshakeCreatedonResetStreamReceived onServerReady defaultHooksdefaultClientConfigdefaultServerConfigSharedsharedCloseSentsharedCloseReceivedshared1RTTReadysharedSendStreamQ SendStreamQ MigrationQ OutputQLimOutputQCryptoQInputQOutput OutControl OutHandshake OutRetransCrypto InpHandshakeInput InpStream connState connDebugLogconnQLog connHooksconnSendconnRecv connRecvQ udpSocketreaders mainThreadId controlRateroleInfoquicVersionInfoorigVersionInfo myParametersmyCIDDBpeerParameters peerCIDDBinputQcryptoQoutputQ outputQLim migrationQshareddelayedAckCountdelayedAckCancelpeerPacketNumber streamTable myStreamId myUniStreamId peerStreamIdpeerUniStreamIdflowTxflowRxmigrationStateminIdleTimeoutbytesTxbytesRxaddressValidatedpendingQcipherscoders coders1RTT protectorscurrentKeyPhase negotiatedconnMyAuthCIDsconnPeerAuthCIDs connResources encodeBuf encryptRes decryptBufconnLDCCRecvSend Concurrency currentStream maxStreams StreamIdBasefromStreamIdBase NegotiatedtlsHandshakeModeapplicationProtocolapplicationSecretInfo Protector setSamplegetMask unprotect Coder1RTT coder1RTTsecretNCoderencryptdecrypt supplementMigrationState NonMigrationMigrationStarted SendChallenge RecvResponseCIDDB usedCIDInfocidInfosrevInfos nextSeqNum triggeredByMeRoleInfo ClientInfo ServerInfoclientInitialTokenresumptionInfoincompatibleVN tokenManager registerCID unregisterCIDaskRetry baseThreadId certChain dummySecretsdefaultClientRoleInfodefaultServerRoleInfonewCIDDB initialCoderinitialCoder1RTTinitialProtectorinitialNegotiatednewConcurrencysetDead makePendingQ newConnectiondefaultTrafficSecretsclientConnectionserverConnection newSharedclientHandshakerserverHandshakertimeoutfirecfiredelaysetConnection0RTTReadysetConnection1RTTReadysetConnectionEstablishedisConnection1RTTReady wait0RTTReady wait1RTTReadywaitEstablishedreadConnectionFlowTx addTxData setTxMaxData getRxMaxData updateFlowRxcheckRxMaxData addTxBytes getTxBytes addRxBytes getRxBytessetAddressValidatedwaitAntiAmplificationFreecheckAntiAmplificationFree takeInputputInput takeCrypto putCrypto takeOutputSTM tryTakeOutput tryPeekOutput putOutput outputLimit putOutputLimtakeOutput1STMtakeSendStreamQtakeSendStreamQSTMtryPeekSendStreamQputSendStreamQreadMigrationQwriteMigrationQnextPacketNumbergetPeerPacketNumbersetPeerPacketNumbersetVersionInfogetVersionInfo setVersion getVersiongetOriginalVersion getSocket setSocket clearSocketgetPeerAuthCIDssetPeerAuthCIDsgetClientDstCIDgetMyParametersgetPeerParameterssetPeerParameters delayedAckresetDealyedAcksetMaxPacketSize addResource freeResources addReader killReadersreadMinIdleTimeoutsetMinIdleTimeout sendFrames sendFramesLimcloseConnectionabortConnection createStream findStream addStream delStreaminitialRxMaxStreamDatasetupCryptoStreamsclearCryptoStreamgetCryptoStream getMyStreamIdpossibleMyStreamswaitMyNewStreamIdwaitMyNewUniStreamIdsetTxMaxStreamssetTxUniMaxStreamsupdatePeerStreamIdcheckRxMaxStreamscheckStreamIdRoomsetTokengetTokengetResumptionInfo setRetried getRetriedsetIncompatibleVNgetIncompatibleVNsetResumptionSession setNewToken setRegister getRegister getUnregistersetTokenManagergetTokenManagersetBaseThreadIdgetBaseThreadIdsetCertificateChaingetCertificateChaingetMyCID getMyCIDsgetMyCIDSeqNum getPeerCIDisMyCIDshouldUpdateMyCID myCIDsInclude resetPeerCID getNewMyCID addPeerCIDshouldUpdatePeerCIDchoosePeerCIDForPrivacy waitPeerCID retirePeerCIDsetPeerCIDAndRetireCIDssetMyCID retireMyCIDsetPeerStatelessResetTokenisStatelessRestTokenValid validatePathsetMigrationStartedisPathValidating checkResponsesetEncryptionLevel putOffCryptowaitEncryptionLevel getCipher setCipher getTLSModegetApplicationProtocol setNegotiated dropSecretsinitializeCoderinitializeCoder1RTTupdateCoder1RTTgetCoder getProtectorgetCurrentKeyPhasesetCurrentKeyPhaseencodeVersionNegotiationPacketencodeRetryPacketencodePlainPacket decryptCryptConnectionStatstxBytesrxBytesConnectionInfoversioncipheralpn handshakeModeretry localSockAddrremoteSockAddrlocalCID remoteCIDgetConnectionInfogetConnectionStatsstreamunidirectionalStream sendStreamsendStreamManyshutdownStream closeStream acceptStream recvStream resetStream stopStreamrunstopclientCertificateChainConnectionControlChangeServerCIDChangeClientCID NATRebindingActiveMigrationcontrolConnectionmigratewindowsThreadBlockHackbaseGHC.Event.ThreadgetSystemTimerManagerGHC.Event.TimerManagerregisterTimeoutunregisterTimeout updateTimeout TimerManagerGHC.Event.TimeOutTimeoutCallback TimeoutKeyFFragnextOffcurrOffshrink shrinkSeqinsertminimum deleteMin'mergeSkewNodeLeafempty deleteMin deleteMinIfData.ByteString.Internal.Type ByteStringBSPSData.ByteString.Short.InternalShortByteStringSBSGHC.Base Applicative<*>pure*><*liftA2 Alternative<|>somemanyData.Functor.ConstConstgetConstControl.ApplicativeZipList getZipList WrappedArrow WrapArrow unwrapArrow WrappedMonad WrapMonad unwrapMonadFunctor<$fmap<**> Data.Functor<$>liftAliftA3optional Data.FoldableasumMonadreturn>>>>= MonadPlusmzeromplusControl.Monad.Fail MonadFailfailjoinmapM_forM_Data.TraversablemapMsequenceforM Control.MonadforeverliftMguard=<<whenliftM2liftM3liftM4liftM5apvoid sequence_msumfilterM>=><=< mapAndUnzipMzipWithM zipWithM_foldMfoldM_ replicateM replicateM_unless<$!>mfilterGHC.Bits FiniteBits finiteBitSizecountLeadingZeroscountTrailingZerosBits.&..|.xor complementshiftrotatezeroBitsbitsetBitclearBit complementBittestBit bitSizeMaybebitSizeisSignedshiftL unsafeShiftLshiftR unsafeShiftRrotateLrotateRpopCount Data.BitsIffgetIffXorgetXorIorgetIorAndgetAnd bitDefaulttestBitDefaultpopCountDefaulttoIntegralSizedoneBits.^..>>..<<.!>>.!<<.FoldablefoldrnulllengthfoldltoListfoldl'foldl1sumproductfoldr'foldr1maximumelemfoldfoldMapfoldMap' maximumBy minimumByconcatandoranyallnotElem concatMapfoldrMfoldlM traverse_for_ sequenceA_find GHC.IORefIORefatomicModifyIORef' Data.IORefatomicWriteIORefatomicModifyIORefnewIORef readIORef writeIORef mkWeakIORef modifyIORef modifyIORef'ghc-prim GHC.TypesIntGHC.IntInt8Int16Int32Int64MonoidmconcatmappendmemptyData.Semigroup.InternalAnygetAnySumgetSumProduct getProduct Data.MonoidLastgetLastFirstgetFirstAltgetAltAllgetAllEndoappEndoDualgetDualApgetAp<>OrderingLTEQGT GHC.ClassesOrdcompare>=<<=>maxminData.OrdDowngetDownclamp comparingWordGHC.WordWord8Word64Word32Word16 byteSwap16 byteSwap32 byteSwap64 bitReverse8 bitReverse16 bitReverse32 bitReverse64GHC.ArrArrayGHC.IxIxrangeindexinRange rangeSizearray listArray!boundsindiceselemsassocs accumArray//accumixmap array-0.5.5.0Data.Array.IO.InternalsIOUArray GHC.IOArrayIOArrayData.Array.BaseMArray getBoundsnewArray newArray_ newListArray readArray writeArraygetElems getAssocsmapArray mapIndicesfreezethaw Data.Array.IO hGetArray hPutArray GHC.MaybeMaybeNothingJust Data.MaybemaybeisJust isNothingfromJust fromMaybe maybeToList listToMaybe catMaybesmapMaybe GHC.FloatFloatingpiexplogsqrt**logBasesincostanasinacosatansinhcoshtanhasinhacoshatanhlog1pexpm1log1pexplog1mexpGHC.Real showSigned showFloat floatToDigitsfromRatGHC.Read lexDigitsNumericreadIntreadBinreadOctreadDecreadHex readFloat readSignedshowInt showEFloat showFFloat showGFloat showFFloatAlt showGFloatAlt showHFloat showIntAtBaseshowHexshowOctshowBin/network-byte-order-0.1.7-183l24JU6xQ9NGdCLjd3gUNetwork.ByteOrder ReadBuffer WriteBufferoffsetstartlimit oldoffsetBufferOffset BufferOverrunReadableread8readInt8ff remainingSizepositionwithCurrentOffSetsave savingSizegoBack BufferSize toByteStringcopyword8toShortByteStringpoke8poke16poke24poke32poke64peek8peek16peek24peek32peek64peekByteString bytestring8 bytestring16 bytestring32 bytestring64word16word32word64unsafeWithByteStringbufferIOnewWriteBufferclearWriteBufferwrite8write16write24write32write64 shiftLastNcopyByteStringcopyShortByteStringwithWriteBufferwithWriteBuffer' currentOffset newReadBufferwithReadBufferextractByteStringextractShortByteStringread16read24read32read64atomicModifyIORef''copyBS streamFlowTx streamFlowRx streamStateTx streamStateRx streamRecvQ streamReassstreamSyncFinTxputRecvStreamQtakeRecvStreamQtryTakeRecvStreamQaddRxStreamData bytesInFlightcongestionWindowcongestionRecoveryStartTimessthresh bytesAcked latestRTT smoothedRTTrttvarminRTTmaxAckDelay1RTTptoCount kInitialRTT LostPacket SentPacketsemptySentPacketsRTT initialRTTCCModeRecovery SlowStart AvoidanceCCnumOfAckElicitingccMode initialCC LossDetectionlargestAckedPacketpreviousAckInfotimeOfLastAckElicitingPacketlossTimeinitialLossDetection MetricsDiff TimerTypeLossTimePTO TimerInfo timerTime timerLevel timerType TimerInfoQEmptyNextTimerCancelled TimerExpiredmakeSentPacketsmakeLossDetection ldccState ldccQlogger putRetrans recoveryRTT recoveryCCspaceDiscarded sentPackets lossDetectiontimerKey timerInfolostCandidatesptoPing speedingUppktNumPersistentpeerPacketNumberspreviousRTT1PPNs timerInfoQqlogMetricsUpdatedqlogPacketLostqlogContestionStateUpdatedqlogLossTimerUpdatedqlogLossTimerCancelledqlogLossTimerExpired retransmitsendPingmergeLostCandidatesmergeLostCandidatesAndClearpeerCompletedAddressValidation countAckEliinCongestionRecoveryaddPeerPacketNumbersdelPeerPacketNumbersclearPeerPacketNumbersreducePeerPacketNumbersgetPktNumPersistentsetPktNumPersistent setSpeedingUpkPacketThresholdkTimeThreshold kGranularitykInitialWindowkMinimumWindowkLossReductionFactorkPersistentCongestionThresholdtimerGranularitygetMaxAckDelaycalcPTObackOffinPersistentCongestion updateRTTupdateCCmetricsUpdateddiscard onPacketsLostreleaseByPredicatedetectAndRemoveLostPacketsremovePacketNumbersgetLossTimeAndSpacegetPtoTimeAndSpacesetLossDetectionTimer dirQLoggerencodePacketNumberdecodePacketNumberisQuicencodeFramesWithPadding handleLogT handleLogUnitTrue readerServerDispatchtokenMgr newDispatch clearDispatch runDispatcheracceptAcceptaccVersionInfo accMyAuthCIDsaccPeerAuthCIDs accMySocketaccPeerSockAddraccRecvQ accPacketSize accRegister accUnregisteraccAddressValidatedaccTime recvServerrunNewServerReadersendermkHeader sendFinalreceiverBlocked StrmBlocked ConnBlocked BothBlockedaddTx sendBlockedsplit checkBlockedHndState hsRecvCntnewHndStateRef sendCompleted recvCompletedrxLevelChangedsendCryptoDatarecvCryptoDatarecvTLSsendTLS internalErrorhandshakeClienthandshakeClient'handshakeServerhandshakeServer' setPeerParamsstoreNegotiatedsendCCParamError sendCCVNErrorsendCCTLSErrorsendCCTLSAlert getErrorCauseConnResconnResConnectiondefaultPacketSizemaximumPacketSizeclosure readerClient recvClientFalse