=  java/lang/Object()VB@  java/nio/ByteBufferallocate(I)Ljava/nio/ByteBuffer;  0zombie/network/FakeClientManager$ZombieSimulatorbbLjava/nio/ByteBuffer;zombie/core/utils/UpdateLimit   updatePeriodI  (J)V    updateLimiterLzombie/core/utils/UpdateLimit; " # attackPeriod % &  attackLimiter ( )*player)Lzombie/network/FakeClientManager$Player;,#zombie/network/packets/ZombiePacket + / 01 zombiePacket%Lzombie/network/packets/ZombiePacket;3java/util/HashSet 2 6 78authoriseZombiesCurrentLjava/util/HashSet; : ;8authoriseZombiesLast=java/util/ArrayList < @ ABunknownZombiesLjava/util/ArrayList;Djava/util/HashMap C G HIzombiesLjava/util/HashMap;Kjava/util/ArrayDeque J N OP zombies4AddLjava/util/ArrayDeque; R SPzombies4Delete U V8authoriseZombies X YP SendQueue [\] ^_'zombie/network/FakeClientManager$ZombielocalOwnershipZa bctestR(Lzombie/network/FakeClientManager$ZombieSimulator;)Ljava/util/function/Predicate; 2e fgremoveIf!(Ljava/util/function/Predicate;)Z 2i jclear lmn opjava/lang/ShortvalueOf(S)Ljava/lang/Short; 2r stadd(Ljava/lang/Object;)Z v wxgetShort()S z {| parseZombie(Ljava/nio/ByteBuffer;)V +~ parse:(Ljava/nio/ByteBuffer;Lzombie/core/raknet/UdpConnection;)V + idS  ojava/lang/Integer(I)Ljava/lang/Integer; C get&(Ljava/lang/Object;)Ljava/lang/Object; 2 tcontains [ (S)V Jr  'zombie/network/FakeClientManager$Playermovement+Lzombie/network/FakeClientManager$Movement;  )zombie/network/FakeClientManager$Movement New zombie %s [ OnlineID  java/lang/Stringformat9(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;   zombie/network/FakeClientManagertrace(ILjava/lang/String;)V  java/lang/SystemcurrentTimeMillis()J [  lastUpdateJ [/ + copy((Lzombie/network/packets/ZombiePacket;)V + realXF [ x + realY [ y + realZB [ z  com/google/common/collect/Sets differenceH(Ljava/util/Set;Ljava/util/Set;)Lcom/google/common/collect/Sets$SetView;  &com/google/common/collect/Sets$SetViewiterator2()Lcom/google/common/collect/UnmodifiableIterator;  java/util/IteratorhasNext()Z next()Ljava/lang/Object; l x shortValue   becomeLocal,(Lzombie/network/FakeClientManager$Zombie;)V < <r   becomeRemote 2 addAll(Ljava/util/Collection;)Z 2 size()I < J isEmpty 2 ()Ljava/util/Iterator;  j()Ljava/nio/ByteBuffer;    putShort(S)Ljava/nio/ByteBuffer; <  (I)Ljava/lang/Object; <i  position  maxZombiesPerUpdate J poll + |write     client)Lzombie/network/FakeClientManager$Client; "#$ %&'zombie/network/FakeClientManager$Clientnetwork*Lzombie/network/FakeClientManager$Network; ()* +(zombie/network/FakeClientManager$Network startPacket -./ 01%zombie/network/PacketTypes$PacketTypeZombieSimulation'Lzombie/network/PacketTypes$PacketType; -3 4xgetId "6 78doPacket(SLjava/nio/ByteBuffer;)V : ;<array()[B > ?@put([BII)Ljava/nio/ByteBuffer; "B CconnectionGUID (E FendPacketSuperHighUnreliable JKL MNzombie/iso/IsoUtilsDistanceToSquared(FFFF)F P QdeleteZombieDistanceSquared U VWtmpDirLzombie/iso/Vector2; YZ[ \]zombie/iso/Vector2set(FF)Lzombie/iso/Vector2; [_ `_isMoving>L + def ghzombie/core/math/PZMathlerp(FFF)F + klm nozombie/iso/IsoDirections fromAngle0(Lzombie/iso/Vector2;)Lzombie/iso/IsoDirections; [q rsdirLzombie/iso/IsoDirections; u v_canChangeTarget x yz playerManager0Lzombie/network/FakeClientManager$PlayerManager; |}~ I.zombie/network/FakeClientManager$PlayerManagerplayers C values()Ljava/util/Collection; java/util/Collection;zombie/network/FakeClientManager$PlayerManager$RemotePlayer    seeZombieDistanceSquared  + target   behaviour dropPositionY k@ A8toAngle (C DendPacketImmediate -F G1 ZombieDeath kI Jindex CL ?M8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;O PQacceptS(Lzombie/network/FakeClientManager$ZombieSimulator;)Ljava/util/function/BiConsumer; CS TUforEach"(Ljava/util/function/BiConsumer;)V CW Xremove Z [ simulateAll ] ^send Y Signature&Ljava/util/HashSet;(Ljava/util/ArrayList;QLjava/util/HashMap;ALjava/util/ArrayDeque;,(Lzombie/network/FakeClientManager$Player;)VCodeLineNumberTable receivePacket StackMapTableprocessljava/lang/Throwablesimulate?(Ljava/lang/Integer;Lzombie/network/FakeClientManager$Zombie;)VsendSendDeadZombieupdatelambda$clear$0(Ljava/lang/Short;)Z SourceFileFakeClientManager.javaNestHostBootstrapMethodsy z{| }~"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;t  qrr  $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; fakezombie-'(Ljava/lang/Object;Ljava/lang/Object;)V  mnn InnerClassesZombieSimulatorPlayerZombieMovementSetViewClientNetworkzombie/network/PacketTypes PacketType PlayerManager RemotePlayer Behaviourzombie/network/NetworkVariablesPredictionTypesWalkType ZombieState%java/lang/invoke/MethodHandles$Lookupjava/lang/invoke/MethodHandlesLookup   Q    v_  #  & )*0178`a;8`aAB`bHI`cOP`dSP`dV8`aYP`d VWef***Y*Y!$*'*+Y-.*2Y45*2Y49*?*CYEF*JYLM*JYLQ*2Y4T*JYLW*+'gB +0;FQ\gr}f"+Zg f"+Zg jfT(*5L**95*+9*9*`dW*5hg  'sf) *5kqWg  h|fR+u=>*+y`>g i {|f*.M,+}*F,[N*T,k--8[Y,N*M-W*'Y-kS--,-,-,Ƶ-,̆бg> 237CLls{i 3+[8jf*5*9L+M,E,lN*F-[: **?- *?-W*9*5M,N-0-l:*F[: **TYN*Th*T*5W-ç :-gN $7<EPY\h    i@ 3l[2k^f*T*?*W_*TYL*TM,;,lN*F-[: *WW+ç :+*W*W*?<*W=*?+*? **? lW*?*=*W>*W7*W[:*)*6*W*W*WP*'!':*',25*9*=W*'!*'AD&qttxtg+&ATb l"o#{&'()*+,.*02345678;=!>(?+A.B5C>DGEQF[JcKrLMNPi4=Dk$![,Lmnf Z*'G*'H,,ɸIF%O,Z,Ra *Q,WT,v*'Gb,v*'HbXW,^?a8,,,bc,,,ic, ,Tjpt*'w{Y:*'w{:B:,,ɸI8,ç :,*' ,^TF%,^%d,pTj,^%,^,^ 8,^z,p:8%8,e7,,jjjbb,,jjjbi,,Ћ,0,,õb,,ɵi,,Ћ,,%,Y,,^Ƶ,,,,2,,õ,,ɵ,,Ћ,,j,,^,,*' ,% @*$6,Y۲f*,, *' *Q,W,#gGTU9WBXC\d]k^p_`abfghijklno)q7u@vHwQxZy_{~|~ %0=GOWez+3<IRYiU9 c'EEk $Y[,N+[+B+,fv:+ W+W+ W+%W+W+ W+W+ W+dWg*  %,29f5/>*'!':*'25 W*'WW*'GW*'HW*'W*'W*'W   *'$`W W W W' 6*'$ 6 W WW WW6 W6*+++$)6 W6 W6*+++$)*'$  W@ W*'-W W*'0W WWW+W$+ەW+öW+ɶW+жW+pW+pW   W 3  W$W W*'W*'W W WT5 2++òTT5nb9++ɲTT5nb<++õ9++ɵ<+9W+<W+Ћ W+p?W*'!*'ABg:N#*7>KXeu $.AGJRU]gz         . 6 > F M U ] d k r        ! " $ % & ' X. Yi[  [  [  [  6[ [ 6