4+com/hazelcast/crdt/pncounter/PNCounterProxyLcom/hazelcast/spi/AbstractDistributedObject;Lcom/hazelcast/crdt/pncounter/PNCounter;+com/hazelcast/spi/AbstractDistributedObject&com/hazelcast/crdt/pncounter/PNCounterPNCounterProxy.javaOBSERVED_TIMESTAMPS_UPDATER9Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;EMPTY_ADDRESS_LISTLjava/util/List;-Ljava/util/List;nameLjava/lang/String;loggerLcom/hazelcast/logging/ILogger;currentTargetReplicaAddressLcom/hazelcast/nio/Address;targetSelectionMutexLjava/lang/Object;operationTryCountI observedClock(Lcom/hazelcast/cluster/impl/VectorClock;b(Ljava/lang/String;Lcom/hazelcast/spi/NodeEngine;Lcom/hazelcast/crdt/pncounter/PNCounterService;)VB(Lcom/hazelcast/spi/NodeEngine;Lcom/hazelcast/spi/RemoteService;)V  java/lang/Object ()V " !#  %  '  )com/hazelcast/spi/NodeEngine+ getLogger2(Ljava/lang/Class;)Lcom/hazelcast/logging/ILogger; -. ,/  1this-Lcom/hazelcast/crdt/pncounter/PNCounterProxy; nodeEngineLcom/hazelcast/spi/NodeEngine;service/Lcom/hazelcast/crdt/pncounter/PNCounterService;getName()Ljava/lang/String;getServiceNamehz:impl:PNCounterService<get()J4com/hazelcast/crdt/pncounter/operations/GetOperation@  B=(Ljava/lang/String;Lcom/hazelcast/cluster/impl/VectorClock;)V D AEinvoke (Lcom/hazelcast/spi/Operation;)J GH I getAndAdd(J)J4com/hazelcast/crdt/pncounter/operations/AddOperationM?(Ljava/lang/String;JZLcom/hazelcast/cluster/impl/VectorClock;)V O NPdeltaJ addAndGetgetAndSubtractsubtractAndGetdecrementAndGetincrementAndGetgetAndDecrementgetAndIncrementreset getNodeEngine ()Lcom/hazelcast/spi/NodeEngine; ^_ `getClusterService1()Lcom/hazelcast/internal/cluster/ClusterService; bc ,d-com/hazelcast/internal/cluster/ClusterServicefgetClusterVersion!()Lcom/hazelcast/version/Version; hi gj'com/hazelcast/internal/cluster/VersionslV3_10Lcom/hazelcast/version/Version; no mpcom/hazelcast/version/Versionr isLessThan"(Lcom/hazelcast/version/Version;)Z tu sv'java/lang/UnsupportedOperationExceptionxMPNCounter operations are not supported when cluster version is less than 3.10z(Ljava/lang/String;)V | y} invokeInternalW(Lcom/hazelcast/spi/Operation;Ljava/util/List;Lcom/hazelcast/core/HazelcastException;)J  operationLcom/hazelcast/spi/Operation;t(Lcom/hazelcast/spi/Operation;Ljava/util/List;Lcom/hazelcast/core/HazelcastException;)J%com/hazelcast/core/HazelcastExceptiongetCRDTOperationTarget-(Ljava/util/List;)Lcom/hazelcast/nio/Address; com/hazelcast/nio/Address6com/hazelcast/partition/NoDataMemberInClusterExceptionXCannot invoke operations on a CRDT because the cluster does not contain any data members }getOperationService&()Lcom/hazelcast/spi/OperationService; ,"com/hazelcast/spi/OperationServicecreateInvocationBuilderq(Ljava/lang/String;Lcom/hazelcast/spi/Operation;Lcom/hazelcast/nio/Address;)Lcom/hazelcast/spi/InvocationBuilder; #com/hazelcast/spi/InvocationBuilder setTryCount((I)Lcom/hazelcast/spi/InvocationBuilder; /()Lcom/hazelcast/spi/InternalCompletableFuture; G +com/hazelcast/spi/InternalCompletableFuturejoin()Ljava/lang/Object; ;com/hazelcast/crdt/pncounter/operations/CRDTTimestampedLonggetVectorClock*()Lcom/hazelcast/cluster/impl/VectorClock; updateObservedReplicaTimestamps+(Lcom/hazelcast/cluster/impl/VectorClock;)V getValue ? com/hazelcast/spi/Operationjava/util/Listjava/lang/StringBuilder #6Exception occurred while invoking operation on target append-(Ljava/lang/String;)Ljava/lang/StringBuilder; -(Ljava/lang/Object;)Ljava/lang/StringBuilder; , choosing different targettoString : com/hazelcast/logging/ILoggerfine*(Ljava/lang/String;Ljava/lang/Throwable;)V java/util/ArrayList #add(Ljava/lang/Object;)Z builder%Lcom/hazelcast/spi/InvocationBuilder;futurelLcom/hazelcast/spi/InternalCompletableFuture;-Lcom/hazelcast/spi/InternalCompletableFuture;result=Lcom/hazelcast/crdt/pncounter/operations/CRDTTimestampedLong;e'Lcom/hazelcast/core/HazelcastException;excludedAddresses lastExceptiontarget&com/hazelcast/cluster/impl/VectorClockisAfter+(Lcom/hazelcast/cluster/impl/VectorClock;)Z 7java/util/concurrent/atomic/AtomicReferenceFieldUpdater compareAndSet9(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Z  currentClockreceivedVectorClockJ(Ljava/util/List;)Lcom/hazelcast/nio/Address;  contains chooseTargetReplica java/lang/ThrowablegetReplicaAddresses((Ljava/util/Collection;)Ljava/util/List;  isEmpty()Z   getLocalMember()Lcom/hazelcast/core/Member;   ,com/hazelcast/core/Member getAddress()Lcom/hazelcast/nio/Address;  5com/hazelcast/internal/util/ThreadLocalRandomProvider()Ljava/util/Random; > size()I  java/util/RandomnextInt(I)I !"  #(I)Ljava/lang/Object; >% &replicaAddresses localAddressrandomReplicaIndexb(Ljava/util/Collection;)Ljava/util/List;4com/hazelcast/cluster/memberselector/MemberSelectors,DATA_MEMBER_SELECTOR#Lcom/hazelcast/core/MemberSelector; ./ -0 getMembers;(Lcom/hazelcast/core/MemberSelector;)Ljava/util/Collection; 23 g4 getConfig()Lcom/hazelcast/config/Config; 67 ,8com/hazelcast/config/Config:findPNCounterConfig:(Ljava/lang/String;)Lcom/hazelcast/config/PNCounterConfig; <= ;>$com/hazelcast/config/PNCounterConfig@getReplicaCount B ACjava/util/CollectionE Fjava/lang/MathHmin(II)I JK IL(I)V N Oiterator()Ljava/util/Iterator; QR FSjava/util/IteratorUnext W VX F dataMemberAddressi3Ljava/util/Collection;Ljava/util/Collection; dataMembers3Ljava/util/Collection;maxConfiguredReplicaCountcurrentReplicaCount2Ljava/util/ArrayList;Ljava/util/ArrayList;dataMemberIterator1Ljava/util/Iterator;Ljava/util/Iterator;getCurrentTargetReplicaAddresssetOperationTryCountPNCounter{name='k'}m newUpdatero(Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/String;)Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater; qr sjava/util/Collectionsu emptyList()Ljava/util/List; wx vy SignatureCodeLineNumberTableLocalVariableTable StackMapTableLocalVariableTypeTable SourceFile! {  {BB|(*,-*!Y$&*(*+**,02}I>@JK'L~*(34((56(789:|/**}P~ 34;:|-=}U~ 34>?|>*AY***CFJ}Z~ 34KL|J*NY***CQJ}_~34RSTL|J*NY***CQJ}d~34RSUL|K*NY**u*CQJ}i~34RSVL|K*NY**u*CQJ}n~34RSW?|B*NY**X*CQJ}s~ 34Z?|@*NY** *CQJ}x~ 34[?|B*NY**X*CQJ}}~ 34\?|@*NY** *CQJ}~ 34]"|4*C} ~ 34GH|p+*aekqw yY{~*+!}!~+34+|*,:-- Y*a=+:*( *(W::*:*2Yö̶Ƕ, YM,W*+,ef2H%!4}F ,3:DKW`fh~\ 33KWhE34 K{|'*CM,,+*,+ݱ } #&~ '34'|L*+***&YM*+* **+,çN,-* ?BBEB!D} 4=G~L34L  L{|F*+M, *aN,--,$6,'}" *,:~4F34F @(  &): *F@({|w |*ae15M*a9**?D>,GM6YP:,T:6-Y:+Z [WHFFV*}2 % &'&(2)=*E,O-`.k/s,y2~\ `\H1]|34|_j`_&Vb2Jc=?(eE7fh*|^j`a=?(dE7fg{+i|/*};~ 34jN|>*(} CD~34:|HYl**nǶϰ}H~ 34o"|4ptz}78 9{