All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.groupbyinc.flux.snapshots.RestoreService$1.class Maven / Gradle / Ivy

There is a newer version: 198
Show newest version
????4?.com/groupbyinc/flux/snapshots/RestoreService$12com/groupbyinc/flux/cluster/ClusterStateUpdateTaskRestoreService.java,com/groupbyinc/flux/snapshots/RestoreServicerestoreSnapshotk(Lcom/groupbyinc/flux/snapshots/RestoreService$RestoreRequest;Lcom/groupbyinc/flux/action/ActionListener;)V	;com/groupbyinc/flux/snapshots/RestoreService$RestoreRequestRestoreRequest:com/groupbyinc/flux/cluster/metadata/IndexMetaData$Builder2com/groupbyinc/flux/cluster/metadata/IndexMetaDataBuilderIcom/groupbyinc/flux/cluster/routing/RecoverySource$SnapshotRecoverySource2com/groupbyinc/flux/cluster/routing/RecoverySourceSnapshotRecoverySourcejava/util/Map$Entry
java/util/MapEntry;com/groupbyinc/flux/common/collect/ImmutableOpenMap$Builder3com/groupbyinc/flux/common/collect/ImmutableOpenMap3com/groupbyinc/flux/cluster/RestoreInProgress$Entry!-com/groupbyinc/flux/cluster/RestoreInProgress#0com/groupbyinc/flux/cluster/ClusterState$Builder%(com/groupbyinc/flux/cluster/ClusterState'5com/groupbyinc/flux/cluster/metadata/MetaData$Builder)-com/groupbyinc/flux/cluster/metadata/MetaData+7com/groupbyinc/flux/cluster/block/ClusterBlocks$Builder-/com/groupbyinc/flux/cluster/block/ClusterBlocks/8com/groupbyinc/flux/cluster/routing/RoutingTable$Builder10com/groupbyinc/flux/cluster/routing/RoutingTable3@com/groupbyinc/flux/cluster/RestoreInProgress$ShardRestoreStatus5ShardRestoreStatus4com/groupbyinc/flux/cluster/metadata/MetaData$Custom8Custom4com/groupbyinc/flux/common/settings/Settings$Builder;,com/groupbyinc/flux/common/settings/Settings==com/groupbyinc/flux/cluster/SnapshotDeletionsInProgress$Entry?7com/groupbyinc/flux/cluster/SnapshotDeletionsInProgressAFcom/groupbyinc/flux/snapshots/RestoreService$RestoreCompletionResponseCRestoreCompletionResponse/com/groupbyinc/flux/cluster/ClusterState$CustomF8com/groupbyinc/flux/cluster/metadata/IndexMetaData$StateHState3com/groupbyinc/flux/cluster/RestoreInProgress$StateK%java/lang/invoke/MethodHandles$LookupMjava/lang/invoke/MethodHandlesOLookuprestoreInfo+Lcom/groupbyinc/flux/snapshots/RestoreInfo;val$snapshot(Lcom/groupbyinc/flux/snapshots/Snapshot;val$indicesLjava/util/Map;val$snapshotInfo,Lcom/groupbyinc/flux/snapshots/SnapshotInfo;val$metaData/Lcom/groupbyinc/flux/cluster/metadata/MetaData;val$request=Lcom/groupbyinc/flux/snapshots/RestoreService$RestoreRequest;val$snapshotId*Lcom/groupbyinc/flux/snapshots/SnapshotId;val$listener+Lcom/groupbyinc/flux/action/ActionListener;this$0.Lcom/groupbyinc/flux/snapshots/RestoreService;U(Lcom/groupbyinc/flux/snapshots/RestoreService;Lcom/groupbyinc/flux/snapshots/Snapshot;Ljava/util/Map;Lcom/groupbyinc/flux/snapshots/SnapshotInfo;Lcom/groupbyinc/flux/cluster/metadata/MetaData;Lcom/groupbyinc/flux/snapshots/RestoreService$RestoreRequest;Lcom/groupbyinc/flux/snapshots/SnapshotId;Lcom/groupbyinc/flux/action/ActionListener;)Vbc	fTU	hVW	jXY	lZ[	n\]	p^_	r`a	t()Vdv
wRS	ythis0Lcom/groupbyinc/flux/snapshots/RestoreService$1;executeV(Lcom/groupbyinc/flux/cluster/ClusterState;)Lcom/groupbyinc/flux/cluster/ClusterState;java/lang/Exceptionrestore?customE(Ljava/lang/String;)Lcom/groupbyinc/flux/cluster/ClusterState$Custom;??
(?entries()Ljava/util/List;??
$?java/util/List?isEmpty()Z????Bcom/groupbyinc/flux/snapshots/ConcurrentSnapshotExecutionException?2Restore process is already running in this cluster?=(Lcom/groupbyinc/flux/snapshots/Snapshot;Ljava/lang/String;)Vd?
??snapshot_deletions?hasDeletionsInProgress??
B?java/lang/StringBuilder?
?wDcannot restore a snapshot while a snapshot deletion is in-progress [?append-(Ljava/lang/String;)Ljava/lang/StringBuilder;??
??
getEntries??
B?get(I)Ljava/lang/Object;????getSnapshot*()Lcom/groupbyinc/flux/snapshots/Snapshot;??
@?-(Ljava/lang/Object;)Ljava/lang/StringBuilder;??
??]?toString()Ljava/lang/String;??
??builder^(Lcom/groupbyinc/flux/cluster/ClusterState;)Lcom/groupbyinc/flux/cluster/ClusterState$Builder;??
(?metaData1()Lcom/groupbyinc/flux/cluster/metadata/MetaData;??
(?h(Lcom/groupbyinc/flux/cluster/metadata/MetaData;)Lcom/groupbyinc/flux/cluster/metadata/MetaData$Builder;??
,?;()Lcom/groupbyinc/flux/cluster/block/ClusterBlocks$Builder;??
0?blocks3()Lcom/groupbyinc/flux/cluster/block/ClusterBlocks;??
(?l(Lcom/groupbyinc/flux/cluster/block/ClusterBlocks;)Lcom/groupbyinc/flux/cluster/block/ClusterBlocks$Builder;??
.?routingTable4()Lcom/groupbyinc/flux/cluster/routing/RoutingTable;??
(?n(Lcom/groupbyinc/flux/cluster/routing/RoutingTable;)Lcom/groupbyinc/flux/cluster/routing/RoutingTable$Builder;??
4?java/util/HashSet?
?w??()Lcom/groupbyinc/flux/common/collect/ImmutableOpenMap$Builder;??
 ?getNodes3()Lcom/groupbyinc/flux/cluster/node/DiscoveryNodes;??
(?/com/groupbyinc/flux/cluster/node/DiscoveryNodes?getMaxNodeVersion()Lcom/groupbyinc/flux/Version;??
??com/groupbyinc/flux/Version? minimumIndexCompatibilityVersion??
??entrySet()Ljava/util/Set;???
java/util/Set?iterator()Ljava/util/Iterator;????java/util/Iterator?hasNext????next()Ljava/lang/Object;????getValue??java/lang/StringcheckPartial(Ljava/lang/String;)Z
*com/groupbyinc/flux/snapshots/SnapshotInfoversion
?
	Z(Lcom/groupbyinc/flux/snapshots/Snapshot;Lcom/groupbyinc/flux/Version;Ljava/lang/String;)Vd
getKey?indexH(Ljava/lang/String;)Lcom/groupbyinc/flux/cluster/metadata/IndexMetaData;
,
access$200m(Lcom/groupbyinc/flux/snapshots/RestoreService$RestoreRequest;)Lcom/groupbyinc/flux/common/settings/Settings;

access$300R(Lcom/groupbyinc/flux/snapshots/RestoreService$RestoreRequest;)[Ljava/lang/String;
updateIndexSettings?(Lcom/groupbyinc/flux/cluster/metadata/IndexMetaData;Lcom/groupbyinc/flux/common/settings/Settings;[Ljava/lang/String;)Lcom/groupbyinc/flux/cluster/metadata/IndexMetaData; 
!
access$400r(Lcom/groupbyinc/flux/snapshots/RestoreService;)Lcom/groupbyinc/flux/cluster/metadata/MetaDataIndexUpgradeService;#$
%@com/groupbyinc/flux/cluster/metadata/MetaDataIndexUpgradeService'upgradeIndexMetaData?(Lcom/groupbyinc/flux/cluster/metadata/IndexMetaData;Lcom/groupbyinc/flux/Version;)Lcom/groupbyinc/flux/cluster/metadata/IndexMetaData;)*
(+6com/groupbyinc/flux/snapshots/SnapshotRestoreException-cannot restore index [/] because it cannot be upgraded1R(Lcom/groupbyinc/flux/snapshots/Snapshot;Ljava/lang/String;Ljava/lang/Throwable;)Vd3
.47com/groupbyinc/flux/common/carrotsearch/hppc/IntHashSet6
7w?com/groupbyinc/flux/cluster/metadata/MetaDataCreateIndexService9validateIndexName?(Ljava/lang/String;Lcom/groupbyinc/flux/cluster/ClusterState;)V;<
:=
access$500q(Lcom/groupbyinc/flux/snapshots/RestoreService;)Lcom/groupbyinc/flux/cluster/metadata/MetaDataCreateIndexService;?@
AgetSettings0()Lcom/groupbyinc/flux/common/settings/Settings;CD
EvalidateIndexSettingsC(Ljava/lang/String;Lcom/groupbyinc/flux/common/settings/Settings;)VGH
:Ir(Lcom/groupbyinc/flux/cluster/metadata/IndexMetaData;)Lcom/groupbyinc/flux/cluster/metadata/IndexMetaData$Builder;?K
LOPEN:Lcom/groupbyinc/flux/cluster/metadata/IndexMetaData$State;NO	IPstatex(Lcom/groupbyinc/flux/cluster/metadata/IndexMetaData$State;)Lcom/groupbyinc/flux/cluster/metadata/IndexMetaData$Builder;RS
TP(Ljava/lang/String;)Lcom/groupbyinc/flux/cluster/metadata/IndexMetaData$Builder;V
W8()Lcom/groupbyinc/flux/common/settings/Settings$Builder;?Y
>Zputf(Lcom/groupbyinc/flux/common/settings/Settings;)Lcom/groupbyinc/flux/common/settings/Settings$Builder;\]
<^
index.uuid` com/groupbyinc/flux/common/UUIDsbrandomBase64UUIDd?
ce\(Ljava/lang/String;Ljava/lang/String;)Lcom/groupbyinc/flux/common/settings/Settings$Builder;\g
<hsettingst(Lcom/groupbyinc/flux/common/settings/Settings$Builder;)Lcom/groupbyinc/flux/cluster/metadata/IndexMetaData$Builder;jk
lincludeAliasesn?
o
getAliases7()Lcom/groupbyinc/flux/common/collect/ImmutableOpenMap;qr
s
 ?removeAllAliases>()Lcom/groupbyinc/flux/cluster/metadata/IndexMetaData$Builder;vw
x3com/groupbyinc/flux/common/carrotsearch/hppc/IntSetzkeysF()Lcom/groupbyinc/flux/common/carrotsearch/hppc/ObjectLookupContainer;|}
 ~Bcom/groupbyinc/flux/common/carrotsearch/hppc/ObjectLookupContainer???Acom/groupbyinc/flux/common/carrotsearch/hppc/cursors/ObjectCursor?valueLjava/lang/Object;??	??add(Ljava/lang/Object;)Z????build6()Lcom/groupbyinc/flux/cluster/metadata/IndexMetaData;??
?populateIgnoredShardsJ(Ljava/lang/String;Lcom/groupbyinc/flux/common/carrotsearch/hppc/IntSet;)V??
?addAsNewRestore?(Lcom/groupbyinc/flux/cluster/metadata/IndexMetaData;Lcom/groupbyinc/flux/cluster/routing/RecoverySource$SnapshotRecoverySource;Lcom/groupbyinc/flux/common/carrotsearch/hppc/IntSet;)Lcom/groupbyinc/flux/cluster/routing/RoutingTable$Builder;??
2?	addBlockso(Lcom/groupbyinc/flux/cluster/metadata/IndexMetaData;)Lcom/groupbyinc/flux/cluster/block/ClusterBlocks$Builder;??
.?n(Lcom/groupbyinc/flux/cluster/metadata/IndexMetaData;Z)Lcom/groupbyinc/flux/cluster/metadata/MetaData$Builder;\?
*?getIndex#()Lcom/groupbyinc/flux/index/Index;??
?validateExistingIndex~(Lcom/groupbyinc/flux/cluster/metadata/IndexMetaData;Lcom/groupbyinc/flux/cluster/metadata/IndexMetaData;Ljava/lang/String;Z)V??
?
getVersion()J??
?java/lang/Math?max(JJ)J??
???(J)Lcom/groupbyinc/flux/cluster/metadata/IndexMetaData$Builder;
?
?values@()Lcom/groupbyinc/flux/common/carrotsearch/hppc/ObjectContainer;??
 ?repositories@keyB?	?CequalsE?
F	???(Ljava/lang/String;Lcom/groupbyinc/flux/cluster/metadata/MetaData$Custom;)Lcom/groupbyinc/flux/cluster/metadata/MetaData$Builder;I
*J	completed8(Lcom/groupbyinc/flux/common/collect/ImmutableOpenMap;)ZLM
N)com/groupbyinc/flux/snapshots/RestoreInfoP(com/groupbyinc/flux/snapshots/SnapshotIdRgetNameT?
SUsizeW?
 XfailedShards8(Lcom/groupbyinc/flux/common/collect/ImmutableOpenMap;)IZ[
\'(Ljava/lang/String;Ljava/util/List;II)Vd^
Q_??
2ak(Lcom/groupbyinc/flux/cluster/metadata/MetaData$Builder;)Lcom/groupbyinc/flux/cluster/ClusterState$Builder;?c
&dm(Lcom/groupbyinc/flux/cluster/block/ClusterBlocks$Builder;)Lcom/groupbyinc/flux/cluster/ClusterState$Builder;?f
&gf(Lcom/groupbyinc/flux/cluster/routing/RoutingTable;)Lcom/groupbyinc/flux/cluster/ClusterState$Builder;?i
&j??
&l
access$800r(Lcom/groupbyinc/flux/snapshots/RestoreService;)Lcom/groupbyinc/flux/cluster/routing/allocation/AllocationService;no
prestored snapshot [r@com/groupbyinc/flux/cluster/routing/allocation/AllocationServicetrerouteh(Lcom/groupbyinc/flux/cluster/ClusterState;Ljava/lang/String;)Lcom/groupbyinc/flux/cluster/ClusterState;vw
uxexLjava/lang/Exception;aliasWLcom/groupbyinc/flux/common/carrotsearch/hppc/cursors/ObjectCursor;CLcom/groupbyinc/flux/common/carrotsearch/hppc/cursors/ObjectCursor;indexMdBuilder;shardILjava/lang/String;partialZrecoverySourceKLcom/groupbyinc/flux/cluster/routing/RecoverySource$SnapshotRecoverySource;renamedIndexNamesnapshotIndexMetaDatacurrentIndexMetaDataignoreShards5Lcom/groupbyinc/flux/common/carrotsearch/hppc/IntSet;
indexEntry;Ljava/util/Map$Entry;Ljava/util/Map$Entry;
shardsBuilder?Lcom/groupbyinc/flux/common/collect/ImmutableOpenMap$Builder;=Lcom/groupbyinc/flux/common/collect/ImmutableOpenMap$Builder;minIndexCompatibilityVersionLcom/groupbyinc/flux/Version;restoreEntry5Lcom/groupbyinc/flux/cluster/RestoreInProgress$Entry;shards?Lcom/groupbyinc/flux/common/collect/ImmutableOpenMap;5Lcom/groupbyinc/flux/common/collect/ImmutableOpenMap;.Lcom/groupbyinc/flux/common/settings/Settings;cursor?Lcom/groupbyinc/flux/common/carrotsearch/hppc/cursors/ObjectCursor;?Lcom/groupbyinc/flux/common/carrotsearch/hppc/cursors/ObjectObjectCursor;ILcom/groupbyinc/flux/common/carrotsearch/hppc/cursors/ObjectObjectCursor;currentState*Lcom/groupbyinc/flux/cluster/ClusterState;restoreInProgress/Lcom/groupbyinc/flux/cluster/RestoreInProgress;deletionsInProgress9Lcom/groupbyinc/flux/cluster/SnapshotDeletionsInProgress;2Lcom/groupbyinc/flux/cluster/ClusterState$Builder;	mdBuilder7Lcom/groupbyinc/flux/cluster/metadata/MetaData$Builder;9Lcom/groupbyinc/flux/cluster/block/ClusterBlocks$Builder;	rtBuilder:Lcom/groupbyinc/flux/cluster/routing/RoutingTable$Builder;aliases#Ljava/util/Set;Ljava/util/Set;rt2Lcom/groupbyinc/flux/cluster/routing/RoutingTable;updatedState????cannot rename index [?] into [?6] because of conflict with an alias with the same name?
.?renamedIndices5Ljava/util/Map;
shardFailures??
	???2com/groupbyinc/flux/snapshots/SnapshotShardFailure??
??shardId??
????{?failure4Lcom/groupbyinc/flux/snapshots/SnapshotShardFailure;
access$900o(Lcom/groupbyinc/flux/snapshots/RestoreService;Lcom/groupbyinc/flux/snapshots/SnapshotInfo;Ljava/lang/String;)Z??
???
?index [?+] wasn't fully snapshotted - cannot restore?getState<()Lcom/groupbyinc/flux/cluster/metadata/IndexMetaData$State;??
?CLOSE?O	I??] because an open index with same name already exists in the cluster. Either close or delete the existing index or restore the index under a different name by providing a rename pattern and replacement name?cannot restore partial index [?#] because such index already exists?] with [?(I)Ljava/lang/StringBuilder;??
??#] shards from a snapshot of index [?
?U] shards?names??
>???index.?normalizePrefixJ(Ljava/lang/String;)Lcom/groupbyinc/flux/common/settings/Settings$Builder;??
<??D
<?
w[Ljava/lang/String;?&com/groupbyinc/flux/common/regex/RegexisSimpleMatchPattern
access$1000?
cannot remove setting [] on restore
??"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;
?lambda$updateIndexSettings$04(Ljava/util/Set;Ljava/util/List;Ljava/lang/String;)Z
test?(Ljava/util/Set;Ljava/util/List;)Ljava/util/function/Predicate;filterN(Ljava/util/function/Predicate;)Lcom/groupbyinc/flux/common/settings/Settings; 
>!lambda$updateIndexSettings$1=(Lcom/groupbyinc/flux/snapshots/Snapshot;Ljava/lang/String;)Z#$
%&H(Lcom/groupbyinc/flux/snapshots/Snapshot;)Ljava/util/function/Predicate;()ignoredSetting
indexMetaDatachangeSettingsignoreSettingsnormalizedChangeSettings
keyFilterssimpleMatchPatterns$Ljava/util/List;Ljava/util/List;settingsFilter2Ljava/util/function/Predicate;Ljava/util/function/Predicate;settingsBuilder6Lcom/groupbyinc/flux/common/settings/Settings$Builder;	onFailure*(Ljava/lang/String;Ljava/lang/Exception;)Vaccess$1100Q(Lcom/groupbyinc/flux/snapshots/RestoreService;)Lorg/apache/logging/log4j/Logger;;<
=,()Lorg/apache/logging/log4j/message/Message;?lambda$onFailure$2V(Lcom/groupbyinc/flux/snapshots/SnapshotId;)Lorg/apache/logging/log4j/message/Message;AB
CD[(Lcom/groupbyinc/flux/snapshots/SnapshotId;)Lorg/apache/logging/log4j/util/MessageSupplier;?FGorg/apache/logging/log4j/LoggerIwarnG(Lorg/apache/logging/log4j/util/MessageSupplier;Ljava/lang/Throwable;)VKLJM)com/groupbyinc/flux/action/ActionListenerO(Ljava/lang/Exception;)V9QPRsourceetimeout-()Lcom/groupbyinc/flux/common/unit/TimeValue;masterNodeTimeoutXW
YclusterStateProcessedi(Ljava/lang/String;Lcom/groupbyinc/flux/cluster/ClusterState;Lcom/groupbyinc/flux/cluster/ClusterState;)V?(Lcom/groupbyinc/flux/snapshots/Snapshot;Lcom/groupbyinc/flux/snapshots/RestoreInfo;Lcom/groupbyinc/flux/snapshots/RestoreService$1;)Vd]
D^
onResponse(Ljava/lang/Object;)V`aPboldStatenewState5org/apache/logging/log4j/message/ParameterizedMessagef[{}] failed to restore snapshoth'(Ljava/lang/String;Ljava/lang/Object;)Vdj
gk
snapshotIdaccess$1300n?
ocannot modify setting [qsnapshotksimpleMatch'(Ljava/lang/String;Ljava/lang/String;)Zuv
w	filterKeypatternCodeLocalVariableTableLineNumberTableLocalVariableTypeTable
StackMapTable	Signature[(Ljava/util/Map;Ljava/util/Set;)VBootstrapMethods
SourceFileEnclosingMethodInnerClasses 	RSTUVWXYZ[\]^_`abc
de{o	7*+?g*,?i*-?k*?m*?o*?q*?s*?u*?x*?z?|7{|7bc}
?1?}~{
??+????$M,?,???????Y*?i????+????BN-?=-???6??Y*?i??Y?????-?????@????????????+??:+????:??+?˶?:+?Ҹ?:??Y??:	*?k??????:
+????:*?k????:???
???:

??:*?6?Y*?i*?m??:
??:*?o?:**?q?*?q??":*?g?&?,:?.:?.Y*?i??Y??0????2?????5?+???:?7Y?8:??+?>*?g?B?F?J?M?Q?U?X:?[?F?_a?f?i?mW*?q?p??t?u??yW?;?t???:???"????:	?????W?????:?*????W??W??W??:?*???M?Q?U:????
a????W*?q?p?M?t?u?	?yW?t????:??? ????:??????W??ܧ;?t???:???"????:	?????W????[?F?_a?Ķi?mW?X??:??W??W??W??:6?Ѣk???.
??Y?ڻ6Y*?g?޶?????W?.
??Y?ڻ6Y*?g?޶???????W???????
??:?"Y*?i?????Y*?k???
?:??$Y?"YS??W??:**?k	?*?q?!??*?o?$?!*?o?$:
*?g?(
?.W
?1W*?o?4?;*?o?4????:

??? 
????:???6?9W???*?o???A?=?D?F?GH'I*J/M9PCQMRVScTkVuX?Y?Z?\?]?^?a?cgij)k.l=oDpZq??($?GB?Y
($B&*.2????($B&*.2????*?y($B&*.2???{???(??&?H???&???(?I($B&*.2???{???@*?
($B&*.2?????K?
($B&*.2 ?;???&??9?<{v+????N-???c-???:,????E?.Y*?i??Y????????????????????????????|* R??v{|v?Wv??~  R??v??v??}u v0wryuz???e?????{?=*?m?ù?N-???)-????:+?ȶG?,?˹?W??Ա|*!??={|=?=??}}!~-9?<??
?+?{?C*?g*?m+?ә5*?q?ՙ??.Y*?i??Y??׶?+??ٶ???????|C{|C?}????A?%??{2?+?ݲ?)?.Y*?i??Y??0??-??????????)?.Y*?i??Y????-?????????+??,?џS?.Y*?i??Y??0??-????+?Ѷ????,???????,?Ѷ?????????|4?{|????????????}"?
?0?5?[?f?????0*?Z {.
?,????
-??+??[,?_?????:+?M:+?F:??Y??:?Y??:-:		?6
6
?c	2:??D????*?.Y*?i??Y??	?????????????W?
?W?????:	?[	?"?_*?i?*?"?_:

?m???|z\S+??{|?,??-??.?%?/?+???1?j?:?0?C?13?+46	?78
~ :?0?C?12?+45	}N???%?+?1?:?C?\?d?q?????????????????7?:>?>>????I?	?9:{g!*?g?>*?s?H,?N*?u,?S?| !{|!T?!U{}?? ?VW{2*?q?Z?|{|}?[\{f*?u?DY*?i*?z?_?c?|*{|T?d?e?}
??
AB{6?gYi*?l?|m_}?
#${v1?p+???&?.Y*??Y??r??+??????????|1sU1t?}??/?/
{?`?,???U*??N-???-???:,?G?????+??N-???-???:,?x??????|4'y?Pz?`0?`13`t?}*
??'?0?2?5?P?Y?[?^???????? '@E@??
??
				 	"$	&(	*,	.0	24	6$7	9,:	<>	@BDEG(:	IJ@L$J@NPQ




© 2015 - 2024 Weber Informatics LLC | Privacy Policy