Êþº¾Eœ  java/lang/Object()V0it/unimi/dsi/fastutil/longs/Long2ByteOpenHashMap   ;net/minecraft/world/level/lighting/LayerLightSectionStorage sectionStates*Lit/unimi/dsi/fastutil/longs/Long2ByteMap;+it/unimi/dsi/fastutil/longs/LongOpenHashSet   columnsWithSources%Lit/unimi/dsi/fastutil/longs/LongSet;  changedSections  sectionsAffectedByLightUpdates2it/unimi/dsi/fastutil/longs/Long2ObjectOpenHashMap  !"# $%+it/unimi/dsi/fastutil/longs/Long2ObjectMaps synchronizeZ(Lit/unimi/dsi/fastutil/longs/Long2ObjectMap;)Lit/unimi/dsi/fastutil/longs/Long2ObjectMap; ' ()queuedSections,Lit/unimi/dsi/fastutil/longs/Long2ObjectMap; + ,columnsToRetainQueuedDataFor . /toRemove 1 23layer&Lnet/minecraft/world/level/LightLayer; 5 67 chunkSource2Lnet/minecraft/world/level/chunk/LightChunkGetter; 9 :;updatingSectionData8Lnet/minecraft/world/level/lighting/DataLayerStorageMap; =>? @A6net/minecraft/world/level/lighting/DataLayerStorageMapcopy:()Lnet/minecraft/world/level/lighting/DataLayerStorageMap; C D;visibleSectionData =F G disableCacheIHnet/minecraft/world/level/lighting/LayerLightSectionStorage$SectionState KLM NO(it/unimi/dsi/fastutil/longs/Long2ByteMapdefaultReturnValue(B)V Q RS getDataLayer/(JZ)Lnet/minecraft/world/level/chunk/DataLayer; U RVf(Lnet/minecraft/world/level/lighting/DataLayerStorageMap;J)Lnet/minecraft/world/level/chunk/DataLayer; =X YZgetLayer.(J)Lnet/minecraft/world/level/chunk/DataLayer; \]^ _`#it/unimi/dsi/fastutil/longs/LongSetadd(J)Z bcd @e)net/minecraft/world/level/chunk/DataLayer-()Lnet/minecraft/world/level/chunk/DataLayer; =g hisetLayer/(JLnet/minecraft/world/level/chunk/DataLayer;)V =k l clearCache nop qr*it/unimi/dsi/fastutil/longs/Long2ObjectMapget(J)Ljava/lang/Object; tuv wxnet/minecraft/core/SectionPosblockToSection(J)J z{| }~net/minecraft/core/BlockPosgetX(J)I t€ �‚sectionRelative(I)I z„ …~getY z‡ ˆ~getZ bŠ q‹(III)I =� ŽZ copyDataLayer b� ‘’set(IIII)V ”•– —˜java/util/ObjectsrequireNonNull&(Ljava/lang/Object;)Ljava/lang/Object;š ›œacceptQ(Lit/unimi/dsi/fastutil/longs/LongSet;)Lit/unimi/dsi/fastutil/longs/LongConsumer; tž Ÿ aroundAndAtBlockPos.(JLit/unimi/dsi/fastutil/longs/LongConsumer;)V t¢ £~x t¥ ¦~y t¨ ©~z t« ¬­asLong(III)J b ° ±²hasInconsistenciesZ \´ µ¶iterator,()Lit/unimi/dsi/fastutil/longs/LongIterator; ¸¹º »¼java/util/IteratorhasNext()Z ¸¾ ¿Ànext()Ljava/lang/Object;Âjava/lang/Long ÁÄ ÅÆ longValue()J nÈ Érremove =Ë ÌZ removeLayer tÎ Ïx getZeroNode \Ñ Ò`contains nÔ ÕÖput'(JLjava/lang/Object;)Ljava/lang/Object; Ø ÙÚ onNodeRemoved(J)V \Ü Ýclear !ß àá fastIterator\(Lit/unimi/dsi/fastutil/longs/Long2ObjectMap;)Lit/unimi/dsi/fastutil/objects/ObjectIterator; ã¹ä,it/unimi/dsi/fastutil/objects/ObjectIterator ã¾ç0it/unimi/dsi/fastutil/longs/Long2ObjectMap$Entry æé êÆ getLongKey ì í`storingLightForSection æï ðÀgetValue ãò É \ô É` Kö q÷(J)B Hù úûhasData(BZ)B ý þÿputSectionState(JB)V t offset(JIII)J H  neighborCount(B)I H  (BI)B K Õ (JB)B  ÚinitializeSection K É÷  Ú removeSection  ZcreateDataLayer  Ú onNodeAdded  Ú!markSectionAndNeighborsAsAffected \ !¼isEmpty #¹$(it/unimi/dsi/fastutil/longs/LongIterator #& 'ÆnextLong t) *+of"(J)Lnet/minecraft/core/SectionPos; -./ 010net/minecraft/world/level/chunk/LightChunkGetter onLightUpdateH(Lnet/minecraft/world/level/LightLayer;Lnet/minecraft/core/SectionPos;)V H3 45typeL(B)Lnet/minecraft/world/level/lighting/LayerLightSectionStorage$SectionType; SignatureTM;YLit/unimi/dsi/fastutil/longs/Long2ObjectMap;“(Lnet/minecraft/world/level/LightLayer;Lnet/minecraft/world/level/chunk/LightChunkGetter;Lnet/minecraft/world/level/lighting/DataLayerStorageMap;)VCodeLineNumberTableLocalVariableTablethis=Lnet/minecraft/world/level/lighting/LayerLightSectionStorage; initialMapLocalVariableTypeTableBLnet/minecraft/world/level/lighting/LayerLightSectionStorage;MethodParameters^(Lnet/minecraft/world/level/LightLayer;Lnet/minecraft/world/level/chunk/LightChunkGetter;TM;)V sectionNodeJ StackMapTableupdatingRuntimeVisibleTypeAnnotations#Lorg/jspecify/annotations/Nullable;sections1(TM;J)Lnet/minecraft/world/level/chunk/DataLayer;getDataLayerToWrite dataLayer+Lnet/minecraft/world/level/chunk/DataLayer;getDataLayerData getLightValue blockNodegetStoredLevelsetStoredLevel(JI)VlevelIoffsetYoffsetXoffsetZ queuedLayermarkNewInconsistencies3(Lnet/minecraft/world/level/lighting/LightEngine;)Vqueuedstorednodeentry2Lit/unimi/dsi/fastutil/longs/Long2ObjectMap$Entry;dataengine0Lnet/minecraft/world/level/lighting/LightEngine;.Lit/unimi/dsi/fastutil/objects/ObjectIterator;_Lit/unimi/dsi/fastutil/longs/Long2ObjectMap$Entry;6Lnet/minecraft/world/level/lighting/LightEngine;�Lit/unimi/dsi/fastutil/objects/ObjectIterator;>;9(Lnet/minecraft/world/level/lighting/LightEngine;)VsetLightEnabled(JZ)VzeroNodeenablelightOnInSectionlightOnInColumnsectionZeroNode retainDataretainqueueSectionDataupdateSectionStatus neighborNode neighborStateB sectionEmptystatenewStateneighborIncrementswapSectionMap*Lit/unimi/dsi/fastutil/longs/LongIterator;getDebugSectionTypeL(J)Lnet/minecraft/world/level/lighting/LayerLightSectionStorage$SectionType;S;>Ljava/lang/Object; SourceFileLayerLightSectionStorage.java NestMembers…Gnet/minecraft/world/level/lighting/LayerLightSectionStorage$SectionTypeBootstrapMethodsÚ ‰ Š]‹*it/unimi/dsi/fastutil/longs/LongCollection� Ž�� ‘’"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 SectionStateEntry SectionType˜%java/lang/invoke/MethodHandles$Lookupšjava/lang/invoke/MethodHandlesLookup!  2367DD;67:;67()68,/D±²9:}*·*»Y· µ *»Y·µ*»Y·µ*»Y·µ*»Y·¸ µ&*»Y·µ**»Y·µ-*+µ0*,µ4*-µ8*-¶<µB*´B¶E*´ ¹J±;>."%#0&>(I*T/Y0^1c2k3r4|5<*}=>}23}67}?;@}=A}?7B 26?6Cí`:`*¶PƧ¬;8<=>DE@ =AF @BDRS:ƒ*™ *´8§*´B¶T°;<< =>DEG²@ =AFL ÿ  =B DGHIRV:`+ ¶W°;@< =>J;DE@=AJ7B JD6KHILZ:®3*´8¶WN-ǰ*´¹[™-¶aN*´8-¶f*´8¶j-°;"D E FHI!J*K1M< 3=>3DE *MN@ 3=AF üb!BDHIOZ:…*´&¹mÀbN-Æ-°*¶P°;QRSU< =>DE 2N@ =AFübBDHIP~BQR~:š(¸sB*!¶P:¸y¸¸ƒ¸¸†¸¶‰¬;_` abcd$a<*(=>(QE#DE 2N@ (=ABQST:Y¸s7*´¹[™*´8¶Œ:§ *¶P:¸y¸¸ƒ¸¸†¸¶�*´Y¸“Wº™¸�±;. kmn"p+r.s5t<uCrFxXy<>2NY=>YQEYUVSDE+.2N@ Y=AF ü"übB QUÚ:, Z¸¡>¸¤6¸§66£B6£36£$*´```¸ª¹[W„§ÿÜ„§ÿÍ„§ÿ¾±;. |} ~€�#‚,ƒG‚M�S€Y‡<R&'WV6XVEYVZ=>ZDEU£V O¦VI©V@ Z=AF"ÿ üüú&úúBDZ:†*´&¹mÀbN-Æ-°»bY·®°;Š‹ŒŽ< =>DEZN@ =AFübBD±¼:A*´¯¬;’< =>@ =A[\:¡3*´¯š±*µ¯*´-¹³M,¹·™c,¹½ÀÁ¶ÃB*´&!¹ÇÀb:*´8!¶Ê:*´*!¸Í¹Ð™*Æ*´&!¹ÓW§Æ*´&!¹ÓW§ÿš*´8¶j*´-¹³M,¹·™#,¹½ÀÁ¶ÃB*!¶×*´!¹[W§ÿÚ*´-¹Û*´&¸ÞM,¹â™Z,¹åÀæN-¹è7*¶ëš§ÿÜ-¹îÀb:*´8¶W¥*´8¶f*´¹[W,¹ñ§ÿ£*´8¶j±;‚ —˜š œ-�<žFŸV [¡k¢p£}¦€§‡¨§©¬ª·«º¬Ã®Ë¯Ô°Þ±æ²ï³òµý· ¹º"¼(½+¾2¿<f <A]NF7^N-P_E§_EÞJ`aæBDEý+bN3=>3cdËhµe@*ÞJ`f3=A3cgËhµhF8 ü¸þSbbøúü¸ú(üãý&æü/bøBc6iÚ:G±;Â<=>DE@ =ABDÙÚ:G±;Å<=>DE@ =ABDjk:„™*´¹[W§*´¹óW±;ÈÉËÍ< =>lEm²@ =AF B lmn`:d¸ÍB*´!¹Ð¬; ÐÑ< =>DE lE@ =ABDo`:Q *´¹Ð¬;Õ< => pE@  =ABpqk:„™*´*¹[W§*´*¹óW±;ÙÚÜÞ< =>lEr²@ =AF B lrsi:Ž$-Æ*´&-¹ÓW*µ¯§*´&¹ÇW±;áâãå#ç< $=>$DE$bN@ $=AF B DbH Itk:Ê ¢*´ ¹õ6𧏸6 ±*¶ü™§66£e6£V6  £Gšš  š§/ ¸7 *´  ¹õ6 *   ¸`¸¶ü„ §ÿ¹„§ÿª„§ÿ›±;Jê ëì#í$ð+ò6ó?ôHõQö`÷cùoú|û�õ•ô›ó¡ÿ<p o uE |vw KJYV BYWV9hXV¢=>¢DE¢x² –yw†zw6l{V@ ¢=AF> ÿ ÿ ü @ýüü+úúúB Dxþÿ:›-™*´ ¹ š*¶§*´ ¹™*¶±;', < -=>-DE-yw@ -=AFB DyÚ:œ5*´-¹óš**´8*¶¶f*´¹[W*¶*¶*µ¯±; %*/4<5=>5DE@ 5=AF4BDÚ:_*´-¹[W*µ¯±; <=>DE@ =ABD|:j*´¹š*´8¶@@7j=AF &ü##ú~:T*´ ¹õ¸2°;.<=>DE@ =ABD6€�‚ƒ„H† Œ‡ˆ‡“"H ” æn• „ –@—™›