Êþº¾Eg  java/lang/Object()V)java/util/concurrent/atomic/AtomicBoolean   (Z)V  Enet/minecraft/client/gui/screens/social/RemoteFriendListUpdateHandlerupdateInProgress+Ljava/util/concurrent/atomic/AtomicBoolean;  enabled(java/util/concurrent/CopyOnWriteArraySet   updateListenersLjava/util/Set;  lastUpdateNanosJ !"# $%/com/mojang/authlib/services/response/FriendDataempty3()Lcom/mojang/authlib/services/response/FriendData; ' ()latestFriendData1Lcom/mojang/authlib/services/response/FriendData; +,- ./Knet/minecraft/client/gui/screens/social/RemoteFriendListUpdateHandler$StateLOADINGMLnet/minecraft/client/gui/screens/social/RemoteFriendListUpdateHandler$State; 1 2/state4java/util/HashSet 3 7 8 knownFriends : ; knownIncoming = > knownOutgoing @ ABfriendsService,Lcom/mojang/authlib/services/FriendsService; D EF minecraft Lnet/minecraft/client/Minecraft;H IJ newThread&()Ljava/util/concurrent/ThreadFactory; LMN OPjava/util/concurrent/Executors newSingleThreadScheduledExecutorU(Ljava/util/concurrent/ThreadFactory;)Ljava/util/concurrent/ScheduledExecutorService; R ST scheduler/Ljava/util/concurrent/ScheduledExecutorService; V WXget()Z Z[\ ]^java/lang/SystemnanoTime()J ` a^getUpdateIntervalNanos c drunUpdateFriendDataInternal fgh ij java/util/Setadd(Ljava/lang/Object;)Z fl mjremove opq rs*com/mojang/authlib/services/FriendsServicegetFriendsPollInterval()Ljava/util/Optional;u vwapply()Ljava/util/function/Function; yz{ |}java/util/Optionalmap3(Ljava/util/function/Function;)Ljava/util/Optional;  €FOREGROUND_INTERVAL_NANOS ‚ƒ„ …†java/lang/LongvalueOf(J)Ljava/lang/Long; yˆ ‰ŠorElse&(Ljava/lang/Object;)Ljava/lang/Object; ‚Œ �^ longValue ��‘ ’“net/minecraft/client/MinecraftguiLnet/minecraft/client/gui/Gui; •–— ˜™net/minecraft/client/gui/Guiscreen+()Lnet/minecraft/client/gui/screens/Screen;›=net/minecraft/client/gui/screens/friends/FriendsOverlayScreen Ÿ  ¡ compareAndSet(ZZ)Z £ ¤¥LOGGERLorg/slf4j/Logger;§FAttempted to run Friends List update but update is already in progress ©ª« ¬­org/slf4j/Loggerdebug(Ljava/lang/String;)V¯Performing Friends List update±+java/util/concurrent/atomic/AtomicReference °³ ´(Ljava/lang/Object;)V ¶·¸ ¹Šjava/util/ObjectsrequireNonNull» ¼½acceptL(Ljava/util/concurrent/atomic/AtomicReference;)Ljava/util/function/Consumer; o¿ ÀÁ getFriendDataV(Ljava/util/function/Consumer;)Lcom/mojang/authlib/services/FriendsService$ResultCode; à ÄÅmapResultCodeToState†(Lcom/mojang/authlib/services/FriendsService$ResultCode;)Lnet/minecraft/client/gui/screens/social/RemoteFriendListUpdateHandler$State; ÇÈÉ ÊË5com/mojang/authlib/services/FriendsService$ResultCodeSUCCESS7Lcom/mojang/authlib/services/FriendsService$ResultCode;Í/Friends List update failed with result code: {} ©Ï ÐÑwarn'(Ljava/lang/String;Ljava/lang/Object;)V Ó Ô set Ö ×notifyListeners °Ù WÚ()Ljava/lang/Object; Ü ÝÞdetectChangesAndShowToast�(Lcom/mojang/authlib/services/response/FriendData;Lnet/minecraft/client/gui/screens/social/RemoteFriendListUpdateHandler$State;)Zàjava/lang/ThrowableâFailed to update friend data ©ä Ðå*(Ljava/lang/String;Ljava/lang/Throwable;)V çèé êëGnet/minecraft/client/gui/screens/social/RemoteFriendListUpdateHandler$1@$SwitchMap$com$mojang$authlib$services$FriendsService$ResultCode[I Çí îïordinal()Iñjava/lang/MatchException ðó å +õ ö/TEMPORARY_UNAVAILABLE +ø ù/CONNECTION_ISSUE +û ü/UPGRADE_NEEDED +þ ÿ/USER_MAY_LACK_ACTIVE_PROFILE + / UNAUTHORIZED + / GENERIC_ERROR + Ê/ f  XisEmpty *Notifying {} Friends List update listeners f ïsize  …java/lang/Integer(I)Ljava/lang/Integer; © ¬Ñ run](Lnet/minecraft/client/gui/screens/social/RemoteFriendListUpdateHandler;)Ljava/lang/Runnable; � execute(Ljava/lang/Runnable;)V ! !"friends()Ljava/util/List; 3$ %(Ljava/util/Collection;)V !' ("incomingRequests !* +"outgoingRequests - .XisInGameAndToastsDisabled f0 12iterator()Ljava/util/Iterator; 456 7Xjava/util/IteratorhasNext 49 :Únext<.com/mojang/authlib/services/response/FriendDto f> ?jcontains ;A BC profileId()Ljava/util/UUID; ;E FGname()Ljava/lang/String;I JKemitK()Lnet/minecraft/client/gui/components/toasts/FriendToast$SkinToastEmitter; M NOemitToastWithSkinn(Ljava/util/UUID;Ljava/lang/String;Lnet/minecraft/client/gui/components/toasts/FriendToast$SkinToastEmitter;)VIIS T�(Lnet/minecraft/client/gui/screens/social/RemoteFriendListUpdateHandler;Lcom/mojang/authlib/services/response/FriendDto;)Ljava/lang/Runnable; fV Wjequals �Y Z[level.Lnet/minecraft/client/multiplayer/ClientLevel; �] ^_optionsLnet/minecraft/client/Options; abc denet/minecraft/client/OptionsinGameNotification'()Lnet/minecraft/client/OptionInstance; gÙh#net/minecraft/client/OptionInstancejjava/lang/Boolean il mX booleanValueo pÈ(Lnet/minecraft/client/gui/screens/social/RemoteFriendListUpdateHandler;Lnet/minecraft/client/gui/components/toasts/FriendToast$SkinToastEmitter;Ljava/lang/String;Ljava/util/UUID;)Ljava/lang/Runnable; rst uX-java/util/concurrent/ScheduledExecutorService isShutdown wxy z{&java/util/concurrent/CompletableFuturecompletedFuture<(Ljava/lang/Object;)Ljava/util/concurrent/CompletableFuture; w ~ …(Lnet/minecraft/client/gui/screens/social/RemoteFriendListUpdateHandler;Ljava/util/concurrent/CompletableFuture;)Ljava/lang/Runnable; r‚-Failed to schedule forced Friends List update w„ …jcomplete‡JAttempted to start Friends List updater but scheduler is already shut down ©‰ Э ‹ Œ� scheduledTick&Ljava/util/concurrent/ScheduledFuture; ��‘ ’X$java/util/concurrent/ScheduledFuture isCancelled �” •XisDone  ˜™š ›œjava/util/concurrent/TimeUnitSECONDSLjava/util/concurrent/TimeUnit; rž Ÿ scheduleWithFixedDelay](Ljava/lang/Runnable;JJLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture; �¢ £¤cancel(Z)Z ¦ §stop r© ª" shutdownNow ¬­® J¯Gnet/minecraft/client/gui/components/toasts/FriendToast$SkinToastEmitterE(Lnet/minecraft/client/Minecraft;Ljava/lang/String;Ljava/util/UUID;)V ±²³ ´µ6net/minecraft/client/gui/components/toasts/FriendToastshowFriendRequestSent5(Lnet/minecraft/client/Minecraft;Ljava/lang/String;)V·java/lang/Runnable ¶¹ »Friends List callback failed½java/lang/Thread¿ Friends List ¼Á Â)(Ljava/lang/Runnable;Ljava/lang/String;)V ¼Ä Å  setDaemon ÇÈÉ ÊËcom/mojang/logging/LogUtils getLogger()Lorg/slf4j/Logger; ˜Í ΜMINUTES ˜Ð ÑÒtoNanos(J)JBACKGROUND_INTERVAL_MULTIPLIER ConstantValuePOLL_INTERVAL_SECONDS Signature%Ljava/util/Set;ALjava/util/Set;)Ljava/util/concurrent/ScheduledFuture<*>;RuntimeVisibleTypeAnnotations#Lorg/jspecify/annotations/Nullable;O(Lcom/mojang/authlib/services/FriendsService;Lnet/minecraft/client/Minecraft;)VCodeLineNumberTableLocalVariableTablethisGLnet/minecraft/client/gui/screens/social/RemoteFriendListUpdateHandler;MethodParametersrunBackgroundTicknow StackMapTablegetLatestFriendDatagetStateO()Lnet/minecraft/client/gui/screens/social/RemoteFriendListUpdateHandler$State;addUpdateListenerlistenerLjava/lang/Runnable;removeUpdateListenerforegroundNanos)Lnet/minecraft/client/gui/screens/Screen;ò'net/minecraft/client/gui/screens/Screen resultCodenewState previousStatestateTransitionZdata dataChangedeLjava/lang/Throwable; friendData-Ljava/util/concurrent/atomic/AtomicReference;shouldNotifyListenersLocalVariableTypeTable`Ljava/util/concurrent/atomic/AtomicReference; friendDto0Lcom/mojang/authlib/services/response/FriendDto;currentFriendscurrentIncomingcurrentOutgoing hasChangesplayerIdLjava/util/UUID; playerNameLjava/lang/String;emitterILnet/minecraft/client/gui/components/toasts/FriendToast$SkinToastEmitter; forceUpdate*()Ljava/util/concurrent/CompletableFuture;future(Ljava/util/concurrent/CompletableFuture;:Ljava/util/concurrent/CompletableFuture;<()Ljava/util/concurrent/CompletableFuture;startcloselambda$forceUpdate$0+(Ljava/util/concurrent/CompletableFuture;)Vlambda$emitToastWithSkin$0n(Lnet/minecraft/client/gui/components/toasts/FriendToast$SkinToastEmitter;Ljava/lang/String;Ljava/util/UUID;)V"lambda$detectChangesAndShowToast$03(Lcom/mojang/authlib/services/response/FriendDto;)Vlambda$notifyListeners$0i$Ljava/util/Iterator; lambda$new$0((Ljava/lang/Runnable;)Ljava/lang/Thread;runnablethreadLjava/lang/Thread; SourceFile"RemoteFriendListUpdateHandler.java NestMembersBootstrapMethods* + Š. /01 Ñ^java/time/Duration3&(Ljava/time/Duration;)Ljava/lang/Long;´6 °7 Ô´94(Lcom/mojang/authlib/services/response/FriendData;)V< = ¯@ ±A B¯showFriendRequestAcceptedD ±E F¯showFriendAddedH ±I J¯showFriendRequestReceivedL M O P R S U V åX YZ[ \]"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; InnerClassesState ResultCodeSkinToastEmitterc%java/lang/invoke/MethodHandles$Lookupejava/lang/invoke/MethodHandlesLookup1 ¤¥€ÓÔœÕÔÖABEFSTØÙBB()B2/B8ØÚB;ØÚB>ØÚŒ�ØÛÜÝÞßär*·*»Y· µ *»Y· µ*»Y·µ* µ*¸ µ&*²*µ0*»3Y·5µ6*»3Y·5µ9*»3Y·5µ<*+µ?*,µC*ºG¸KµQ±à:1%&''),*3+:,E-P.[2`3e4q9á râãrABrEFä AEåߌ5*´ ¶Uš *´¶Uš±¸Y@*´ ”™*´e*¶_”›*¶b±à<=@A0B4Dá5âãæç üè%ß/*´&°àGá âãéêß/*´0°àKá âãëßD *´+¹eW±à O Pá âã ìíäìîßD *´+¹kW±à S Tá âã ìíäìa^ß ;*´?¹nºt¶x²~¸�¶‡À‚¶‹@*´C´Ž¶”N-Áš™­œi­àWXY![,\3]5_á ;âã!ï,˜ðç ý5ñdßÞ *´ ¶žš²¢¦¹¨±²¢®¹¨»°Y¸ ·²L=*´?+Y¸µWºº¹¾N-¸Â:*´0:¥§6*µ0-²Æ¥(²¢Ì-¹Î=*´ ¶Ò*¸Yµ™*¶Õ±+¶ØÀ!:*µ&*¶Û6š™§=*´ ¶Ò*¸Yµ™L*¶Õ§EN²¢á-¹ã*´ ¶Ò*¸Yµ™&*¶Õ§: *´ ¶Ò*¸Yµ™*¶Õ ¿±.wÒß�¸Òß.wø�¸øÒÞøøúøàž'd efi!j,k.mCnIoOp]qcrjsutw€†�Š‚Žu�x˜yžz¨{¸À€Ç�Ë‚Ò|Ó}Þæ€í�ñ‚ø€ � ‚„…áf CuóËIoô/Oiõ/][ö÷˜ ø)¨ù÷Ó úûâã,éüý.çþ÷ÿ ,éüçe ÿB °Ç++@ü2ý"!@ÿ °ßeßÿ  °ßÿ ° ÄÅßÖv²æ*¶ì.ª< FFFFLRX^ddj»ðY·ò¿²ô§$²÷§²ú§²ý§²§ ²§²°à& ˆN‰TŠZ‹`Œf�lŽr�uˆá vóËç ûD B+äó×ßu2*´¹™±²¢ *´¹ ¸¹*´C*º¶±à” • ˜$™1¢á 2âãç ÝÞßî—»3Y+¶·#N»3Y+¶&·#:»3Y+¶)·#:,²¥*-µ6*µ9*µ<¬*¶,š-¹/:¹3™e¹8À;:*´6¹=šH*´<¹=š*´9¹=™*¶@¶DºH¶L§*¶@¶DºP¶L§ÿ—¹/:¹3™>¹8À;:*´9¹=š!-¹=š*¶@¶DºQ¶L§ÿ¾¹/:¹3™:¹8À;:*´<¹=š-¹=š*´C*ºR¶§ÿÂ*´6-¹U™*´9¹U™*´<¹Uš§6*-µ6*µ9*µ<¬àr¥ ¦§&©-ª2«8¬>­@°G±e²s³�´¥¶¸¹»ºÚ»ó¼¾ ¿(ÀAÁPÃSƃLjȎɔÊáf eSÚ,((—âã—ü)—õ/ ‹~&qƒ÷ÿ  ‹Ú~Ú&qÚç;þ@fffü4ü?;úúü4ûAúü4=ú(@ä üõ.Xß[&*´C´XÆ*´C´\¶`¶fÀi¶kš§¬àÎá &âãç$@NOß]*´C*-,+ºn¶±à ÒÓá*âã    ä    ßÞK*´¶U™*´Q¹q™¸v°»wY·|L*´Q*+º}¹€§M²¢�,¹ã+¶ƒW+°#36ßà& Ö×Ù#Û3å6â7ãCäIæá 7úûKâã#(ÿ #(çÿ wߨ!߯]*´Q¹q™²¢†¹ˆ±*´¶žš±*´ŠÆ*´йŽš*´й“™**´Q*º– ²—¹�µбà"ê ëìî$ï%ñDò\ôá ]âãç !§ßc *´¶Ò*´ŠÆ*´Š¹¡W*µбà÷øùúüá  âãç!ßA*¶¥*´Q¹¨W±àÿá âãßt*¶b+¶ƒW§ M+¶ƒW,¿± àÝß à ßàááâãçMßßU +*´C,-¹«±àÒá* âã       ß@ *´C+¶D¸°±àÁá âã ߯7*´¹/L+¹3™&+¹8À¶M,¹¸§N²¢º-¹ã§ÿ×±#&ßàšœ#Ÿ&�'ž3 6¡á*' úûìí ,7âãç!ü 4ÿ 4¶ßú ú ßO»¼Y*¾·ÀL+¶Ã+°à5 67á í !"#ß-¸Ƴ¢²Ì ¶ϳ~±à $%&ç+'p W()(W,-2W458W:;:W>?>W>C>W>G>W:K:W:N:W:Q:W:T:^*+ _@Ço`@笱a bdf