Êþº¾E‡  java/lang/Object()V   net/minecraft/SharedConstantsILLEGAL_FILE_CHARACTERS[C  java/lang/Stringreplace(CC)Ljava/lang/String;[./"]_   replaceAll8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;   net/minecraft/util/FileUtil sanitizeName&(Ljava/lang/String;)Ljava/lang/String; " #$isPathPartPortable(Ljava/lang/String;)Z& ' makeConcatWithConstants ) *+COPY_COUNTER_PATTERNLjava/util/regex/Pattern; -./ 01java/util/regex/Patternmatcher3(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher; 345 67java/util/regex/Matchermatches()Z9name 3; < group>count @AB CDjava/lang/IntegerparseInt(Ljava/lang/String;)I F GHlength()I J KL substring(II)Ljava/lang/String;N 'O(I)Ljava/lang/String;Q ' STU VWjava/nio/file/Pathresolve((Ljava/lang/String;)Ljava/nio/file/Path;Y%java/nio/file/attribute/FileAttribute [\] ^_java/nio/file/FilescreateDirectoryR(Ljava/nio/file/Path;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/file/Path; [a bcdeleteIfExists(Ljava/nio/file/Path;)Z Se fg relativize*(Ljava/nio/file/Path;)Ljava/nio/file/Path; Si jktoString()Ljava/lang/String;m(java/nio/file/FileAlreadyExistsException So pqiterator()Ljava/util/Iterator; stu v7java/util/IteratorhasNext sx yznext()Ljava/lang/Object; | }+RESERVED_WINDOWS_FILENAMES €� ‚ #org/apache/commons/io/FilenameUtils getFullPath „…† ‡ˆ java/io/File separatorLjava/lang/String;Š/ Œ �D(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; � �  normalize ’ “”indexOf(I)I – —HhashCode™ › œ�equals(Ljava/lang/Object;)ZŸ.¡..£ ¤¥get1(Ljava/lang/String;)Ljava/util/function/Supplier; §¨© ª«#com/mojang/serialization/DataResulterrorD(Ljava/util/function/Supplier;)Lcom/mojang/serialization/DataResult; ­ ®$containsAllowedCharactersOnly£ ±²³ ´µjava/util/Listof$(Ljava/lang/Object;)Ljava/util/List; §· ¸¹success9(Ljava/lang/Object;)Lcom/mojang/serialization/DataResult;»java/util/ArrayList º¾ ¤¿C(Ljava/lang/String;Ljava/lang/String;)Ljava/util/function/Supplier;¾ ±Â Ã�add Å “Æ(II)I ±È ÉHsize ±Ë ¤Ì(I)Ljava/lang/Object; SÎ ÏÐ getFileSystem()Ljava/nio/file/FileSystem; ÒÓÔ ÕÖjava/nio/file/FileSystemgetPath;(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path; SØ Vg Ú Û+STRICT_PATH_SEGMENT_CHECKÝ"java/lang/IllegalArgumentExceptionß#Path must have at least one element Üá â(Ljava/lang/String;)V ä å$isValidPathSegment çèé jêjava/util/Arrays'([Ljava/lang/Object;)Ljava/lang/String;Qíjava/nio/file/LinkOption [ï ðñexists2(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z Só ôõ toRealPath1([Ljava/nio/file/LinkOption;)Ljava/nio/file/Path; [÷ ø_createDirectories Sú ûH getNameCount Sý þÿ getFileName()Ljava/nio/file/Path;  7isEmptyQ &(.*) \((\d*)\) -   compile.(Ljava/lang/String;I)Ljava/util/regex/Pattern; ?.*\.|(?:COM|CLOCK\$|CON|PRN|AUX|NUL|COM[1-9]|LPT[1-9])(?:\..*)? [-._a-z0-9]+ -  -(Ljava/lang/String;)Ljava/util/regex/Pattern; MAX_FILE_NAMEI ConstantValueÿCodeLineNumberTableLocalVariableTablethisLnet/minecraft/util/FileUtil;replacerCbaseName StackMapTable MethodParametersfindAvailableNameL(Ljava/nio/file/Path;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; countSuffixcreatedLjava/nio/file/Path;e*Ljava/nio/file/FileAlreadyExistsException;fullPathbaseDirsuffixLjava/util/regex/Matcher; nameToTest Exceptions/java/io/IOExceptionisPathPortablepartpathgetFullResourcePathfilenamenormalizeResourcePath decomposePath9(Ljava/lang/String;)Lcom/mojang/serialization/DataResult;segment segmentEndresultLjava/util/List; segmentStart lastSegmentZLocalVariableTypeTable$Ljava/util/List; Signature_(Ljava/lang/String;)Lcom/mojang/serialization/DataResult;>; resolvePath:(Ljava/nio/file/Path;Ljava/util/List;)Ljava/nio/file/Path;irest[Ljava/lang/String;rootsegmentsGN(Ljava/nio/file/Path;Ljava/util/List;)Ljava/nio/file/Path; validatePath([Ljava/lang/String;)VcreateDirectoriesSafe(Ljava/nio/file/Path;)Vdir isEmptyPathlambda$decomposePath$3lambda$decomposePath$2lambda$decomposePath$1lambda$decomposePath$0 SourceFile FileUtil.javaBootstrapMethods[__] ()_zb c U kf g T i j Sl m RoIllegal segment  in path qInvalid segment '' in path ''sInvalid path ''u vwx 'y$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;{ |}~ €"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; InnerClassesƒ%java/lang/invoke/MethodHandles$Lookup…java/lang/invoke/MethodHandlesLookup!*+}+Û+/*·±   ~+²L+¾=>¢+46*_¶ K„§ÿê*¶°"  +ˆ þ ø  !"ûÊ+¸L+¸!š +º%L²(+¶,N6-¶2™-8¶:L-=¶:¸?6+¶Eÿ,¶Ed¤+ÿ,¶Ed¶IL+:™6ºM:ÿ¶Ed6¶E¤ ¶I:ºP:,ºP:*¹R:½X¸Z:¸`W*¹d¹h°:„§ÿ�£ÁÂlf$& '*+,%-,.70F1T7W8\9e:p;z<„>�A™C£E®F´GÂHÄIÇKp e*#ˆpG®$%Ä&'£$(%Ê)%ʈÊ*ˆ¯0+¬>Ws,ˆ5ý#3þ/ù ÿ2S3Sl-. )* 0cƒ-*¹nL+¹r™+¹wÀSM,¹h¸!š¬§ÿ߬OP&Q(S+U1%-2% üs ú 2 #$H²{*¶,¶2š§¬Y 9ˆ@ 9 3 7 *¸~²ƒ‰¶‹°]  4ˆ 4 5 7 *¸Ž²ƒ‰¶‹°a  4ˆ 4 67�*/¶‘< š*M>,¶•«K$.2À@,˜¶š™!>§,ž¶š™>§, ¶š™>ª(*º¢¸¦§*¸¬š*º¯¸¦§ *¸°¸¶°»ºY·¼M>6*¶I::6¶•«Q$.4ÀD˜¶š™&6§ ž¶š™6§ ¶š™6ª%*º½¸¦°¸¬š*ºÀ¸¦°,¹ÁW™,¸¶°`>*/¶Ä<  *¶E<6§ÿ4fij k|lˆn�o›q¢k£v«x­y°{¸|0~<�D‚P„Yˆ^‰c‹gŒo�tŽy�|‘>¸Ä8ˆ2ˆx9«Ô:;­Ò<°Ï=>? «Ô:@=þ8  ÿ§þ ±þ7  ùú 2AB CD1€+¹Ç=«3 *§Z*+¹ÊÀ¹R§Gd½N6¢-d+¹ÊÀS„§ÿæ**¹Í+¹ÊÀ-¶Ñ¹×§°* –—$˜(™;›BœK�\œbŸ—4EEB=FG€H%€I;yÉ? €I@#ü$ý JúÿS±S HIAK ®$5 ²Ù*¶,¶2¬¥  8ˆ 8 å$T* ¶šš*ž¶šš*¸¬™§¬© 8ˆ@ 8‰LM£B*¾š »ÜYÞ·à¿*L+¾=>¢)+2:¸ãš»ÜY*¸æºë·à¿„§ÿر­®° ±(²;°Aµ 8ˆB2GþJ$ø 2 NO]"*½ì¸î™*½ì¹ò§*½X¸öW± ¹!º "P%@S-. P QcV!*¹ù *¹ü¹h¶™§¬½ !2%@ 2 R<*+º°‚8ˆ2ˆ S<*+º°~8ˆ2ˆ T 1*º°o 2ˆ U 1*º°l 2ˆV?B¸³( ¸³{ ¸³Ù± WXYN tZt\t^z`adz`edz`hdz`kdtntptr� ‚„†