7  java/lang/Object()V  "net/luminis/quic/packet/QuicPacket packetNumberJjava/util/ArrayList   framesLjava/util/List;   packetSizeI#+net/luminis/quic/NotYetImplementedException%cannot encode pn > 4 bytes "' ((Ljava/lang/String;)V *+, -.java/nio/ByteBuffer remaining()I0'net/luminis/quic/InvalidPacketException / *3 4.position *6 47(I)Ljava/nio/ByteBuffer; *9 :;get([B)Ljava/nio/ByteBuffer; = >?createHeaderProtectionMask$([BLnet/luminis/quic/crypto/Aead;)[B A BCsetUnprotectedHeader(B)V E FG bytesToInt([B)I I JKdecodePacketNumber(JJI)JM NOmakeConcatWithConstants(J)Ljava/lang/String; QRS T(net/luminis/quic/log/Logger decrypted VWX YZjava/lang/System arraycopy*(Ljava/lang/Object;ILjava/lang/Object;II)V\ Frame header Q^ _` encrypted(Ljava/lang/String;[B)V *b :c([BII)Ljava/nio/ByteBuffer;eEncrypted payload g hidecryptPayload'([B[BJLnet/luminis/quic/crypto/Aead;)[BkDecrypted payload Qm T` o pq parseFrames"([BLnet/luminis/quic/log/Logger;)V s >t%([BILnet/luminis/quic/crypto/Aead;)[B vwx >ynet/luminis/quic/crypto/Aead([B)[B v{ |} getWriteIV()[B * 7allocate * .capacity * put(B)Ljava/nio/ByteBuffer; * putLong(J)Ljava/nio/ByteBuffer; * }array v  aeadEncrypt ([B[B[B)[B * 7putInt)net/luminis/quic/packet/ShortHeaderPacket  keyPhaseBitS v  checkKeyPhase(S)V v  aeadDecrypt@ * ;wrap * mark()Ljava/nio/ByteBuffer; * :()B * resetnet/luminis/quic/frame/Padding  parseT(Ljava/nio/ByteBuffer;Lnet/luminis/quic/log/Logger;)Lnet/luminis/quic/frame/Padding;  java/util/Listadd(Ljava/lang/Object;)Z net/luminis/quic/frame/PingFrame  quicVersionLnet/luminis/quic/Version; (Lnet/luminis/quic/Version;)V V(Ljava/nio/ByteBuffer;Lnet/luminis/quic/log/Logger;)Lnet/luminis/quic/frame/PingFrame;net/luminis/quic/frame/AckFrame  U(Ljava/nio/ByteBuffer;Lnet/luminis/quic/log/Logger;)Lnet/luminis/quic/frame/AckFrame;'net/luminis/quic/frame/ResetStreamFrame  ](Ljava/nio/ByteBuffer;Lnet/luminis/quic/log/Logger;)Lnet/luminis/quic/frame/ResetStreamFrame;'net/luminis/quic/frame/StopSendingFrame ](Ljava/nio/ByteBuffer;Lnet/luminis/quic/log/Logger;)Lnet/luminis/quic/frame/StopSendingFrame;"net/luminis/quic/frame/CryptoFrame  X(Ljava/nio/ByteBuffer;Lnet/luminis/quic/log/Logger;)Lnet/luminis/quic/frame/CryptoFrame;$net/luminis/quic/frame/NewTokenFrame  Z(Ljava/nio/ByteBuffer;Lnet/luminis/quic/log/Logger;)Lnet/luminis/quic/frame/NewTokenFrame;#net/luminis/quic/frame/MaxDataFrame  Y(Ljava/nio/ByteBuffer;Lnet/luminis/quic/log/Logger;)Lnet/luminis/quic/frame/MaxDataFrame;)net/luminis/quic/frame/MaxStreamDataFrame  _(Ljava/nio/ByteBuffer;Lnet/luminis/quic/log/Logger;)Lnet/luminis/quic/frame/MaxStreamDataFrame;&net/luminis/quic/frame/MaxStreamsFrame  \(Ljava/nio/ByteBuffer;Lnet/luminis/quic/log/Logger;)Lnet/luminis/quic/frame/MaxStreamsFrame;'net/luminis/quic/frame/DataBlockedFrame   ](Ljava/nio/ByteBuffer;Lnet/luminis/quic/log/Logger;)Lnet/luminis/quic/frame/DataBlockedFrame;-net/luminis/quic/frame/StreamDataBlockedFrame   c(Ljava/nio/ByteBuffer;Lnet/luminis/quic/log/Logger;)Lnet/luminis/quic/frame/StreamDataBlockedFrame; *net/luminis/quic/frame/StreamsBlockedFrame     `(Ljava/nio/ByteBuffer;Lnet/luminis/quic/log/Logger;)Lnet/luminis/quic/frame/StreamsBlockedFrame;+net/luminis/quic/frame/NewConnectionIdFrame   a(Ljava/nio/ByteBuffer;Lnet/luminis/quic/log/Logger;)Lnet/luminis/quic/frame/NewConnectionIdFrame;.net/luminis/quic/frame/RetireConnectionIdFrame   d(Ljava/nio/ByteBuffer;Lnet/luminis/quic/log/Logger;)Lnet/luminis/quic/frame/RetireConnectionIdFrame;)net/luminis/quic/frame/PathChallengeFrame    _(Ljava/nio/ByteBuffer;Lnet/luminis/quic/log/Logger;)Lnet/luminis/quic/frame/PathChallengeFrame;"(net/luminis/quic/frame/PathResponseFrame ! !% &^(Ljava/nio/ByteBuffer;Lnet/luminis/quic/log/Logger;)Lnet/luminis/quic/frame/PathResponseFrame;(+net/luminis/quic/frame/ConnectionCloseFrame ' '+ ,a(Ljava/nio/ByteBuffer;Lnet/luminis/quic/log/Logger;)Lnet/luminis/quic/frame/ConnectionCloseFrame;.)net/luminis/quic/frame/HandshakeDoneFrame - -1 2_(Ljava/nio/ByteBuffer;Lnet/luminis/quic/log/Logger;)Lnet/luminis/quic/frame/HandshakeDoneFrame;4"net/luminis/quic/frame/StreamFrame 3 37 8X(Ljava/nio/ByteBuffer;Lnet/luminis/quic/log/Logger;)Lnet/luminis/quic/frame/StreamFrame;:net/luminis/quic/ProtocolError<%connection error FRAME_ENCODING_ERROR 9'?0net/luminis/quic/InvalidIntegerEncodingExceptionA NB(I)Ljava/lang/String; QD E(errorGinvalid integer encoding /'J"java/lang/IllegalArgumentExceptionLunexpected large int valueN!java/nio/BufferUnderflowExceptionPinvalid frame encoding RST UVjava/lang/LongvalueOf(J)Ljava/lang/Long;Xjava/lang/IllegalStateExceptionZPN is not yet known W' I ^ _`stream()Ljava/util/stream/Stream;b cdaccept4(Ljava/nio/ByteBuffer;)Ljava/util/function/Consumer; fgh ijjava/util/stream/StreamforEachOrdered (Ljava/util/function/Consumer;)V l m(I)V o pq serialize(Ljava/nio/ByteBuffer;)V *s tflip *v w7limit *y w. { |iencryptPayload *~ ;  encodePacketNumber(J)[B * :(I)B * (IB)Ljava/nio/ByteBuffer;  addAll(Ljava/util/Collection;)Z  getClass()Ljava/lang/Class;  java/lang/Class getSimpleName()Ljava/lang/String; N&(Ljava/lang/String;)Ljava/lang/String;  getEncryptionLevel$()Lnet/luminis/quic/EncryptionLevel;   net/luminis/quic/EncryptionLevelApp"Lnet/luminis/quic/EncryptionLevel;  equals test ()Ljava/util/function/Predicate; f filter9(Ljava/util/function/Predicate;)Ljava/util/stream/Stream; f  findFirst()Ljava/util/Optional;  java/util/Optional isPresent()Z W f anyMatch!(Ljava/util/function/Predicate;)Z f allMatch  destinationConnectionId[B  isProbeZ   net/luminis/quic/frame/QuicFrameisAckEliciting oMAX_PACKET_SIZE ConstantValue Signature4Ljava/util/List;CodeLineNumberTableLocalVariableTablethis$Lnet/luminis/quic/packet/QuicPacket;computePacketNumberSize(J)I StackMapTableencodePacketNumberLength(BJ)BflagsBparsePacketNumberAndPayloadV(Ljava/nio/ByteBuffer;BILnet/luminis/quic/crypto/Aead;JLnet/luminis/quic/log/Logger;)VdecryptedFlagsibufferLjava/nio/ByteBuffer;remainingLengthaeadLnet/luminis/quic/crypto/Aead;largestPacketNumberlogLnet/luminis/quic/log/Logger;currentPositionsamplemaskprotectedPackageNumberLengthprotectedPackageNumberunprotectedPacketNumber frameHeaderencryptedPayloadLengthpayload frameBytes Exceptions$net/luminis/quic/DecryptionException ciphertextencodedPacketNumberLength sampleOffsetbmessageassociatedDatawriteIV nonceInputnoncetruncatedPacketNumberbitsexpectedPacketNumberpnWindow pnHalfWindowpnMask candidatePne2Lnet/luminis/quic/InvalidIntegerEncodingException;$Ljava/lang/IllegalArgumentException;#Ljava/nio/BufferUnderflowException; frameTypegetPacketNumber()Ljava/lang/Long;setPacketNumber(J)VpngeneratePayloadBytespadding Lnet/luminis/quic/frame/Padding;serializeFramesLengthprotectPacketNumberAndPayloadM(Ljava/nio/ByteBuffer;ILjava/nio/ByteBuffer;ILnet/luminis/quic/crypto/Aead;)V packetBufferpacketNumberSize paddingSizepacketNumberPositionadditionalDataSizeadditionalData paddedPayloadencryptedPayloadprotectedPacketNumberencodedPacketNumberdatavalueaddFrame%(Lnet/luminis/quic/frame/QuicFrame;)Vframe"Lnet/luminis/quic/frame/QuicFrame; addFrames(Ljava/util/List;)VLocalVariableTypeTable7(Ljava/util/List;)VgetSizeestimateLength(I)I getPnSpace()Lnet/luminis/quic/PnSpace;generatePacketBytes"(Lnet/luminis/quic/crypto/Aead;)[BU(Ljava/nio/ByteBuffer;Lnet/luminis/quic/crypto/Aead;JLnet/luminis/quic/log/Logger;I)V getFrames()Ljava/util/List;6()Ljava/util/List;g(Lnet/luminis/quic/PacketProcessor;Ljava/time/Instant;)Lnet/luminis/quic/PacketProcessor$ProcessResult;isCryptocopy&()Lnet/luminis/quic/packet/QuicPacket; canBeAcked isAckOnlyisInflightPacketgetDestinationConnectionId setIsProbe(Z)Vprobe getVersion()Lnet/luminis/quic/Version;lambda$isInflightPacket$4%(Lnet/luminis/quic/frame/QuicFrame;)Zlambda$isAckOnly$3lambda$isAckEliciting$2lambda$isCrypto$1flambda$generatePayloadBytes$0:(Ljava/nio/ByteBuffer;Lnet/luminis/quic/frame/QuicFrame;)V SourceFileQuicPacket.javaBootstrapMethodsU VWX NY$java/lang/invoke/StringConcatFactory(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite;[Unprotected packet number: ]VParse error while parsing frame of type , packet will be marked invalid (and dropped)_ `ab cd"java/lang/invoke/LambdaMetafactory metafactory(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;f(Ljava/lang/Object;)Vh i OP*l no size for o p MJJs t LJv w KJy z IJ InnerClasses}.net/luminis/quic/PacketProcessor$ProcessResult net/luminis/quic/PacketProcessor ProcessResult%java/lang/invoke/MethodHandles$Lookupjava/lang/invoke/MethodHandlesLookup!  )e'** *Y**Y+% &',&- ' m 01 3467:    YTY{TYT#Y{TY{TYT ,Y{TY{TY{TYT"Y$&& ?@BC1E9FYHaIL  '0; "Y$&& WX Z[]^$`,a1d;;  x+) /Y1+26+) /Y1+`5W+) /Y1: + 8W* <: ~ 3~6  3~6 * @+5W ~`6  : + 8W :6  3 `3T*D **  hH * LP+26+2:+5W+8W T+5W d U[] d6 /Y1:+aWd]** f:jl*Y*n-ijqxy&{/~8@FMWbq},7=CKQ[fvn FO W> }   =XQDvE0 * *vQ/BC5>?F*+,r >td6:+U-u > |is~z:~:6dW!W :6 :  6 6   !  36    3T ,+2 !(.5;>[lrp [ ~~~~ ~ um;C>@ 5*  v*$hi`| ~:W!W**z: :6 :  6 6   !  36    3T ,+2 *39<Yjpf Y |||| |u3I9C<@ .**  v*$JK _ a7 y7m7  e7  7   e e  a  a   e *     &=CV\R___Z T L  B  &9  Cpq++N6-)-W-6-W)B[tt/LLi*Y-,WF*Y*÷-,ʹW)*Y-,йW*Y-,ֹW*Y*÷-,ܹW*Y-,W*Y-,W*Y-,W*Y-,Wv*Y-,W]*Y-,WD*Y-,W+* Y -, W*Y*÷-,W*Y*÷-,W*Y*÷-,W*!Y*÷#-,$W*'Y*÷)-,*W*-Y*÷/-,0Wd#*3Y5-,6W=9Y;=Q:,@C/YFH:,@C/YKH:,@C/YOH>IM;!"#$&')*-.013.416G7J9`:c<y=|?@CDFGIJMNPQS0T3VMWPYjZm]^`acdi{noprsvxyz*|R   +++&#.*& B>YIYM/W* * QWYY[  ] IY\* 7Qܸ~M*],ae,2>`&Yd,2dk:*W,n,rW,&  '8DJO48QQJ 1 J*T+2d6+26:+rW+8W++uW-x`: - -xaW* * z: + }W* : *  r:  : 6   3 `3T+6~ 3~6 3~6+W+26+5W+ }W+5Wj )4@PW`mtw! !"4# P$ tx% `& m M4w **v " FG}<=*x*3~<  '( )*D *+W    +,-.V *+W    /  01.[ **WY*[    2345678/9:/* ;c<=n1*%*]  0  1/@>?2WY @, >*] A>*]  B>*]( C}/*İ, DE>*ȱ 01FGH/*ð4  IJJ*̚ *( +,@ KJ/*ͬ  +, LJ/*̬ +, MJ/*߬  N, OP:+*ѱ+,QRSFTZT\^egjTk^mnq^mrq^muq^mxq{|~@