Êþº¾E%  java/lang/Object()V   =net/minecraft/util/profiling/metrics/storage/MetricsPersisterrootFolderNameLjava/lang/String;  PROFILING_RESULTS_DIRLjava/nio/file/Path;%java/nio/file/attribute/FileAttribute  java/nio/file/FilescreateDirectoriesR(Ljava/nio/file/Path;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/file/Path;java/io/IOExceptionjava/io/UncheckedIOException  (Ljava/io/IOException;)V!minecraft-profiling # $%createTempDirectoryP(Ljava/lang/String;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/file/Path; '() *+java/nio/file/PathtoFile()Ljava/io/File; -./ 0 java/io/File deleteOnExit '2 34resolve((Ljava/lang/String;)Ljava/nio/file/Path;6metrics 8 9: saveMetrics&(Ljava/util/Set;Ljava/nio/file/Path;)V <=> ?@ java/util/MapisEmpty()ZB deviations D EFsaveDeviations&(Ljava/util/Map;Ljava/nio/file/Path;)V H IJ saveProfilingTaskExecutionResultD(Lnet/minecraft/util/profiling/ProfileResults;Ljava/nio/file/Path;)V L=M java/util/SetO"java/lang/IllegalArgumentExceptionQ(Expected at least one sampler to persist NS T(Ljava/lang/String;)V LV WXstream()Ljava/util/stream/Stream;Z [\apply()Ljava/util/function/Function; ^_` abjava/util/stream/Collectors groupingBy;(Ljava/util/function/Function;)Ljava/util/stream/Collector; def ghjava/util/stream/Streamcollect0(Ljava/util/stream/Collector;)Ljava/lang/Object;j klacceptt(Lnet/minecraft/util/profiling/metrics/storage/MetricsPersister;Ljava/nio/file/Path;)Ljava/util/function/BiConsumer; <n opforEach"(Ljava/util/function/BiConsumer;)V rst uv3net/minecraft/util/profiling/metrics/MetricCategorygetDescription()Ljava/lang/String;x yztest()Lnet/minecraft/CharPredicate; |}~ €net/minecraft/util/Util sanitizeNameC(Ljava/lang/String;Lnet/minecraft/CharPredicate;)Ljava/lang/String;‚ ƒ„makeConcatWithConstants&(Ljava/lang/String;)Ljava/lang/String; '† ‡ˆ getParent()Ljava/nio/file/Path; Š‹Œ �Ž!java/nio/charset/StandardCharsetsUTF_8Ljava/nio/charset/Charset;�java/nio/file/OpenOption ’ “”newBufferedWriterc(Ljava/nio/file/Path;Ljava/nio/charset/Charset;[Ljava/nio/file/OpenOption;)Ljava/io/BufferedWriter; –—˜ ™šnet/minecraft/util/CsvOutputbuilder(()Lnet/minecraft/util/CsvOutput$Builder;œ@tick žŸ  ¡¢$net/minecraft/util/CsvOutput$Builder addColumn:(Ljava/lang/String;)Lnet/minecraft/util/CsvOutput$Builder; ¤¥¦ §¨java/util/Listiterator()Ljava/util/Iterator; ª«¬ ­@java/util/IteratorhasNext ª¯ °±next()Ljava/lang/Object;³2net/minecraft/util/profiling/metrics/MetricSampler ²µ ¶vgetName ž¸ ¹ºbuild0(Ljava/io/Writer;)Lnet/minecraft/util/CsvOutput; ¤VZ d¾ ¿Àmap8(Ljava/util/function/Function;)Ljava/util/stream/Stream; ^ ÃÄtoList()Ljava/util/stream/Collector;Æ ÇÈ applyAsInt$()Ljava/util/function/ToIntFunction; dÊ ËÌmapToInt@(Ljava/util/function/ToIntFunction;)Ljava/util/stream/IntStream; ÎÏÐ ÑÒjava/util/stream/IntStreamsummaryStatistics"()Ljava/util/IntSummaryStatistics; ÔÕÖ ×Øjava/util/IntSummaryStatisticsgetMin()IÆ ÔÛ ÜØgetMaxÞ [ß (I)Ljava/util/function/Function; áâã äåjava/lang/StringvalueOf(I)Ljava/lang/String; dç èéof-(Ljava/lang/Object;)Ljava/util/stream/Stream; dë ìíconcatM(Ljava/util/stream/Stream;Ljava/util/stream/Stream;)Ljava/util/stream/Stream;ï [ð"()Ljava/util/function/IntFunction; dò óôtoArray5(Ljava/util/function/IntFunction;)[Ljava/lang/Object; –ö ÷øwriteRow([Ljava/lang/Object;)V ú ûüLOGGERLorg/slf4j/Logger;þFlushed metrics to {}  org/slf4j/Loggerinfo'(Ljava/lang/String;Ljava/lang/Object;)V    org/apache/commons/io/IOUtils closeQuietly(Ljava/io/Writer;)V java/lang/Exception%Could not save profiler results to {}  error9(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)Vyyyy-MM-dd_HH.mm.ss.SSS  java/util/LocaleUKLjava/util/Locale;   "java/time/format/DateTimeFormatter ofPatternJ(Ljava/lang/String;Ljava/util/Locale;)Ljava/time/format/DateTimeFormatter; "#$ %&java/time/ZoneId systemDefault()Ljava/time/ZoneId; ( )*withZone8(Ljava/time/ZoneId;)Ljava/time/format/DateTimeFormatter; , k-Y(Ljava/time/format/DateTimeFormatter;Ljava/nio/file/Path;)Ljava/util/function/BiConsumer;/ profiling.txt 123 45+net/minecraft/util/profiling/ProfileResults saveResults(Ljava/nio/file/Path;)Z 7 k8‹(Ljava/time/format/DateTimeFormatter;Ljava/nio/file/Path;Lnet/minecraft/util/profiling/metrics/MetricSampler;)Ljava/util/function/Consumer; ¤: o; (Ljava/util/function/Consumer;)V =>? @A>net/minecraft/util/profiling/metrics/storage/RecordedDeviation timestampLjava/time/Instant; C DEformat9(Ljava/time/temporal/TemporalAccessor;)Ljava/lang/String; G HROOTJ %d@%s.txt =L MNtickI PQR äSjava/lang/Integer(I)Ljava/lang/Integer; áU DVK(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; =X YZprofilerResultAtTick-Lnet/minecraft/util/profiling/ProfileResults; \]^ _`@net/minecraft/util/profiling/metrics/MetricSampler$SamplerResult valueAtTick(I)D áb äc(D)Ljava/lang/String; e fg saveCategory\(Lnet/minecraft/util/profiling/metrics/MetricCategory;Ljava/util/List;Ljava/nio/file/Path;)Videbug/profiling klm nojava/nio/file/Pathsget;(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path; qrs tucom/mojang/logging/LogUtils getLogger()Lorg/slf4j/Logger;METRICS_DIR_NAME ConstantValueDEVIATIONS_DIR_NAMEPROFILING_RESULT_FILENAMECodeLineNumberTableLocalVariableTablethis?Lnet/minecraft/util/profiling/metrics/storage/MetricsPersister;MethodParameters saveReportsa(Ljava/util/Set;Ljava/util/Map;Lnet/minecraft/util/profiling/ProfileResults;)Ljava/nio/file/Path;eLjava/io/IOException;tempDir workingDir metricsDirsamplersLjava/util/Set;deviationsBySamplerLjava/util/Map;profilerResultsLocalVariableTypeTableELjava/util/Set;—Ljava/util/Map;>; StackMapTable Signature(Ljava/util/Set;Ljava/util/Map;>;Lnet/minecraft/util/profiling/ProfileResults;)Ljava/nio/file/Path;dirsamplersByCategoryŒLjava/util/Map;>;\(Ljava/util/Set;Ljava/nio/file/Path;)Vsampler4Lnet/minecraft/util/profiling/metrics/MetricSampler; finalTick valuesStreamLjava/util/stream/Stream;row[Ljava/lang/Object; csvBuilder&Lnet/minecraft/util/CsvOutput$Builder; csvOutputLnet/minecraft/util/CsvOutput;resultsLjava/util/List; firstTicklastTickLjava/lang/Exception;category5Lnet/minecraft/util/profiling/metrics/MetricCategory;filewriterLjava/io/Writer;-Ljava/util/stream/Stream;TLjava/util/List;FLjava/util/List;¯java/io/Writer±java/lang/Throwable’(Lnet/minecraft/util/profiling/metrics/MetricCategory;Ljava/util/List;Ljava/nio/file/Path;)V directory formatter$Ljava/time/format/DateTimeFormatter;®(Ljava/util/Map;>;Ljava/nio/file/Path;)Vlambda$saveDeviations$0(Ljava/time/format/DateTimeFormatter;Ljava/nio/file/Path;Lnet/minecraft/util/profiling/metrics/MetricSampler;Ljava/util/List;)Vlambda$saveDeviations$1¯(Ljava/time/format/DateTimeFormatter;Ljava/nio/file/Path;Lnet/minecraft/util/profiling/metrics/MetricSampler;Lnet/minecraft/util/profiling/metrics/storage/RecordedDeviation;)V deviation@Lnet/minecraft/util/profiling/metrics/storage/RecordedDeviation;deviationLogFilelambda$saveCategory$1(I)[Ljava/lang/String;x$0lambda$saveCategory$0W(ILnet/minecraft/util/profiling/metrics/MetricSampler$SamplerResult;)Ljava/lang/String;itBLnet/minecraft/util/profiling/metrics/MetricSampler$SamplerResult;lambda$saveMetrics$0\(Ljava/nio/file/Path;Lnet/minecraft/util/profiling/metrics/MetricCategory;Ljava/util/List;)VsamplersInCategory SourceFileMetricsPersister.javaBootstrapMethodsÍ&(Ljava/lang/Object;)Ljava/lang/Object;Ï ²Ð ÑÒ getCategory7()Lnet/minecraft/util/profiling/metrics/MetricCategory;Ôk(Lnet/minecraft/util/profiling/metrics/MetricSampler;)Lnet/minecraft/util/profiling/metrics/MetricCategory;Ö'(Ljava/lang/Object;Ljava/lang/Object;)VØ Ù ÅÆÛH(Lnet/minecraft/util/profiling/metrics/MetricCategory;Ljava/util/List;)VÝ(C)Zß àáâ ãÝ"net/minecraft/resources/Identifier validPathCharå.csvç ²è éêresultD()Lnet/minecraft/util/profiling/metrics/MetricSampler$SamplerResult;ìx(Lnet/minecraft/util/profiling/metrics/MetricSampler;)Lnet/minecraft/util/profiling/metrics/MetricSampler$SamplerResult;î(Ljava/lang/Object;)Ið \ñ òØ getFirstTickôE(Lnet/minecraft/util/profiling/metrics/MetricSampler$SamplerResult;)Iö \÷ øØ getLastTickú û ÁÂýV(Lnet/minecraft/util/profiling/metrics/MetricSampler$SamplerResult;)Ljava/lang/String;ÿ(I)Ljava/lang/Object;  ¾¿¿  ·¸G(Lnet/minecraft/util/profiling/metrics/MetricSampler;Ljava/util/List;)V (Ljava/lang/Object;)V  ¹ºC(Lnet/minecraft/util/profiling/metrics/storage/RecordedDeviation;)V  "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;  ƒ$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; InnerClassesBuilder SamplerResult!%java/lang/invoke/MethodHandles$Lookup#java/lang/invoke/MethodHandlesLookup!v w5x wAy w.ûü TzF *·*+µ±{&' (| }~  €�z—†² ½¸W§:»Y·¿ ½¸":¹&¶,² ½¸W*´¹1:5¹1:*+¶7,¹;š*,A¹1¶C*-¶G°:»Y·¿ yz{B, /-.2%3/5:6G7R9Y;b<p?w@zA|B|\  ‚ƒ%U„G3…R(†| ‚ƒ†}~†‡ˆ†‰Š†‹ZŒ†‡�†‰Ž�)N þU'''ÿ L<1 ‡‰‹�‘9:zµ8+¹K™ »NYP·R¿+¹UºY¸]¹cÀXFYdZo[r\{^†_‹`˜b³cÎeÙfÝgëhòj ken$r)s,o.p=rBsErLsOt|¬d –—Ý5˜N ò ™š  ›œÒFMN >æ�ž{©Ÿ ˜Œ¡¢³q£N ÎV¤N .‚¥P}~P¦§P‡¢P’7¨4©ªŒ ò ™« ˜Œ¡¬P‡­�mÿNr¤''®žªú#ÿ_ r¤''®ž–¤úEÿr¤''® X°  ¦‡’�²EFz€²¸¸!¶'N+-,º+¹m±{wx|*}~‰Š³´µŒ ‰Ž ‰³�¶IJzS+,.¹1¹0W±{ ‚ƒ| }~¡Z³ ¡³ ·¸zW-*+,º6¹9±{y|*´µ³–—B¢ ¹ºz´L*-´<¶B:+,¶´ºw¸{¹1²FI½Y-´K¸OSYS¸T¹1:-´W¹0W±{z {?|K}|>L´µL³L–—L»¼ B@ ? ½ ¾¿z/½á°{j| ÀN ÁÂz= +¶[¸a°{h| ˜N ÃÄÅÆzP*,-+¶d±{L|*}~’¦§Ç¢Èz0h½á¸j³ ¸p³ù±{  "ÉÊËl ÌÎÓÕ×ÚÜÞÜäÌæëíïóíõóÌùüþÕ  ž– \²  "$