7<  java/time/Clock systemUTC()Ljava/time/Clock;   net/luminis/quic/AckGeneratorL(Ljava/time/Clock;Lnet/luminis/quic/PnSpace;Lnet/luminis/quic/send/Sender;)V  java/lang/Object()V  net/luminis/quic/Version getDefault()Lnet/luminis/quic/Version;   quicVersionLnet/luminis/quic/Version;java/util/ArrayList   !"rangesToAcknowledgeLjava/util/List;$java/util/HashMap # ' ()ackSentWithPacketLjava/util/Map; + ,- acksNotSendI / 01clockLjava/time/Clock; 3 45pnSpaceLnet/luminis/quic/PnSpace; 7 89senderLnet/luminis/quic/send/Sender; ;<= >?java/util/ListisEmpty()Z A BCnewPacketsToAcknowledgeZ EFG H?"net/luminis/quic/packet/QuicPacket canBeAcked EJ KLgetPacketNumber()Ljava/lang/Long; NOP QRjava/lang/Long longValue()J TUV WXnet/luminis/quic/ack/RangeextendRangeList(Ljava/util/List;J)Z EZ [?isAckEliciting ] ^_newPacketsToAcknowlegdeSinceLjava/time/Instant; a bcinstant()Ljava/time/Instant; efg h5net/luminis/quic/PnSpaceApp jkl mnnet/luminis/quic/send/SendersendAck(Lnet/luminis/quic/PnSpace;I)Vpnet/luminis/quic/frame/AckFrame or stgetAckedPacketNumbers()Ljava/util/stream/Stream;v wxtest?(Lnet/luminis/quic/AckGenerator;)Ljava/util/function/Predicate; z{| }~java/util/stream/Streamfilter9(Ljava/util/function/Predicate;)Ljava/util/stream/Stream; z  findFirst()Ljava/util/Optional;  ?java/util/Optional isPresent get()Ljava/lang/Object;   java/util/Map&(Ljava/lang/Object;)Ljava/lang/Object;  removeAcknowlegdedRanges4(Ljava/util/List;Lnet/luminis/quic/frame/AckFrame;)V keySet()Ljava/util/Set; w4(Ljava/util/Optional;)Ljava/util/function/Predicate;   java/util/SetremoveIf!(Ljava/util/function/Predicate;)Z ;  listIterator()Ljava/util/ListIterator; o getAcknowledgedRanges()Ljava/util/List;  java/util/ListIteratornext ?hasNext T  greaterThan(Lnet/luminis/quic/ack/Range;)Z T lessThan T contains remove T properlyContains T subtract:(Lnet/luminis/quic/ack/Range;)Lnet/luminis/quic/ack/Range; set(Ljava/lang/Object;)V   generateAck  registerAckSendWithPacket%(Lnet/luminis/quic/frame/AckFrame;J)V  java/time/DurationbetweenP(Ljava/time/temporal/Temporal;Ljava/time/temporal/Temporal;)Ljava/time/Duration; RtoMillis o .(Lnet/luminis/quic/Version;Ljava/util/List;I)V of((Ljava/lang/Object;)Ljava/util/Optional; empty N valueOf(J)Ljava/lang/Long; put8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;  containsKey(Ljava/lang/Object;)Z Signature.Ljava/util/List;BLjava/util/Map;;(Lnet/luminis/quic/PnSpace;Lnet/luminis/quic/send/Sender;)VCodeLineNumberTableLocalVariableTablethisLnet/luminis/quic/AckGenerator; hasAckToSend StackMapTablehasNewAckToSendpacketReceived'(Lnet/luminis/quic/packet/QuicPacket;)V ackFrequencypacket$Lnet/luminis/quic/packet/QuicPacket;process%(Lnet/luminis/quic/frame/QuicFrame;)VlatestAcknowledgedAck!Lnet/luminis/quic/frame/AckFrame; receivedAck"Lnet/luminis/quic/frame/QuicFrame;largestWithAckLjava/util/Optional;LocalVariableTypeTable&Ljava/util/Optional;currentAckRangeLnet/luminis/quic/ack/Range;ackrangeListIteratorLjava/util/ListIterator;ackRangesIteratorcurrentListRange6Ljava/util/ListIterator;R(Ljava/util/List;Lnet/luminis/quic/frame/AckFrame;)VgenerateAckForPacket(J)Ljava/util/Optional; packetNumberJackFrame7Ljava/util/Optional;:(J)Ljava/util/Optional;delay9()Ljava/util/Optional;lambda$process$1'(Ljava/util/Optional;Ljava/lang/Long;)ZkeyLjava/lang/Long;lambda$process$0(Ljava/lang/Long;)Zpn SourceFileAckGenerator.javaBootstrapMethods( )*+ ,-"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;0 1 !""4 5  InnerClasses8%java/lang/invoke/MethodHandles$Lookup:java/lang/invoke/MethodHandlesLookup! 014589!"BC^_(),-  L *+, 1 2  45 89 6* **Y*#Y%&***+.*,2*-6& 4' *-!.&5+60758*6601645689!?G*:; @!?/*@? !+D*+IMSW+Yn*@*\**.`\*2d*6*2i<=*Y*`****6*2i***6*2i>CDEF"G)H4J>KOPQR[ScTqUyY^ Q7- 4)!O+oq*uyM,2*&,oN**-*&,W"h ijln0o9sNu*0OO7 7 N+:+N,:-T:nT:--T: --¹N '1=GP^_ilvH=\  !" 'v  ! TT  !*N-*-o-   !P<*\&*2d*\*.`Ѷ׈<<*:oY**ڸݰ"&*,8LPN-,!m*& +W*@*\**  W+M*NMs @!"? *&+i # $%&'./2'.326 79;