CLASS net/minecraft/class_156 net/minecraft/util/Util
	FIELD field_1128 nanoTimeSupplier Ljava/util/function/LongSupplier;
	FIELD field_1129 LOGGER Lorg/apache/logging/log4j/Logger;
	FIELD field_18034 NEXT_WORKER_ID Ljava/util/concurrent/atomic/AtomicInteger;
	FIELD field_18035 MAIN_WORKER_EXECUTOR Ljava/util/concurrent/ExecutorService;
	FIELD field_24477 IO_WORKER_EXECUTOR Ljava/util/concurrent/ExecutorService;
	FIELD field_24622 BOOTSTRAP_EXECUTOR Ljava/util/concurrent/ExecutorService;
	FIELD field_25140 NIL_UUID Ljava/util/UUID;
	METHOD method_17815 stream (Ljava/util/Optional;)Ljava/util/stream/Stream;
		ARG 0 optional
	METHOD method_17974 ifPresentOrElse (Ljava/util/Optional;Ljava/util/function/Consumer;Ljava/lang/Runnable;)Ljava/util/Optional;
		ARG 0 optional
		ARG 1 presentAction
		ARG 2 elseAction
	METHOD method_18347 uncaughtExceptionHandler (Ljava/lang/Thread;Ljava/lang/Throwable;)V
		ARG 0 thread
		ARG 1 t
	METHOD method_18349 getMainWorkerExecutor ()Ljava/util/concurrent/Executor;
	METHOD method_18350 shutdownExecutors ()V
	METHOD method_18839 debugRunnable (Ljava/lang/Runnable;Ljava/util/function/Supplier;)Ljava/lang/Runnable;
		ARG 0 runnable
		ARG 1 messageSupplier
	METHOD method_18841 (Ljava/util/List;[Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture;)V
		ARG 3 future
	METHOD method_18842 (Ljava/util/concurrent/CompletableFuture;Ljava/util/List;ILjava/lang/Object;Ljava/lang/Throwable;)V
		ARG 3 object
		ARG 4 throwable
	METHOD method_19483 completeExceptionally (Ljava/lang/Throwable;)Ljava/util/concurrent/CompletableFuture;
		ARG 0 throwable
	METHOD method_20793 getLast (Ljava/util/List;)Ljava/lang/Object;
		ARG 0 list
	METHOD method_22320 throwOrPause (Ljava/lang/Throwable;)Ljava/lang/Throwable;
		ARG 0 t
	METHOD method_22321 getInnermostMessage (Ljava/lang/Throwable;)Ljava/lang/String;
		ARG 0 t
	METHOD method_24155 throwUnchecked (Ljava/lang/Throwable;)V
		ARG 0 t
	METHOD method_27172 getRandom ([ILjava/util/Random;)I
		ARG 0 array
		ARG 1 random
	METHOD method_27173 getRandom ([Ljava/lang/Object;Ljava/util/Random;)Ljava/lang/Object;
		ARG 0 array
		ARG 1 random
	METHOD method_27760 backupAndReplace (Ljava/io/File;Ljava/io/File;Ljava/io/File;)V
		ARG 0 current
		ARG 1 newFile
		ARG 2 backup
	METHOD method_27761 moveCursor (Ljava/lang/String;II)I
		COMMENT Moves the {@code cursor} in the {@code string} by a {@code delta} amount.
		COMMENT Skips surrogate characters.
		ARG 0 string
		ARG 1 cursor
		ARG 2 delta
	METHOD method_27956 (Ljava/lang/Runnable;)Ljava/lang/Thread;
		ARG 0 runnable
	METHOD method_27957 attemptShutdown (Ljava/util/concurrent/ExecutorService;)V
		ARG 0 service
	METHOD method_27958 getIoWorkerExecutor ()Ljava/util/concurrent/Executor;
	METHOD method_27959 createIoWorker ()Ljava/util/concurrent/ExecutorService;
	METHOD method_28122 createWorker (Ljava/lang/String;)Ljava/util/concurrent/ExecutorService;
		ARG 0 name
	METHOD method_28123 (Ljava/lang/String;Ljava/util/concurrent/ForkJoinPool;)Ljava/util/concurrent/ForkJoinWorkerThread;
		ARG 1 forkJoinPool
	METHOD method_28124 getBootstrapExecutor ()Ljava/util/concurrent/Executor;
	METHOD method_29187 getChoiceType (Lcom/mojang/datafixers/DSL$TypeReference;Ljava/lang/String;)Lcom/mojang/datafixers/types/Type;
		ARG 0 typeReference
		ARG 1 id
	METHOD method_29188 addPrefix (Ljava/lang/String;Ljava/util/function/Consumer;)Ljava/util/function/Consumer;
		ARG 0 prefix
		ARG 1 consumer
	METHOD method_29189 (Ljava/util/function/Consumer;Ljava/lang/String;Ljava/lang/String;)V
		ARG 2 string
	METHOD method_29190 toArray (Ljava/util/stream/IntStream;I)Lcom/mojang/serialization/DataResult;
		ARG 0 stream
		ARG 1 length
	METHOD method_29191 getChoiceTypeInternal (Lcom/mojang/datafixers/DSL$TypeReference;Ljava/lang/String;)Lcom/mojang/datafixers/types/Type;
		ARG 0 typeReference
		ARG 1 id
	METHOD method_29476 startTimerHack ()V
	METHOD method_29775 relativeCopy (Ljava/nio/file/Path;Ljava/nio/file/Path;Ljava/nio/file/Path;)V
		COMMENT Copies a file contained in the folder {@code src} to the folder {@code dest}.
		COMMENT This will replicate any path structure that may exist between {@code src} and {@code toCopy}.
		ARG 0 src
		ARG 1 dest
		ARG 2 toCopy
	METHOD method_30309 replaceInvalidChars (Ljava/lang/String;Lnet/minecraft/class_5462;)Ljava/lang/String;
		ARG 0 string
		ARG 1 predicate
	METHOD method_30622 attemptTasks (ILjava/lang/String;[Ljava/util/function/BooleanSupplier;)Z
		ARG 0 retries
		ARG 1 taskName
		ARG 2 tasks
	METHOD method_30623 (Lnet/minecraft/class_5462;I)Ljava/lang/String;
		ARG 1 charCode
	METHOD method_30624 deleteTask (Ljava/nio/file/Path;)Ljava/util/function/BooleanSupplier;
	METHOD method_30625 renameTask (Ljava/nio/file/Path;Ljava/nio/file/Path;)Ljava/util/function/BooleanSupplier;
		ARG 0 src
		ARG 1 dest
	METHOD method_30626 backupAndReplace (Ljava/nio/file/Path;Ljava/nio/file/Path;Ljava/nio/file/Path;)V
		COMMENT Copies {@code current} to {@code backup} and then replaces {@code current} with {@code newPath}
		ARG 0 current
		ARG 1 newPath
		ARG 2 backup
	METHOD method_30627 attemptTasks ([Ljava/util/function/BooleanSupplier;)Z
		ARG 0 tasks
	METHOD method_30628 deletionVerifyTask (Ljava/nio/file/Path;)Ljava/util/function/BooleanSupplier;
		ARG 0 path
	METHOD method_30629 existenceCheckTask (Ljava/nio/file/Path;)Ljava/util/function/BooleanSupplier;
		ARG 0 path
	METHOD method_32309 getRandom (Ljava/util/List;Ljava/util/Random;)Ljava/lang/Object;
		ARG 0 list
		ARG 1 random
	METHOD method_33141 toArray (Ljava/util/List;I)Lcom/mojang/serialization/DataResult;
		ARG 1 length
	METHOD method_33559 error (Ljava/lang/String;)V
		ARG 0 message
	METHOD method_33560 pause ()V
	METHOD method_33786 (Ljava/lang/Object;Ljava/util/List;)Ljava/util/List;
		ARG 0 eachResult
		ARG 1 collectedResults
	METHOD method_33787 debugRunnable (Ljava/lang/String;Ljava/lang/Runnable;)Ljava/lang/Runnable;
		ARG 0 activeThreadName
		ARG 1 task
	METHOD method_33788 (Ljava/util/List;Ljava/util/List;)Ljava/util/List;
		ARG 0 firstResults
		ARG 1 secondResults
	METHOD method_33789 (Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture;)Ljava/util/concurrent/CompletableFuture;
		ARG 0 firstCollected
		ARG 1 secondCollected
	METHOD method_33791 combineSafe (Ljava/util/List;)Ljava/util/concurrent/CompletableFuture;
		COMMENT Combines a list of {@code futures} into one future that holds a list
		COMMENT of their results.
		COMMENT
		COMMENT <p>This version expects all futures to complete successfully and is not
		COMMENT optimized in case any of the input futures throws.
		COMMENT
		COMMENT @return the combined future
		COMMENT @see #combine(List)
		ARG 0 futures
			COMMENT the completable futures to combine
	METHOD method_33792 (Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture;)Ljava/util/concurrent/CompletableFuture;
		ARG 0 collected
		ARG 1 each
	METHOD method_34865 memoize (Ljava/util/function/BiFunction;)Ljava/util/function/BiFunction;
		ARG 0 biFunction
	METHOD method_34866 memoize (Ljava/util/function/Function;)Ljava/util/function/Function;
		ARG 0 function
	METHOD method_645 previous (Ljava/lang/Iterable;Ljava/lang/Object;)Ljava/lang/Object;
		ARG 0 iterable
		ARG 1 object
	METHOD method_646 createTranslationKey (Ljava/lang/String;Lnet/minecraft/class_2960;)Ljava/lang/String;
		ARG 0 type
		ARG 1 id
	METHOD method_648 getMeasuringTimeNano ()J
	METHOD method_650 getValueAsString (Lnet/minecraft/class_2769;Ljava/lang/Object;)Ljava/lang/String;
		ARG 0 property
		ARG 1 value
	METHOD method_651 getJVMFlags ()Ljava/util/stream/Stream;
	METHOD method_652 combine (Ljava/util/List;)Ljava/util/concurrent/CompletableFuture;
		COMMENT Combines a list of {@code futures} into one future that holds a list
		COMMENT of their results.
		COMMENT
		COMMENT <p>The returned future is fail-fast; if any of the input futures fails,
		COMMENT this returned future will be immediately completed exceptionally than
		COMMENT waiting for other input futures.
		COMMENT
		COMMENT @return the combined future
		COMMENT @see #combineSafe(List)
		ARG 0 futures
			COMMENT the completable futures to combine
	METHOD method_654 make (Ljava/lang/Object;Ljava/util/function/Consumer;)Ljava/lang/Object;
		ARG 0 object
		ARG 1 initializer
	METHOD method_655 identityHashStrategy ()Lit/unimi/dsi/fastutil/Hash$Strategy;
	METHOD method_656 make (Ljava/util/function/Supplier;)Ljava/lang/Object;
		ARG 0 factory
	METHOD method_658 getMeasuringTimeMs ()J
	METHOD method_659 getEpochTimeMs ()J
	METHOD method_660 next (Ljava/lang/Iterable;Ljava/lang/Object;)Ljava/lang/Object;
		ARG 0 iterable
		ARG 1 object
	METHOD method_664 toMap ()Ljava/util/stream/Collector;
	METHOD method_666 (Ljava/lang/String;)Z
		ARG 0 runtimeArg
	METHOD method_667 getLogger ()Lorg/apache/logging/log4j/Logger;
	METHOD method_668 getOperatingSystem ()Lnet/minecraft/class_156$class_158;
	CLASS 7
		FIELD field_29655 cache Ljava/util/Map;
	CLASS 8
		FIELD field_29657 cache Ljava/util/Map;
	CLASS class_157 IdentityHashStrategy
	CLASS class_158 OperatingSystem
		METHOD method_669 open (Ljava/net/URL;)V
			ARG 1 url
		METHOD method_670 open (Ljava/lang/String;)V
			ARG 1 uri
		METHOD method_672 open (Ljava/io/File;)V
			ARG 1 file
		METHOD method_673 open (Ljava/net/URI;)V
			ARG 1 uri
		METHOD method_674 getURLOpenCommand (Ljava/net/URL;)[Ljava/lang/String;
			ARG 1 url
