=  java/lang/Object()V   )zombie/iso/areas/isoregion/data/DataChunkhighestZI  lastUpdateStampJ%zombie/iso/areas/isoregion/IsoRegions   activeZLayers[Z   dirtyZLayersjava/util/ArrayList  (I)V  !" chunkRegionsLjava/util/ArrayList; $ %&cell*Lzombie/iso/areas/isoregion/data/DataCell; ( )*hash(II)I , - hashId / 0 chunkX 2 3 chunkY  6 78add(Ljava/lang/Object;)Z : ;<get(I)Ljava/lang/Object; >?@ AB(zombie/iso/areas/isoregion/data/DataCelldataRoot*Lzombie/iso/areas/isoregion/data/DataRoot; DEF GH(zombie/iso/areas/isoregion/data/DataRootEnqueueDirtyDataChunk.(Lzombie/iso/areas/isoregion/data/DataChunk;)V J KL getSquare(IIIZ)B N OP squareFlags[B R ST validCoords(III)Z V WX getCoord1D(III)I Z [\setOrAddSquare(IIIBZ)B ^ _ ensureSquares a bsetDirty d eensureSquareArray g hP regionIDs jkl mnjava/nio/ByteBufferposition()I jp qrputInt(I)Ljava/nio/ByteBuffer; jt uvput(B)Ljava/nio/ByteBuffer; jx mrzjava/lang/Exception y| }~ getMessage()Ljava/lang/String;  zombie/debug/DebugLoglog(Ljava/lang/String;)V y printStackTrace j ngetInt j ;()B   selectedFlagsB  squareHasFlags(IB)Z  squareGetFlags(I)B  squareAddFlags(IB)V  squareRemoveFlags  squareCanConnect(IIB)Z  getIsoChunkRegion7(II)Lzombie/iso/areas/isoregion/regions/IsoChunkRegion;  nsize1zombie/iso/areas/isoregion/regions/IsoChunkRegion   recalculate unlinkFromIsoWorldRegion5()Lzombie/iso/areas/isoregion/regions/IsoWorldRegion; 1zombie/iso/areas/isoregion/regions/IsoWorldRegion D  regionManager5Lzombie/iso/areas/isoregion/regions/IsoRegionManager;  3zombie/iso/areas/isoregion/regions/IsoRegionManagerreleaseIsoWorldRegion6(Lzombie/iso/areas/isoregion/regions/IsoWorldRegion;)V releaseIsoChunkRegion6(Lzombie/iso/areas/isoregion/regions/IsoChunkRegion;)V  <remove  clear  java/util/Arraysfill([BIIB)V   floodFill8(III)Lzombie/iso/areas/isoregion/regions/IsoChunkRegion; allocIsoChunkRegion6(I)Lzombie/iso/areas/isoregion/regions/IsoChunkRegion;  clearExploredPositions   tmpSquaresLjava/util/ArrayDeque; java/util/ArrayDeque  tmpLinkedChunksLjava/util/HashSet; java/util/HashSet  -zombie/iso/areas/isoregion/data/DataSquarePosalloc4(III)Lzombie/iso/areas/isoregion/data/DataSquarePos; 6 poll()Ljava/lang/Object; x y z  setExploredPosition(II)V  addSquareCount    getNeighbora(Lzombie/iso/areas/isoregion/data/DataSquarePos;B)Lzombie/iso/areas/isoregion/data/DataSquarePos;    isExploredPosition(II)Z  release2(Lzombie/iso/areas/isoregion/data/DataSquarePos;)V  GetOppositeDir(B)B  ngetID  java/lang/IntegervalueOf(I)Ljava/lang/Integer;  !8contains # $ addNeighbor 6 ' (addChunkBorderSquaresCnt * +exploredPositions - .([ZZ)V 0 12linkRegionsOnSide0(ILzombie/iso/areas/isoregion/data/DataChunk;B)V 4 56isDirty(I)Z 8 9resetEnclosedSide ; <= lastCurRegion3Lzombie/iso/areas/isoregion/regions/IsoChunkRegion; ? @=lastOtherRegionFullConnectB4ds.getRegion()==null, shouldnt happen at this point. D Ewarn G HI setEnclosed(BZ)V K LaddConnectedNeighbor N OP getIsEnclosed()Z R Sn getzLayer U VgetIsoWorldRegion X YZgetConnectedNeighbors()Ljava/util/ArrayList; \ ]allocIsoWorldRegion D_ `EnqueueDirtyIsoWorldRegion b caddIsoChunkRegion e fg-getConnectedNeighborWithLargestIsoWorldRegion5()Lzombie/iso/areas/isoregion/regions/IsoChunkRegion; i j"oldList l mnswapIsoChunkRegions,(Ljava/util/ArrayList;)Ljava/util/ArrayList; p qsetIsoWorldRegion s tufloodFillExpandWorldRegioni(Lzombie/iso/areas/isoregion/regions/IsoChunkRegion;Lzombie/iso/areas/isoregion/regions/IsoWorldRegion;)V Dw x  floodFills z { chunkQueue  ~ merge   resetRoofCnt  K(III)B  (IIIB)Z   addRoof  P isEnclosed   SignatureaLjava/util/ArrayList;>;GLjava/util/ArrayDeque;(Ljava/util/HashSet;JLjava/util/ArrayList;KLjava/util/ArrayDeque;0(IILzombie/iso/areas/isoregion/data/DataCell;I)VCodeLineNumberTable StackMapTable getHashId getChunkX getChunkYgetChunkRegions(I)Ljava/util/ArrayList;M(I)Ljava/util/ArrayList;getLastUpdateStamp()JsetLastUpdateStamp(J)VsetDirtyAllActive unsetDirtyAll(IIIB)BPsave(Ljava/nio/ByteBuffer;)Vload(Ljava/nio/ByteBuffer;IZ)VsetSelectedFlags(III)VselectedHasFlags(B)Z(IIIB)V setRegionlink(Lzombie/iso/areas/isoregion/data/DataChunk;Lzombie/iso/areas/isoregion/data/DataChunk;Lzombie/iso/areas/isoregion/data/DataChunk;Lzombie/iso/areas/isoregion/data/DataChunk;)V interConnect recalcRoofs SourceFileDataChunk.java1%&- 0 3  OPhP!" + <= @= j"{2m*** ***Y*-#* '+*.*16*Y45W:% "+&0'C(H)M*W+f*l,0>>>n*+.n*.0n*13$ *95* 8"*  <=56;*3 *3@ ABbI*3*T*#=*CF GHJ{2<=**3*T*#=*C<ֱ& MN OPQR)S+N1V &I<*TYZY\ STK(%  *`_&@WX' h h h``cK! *IfKLc0*M* *Q*3*M*U3hij,l.n[# *Yq[\< *Q.*]*U6*M3*`*MT"stuv)w.x7y:{  _e *3S*c*T**> 26 "*U=*MT݄α:  (-5?HX^dC !e_` h h=*M *MG*MN*f:*M*f-*6- *M-3T*f3T߱2 %,37ALX^#k+i=+oW+*oW*`dh>+oW6+*M3sW+i6+wW+doW+wWM,{,[^yF $-9?EKT[^_fj'jy \+W*+*6*]+66*M+T:{ILy> "(.8CILNV[ ByQ#**M*U3 "2~ @&**U>*M3>~ @$ **U*M3&**U$ *M\3T&**U$ *M\3T'**Uol*`b***@*:!&5:<ACHX]m@@@@% **Uq@=*`3*f3>(*9*99+>>+*f*UT   h+<*#*3*3*۱ $* ?*9M,d>K,9::*#=*#=,W,d>*fhh`6 66 &*f*U3*:لɱN !(5D!S"Y_$c&f'v)*+,*)0%0 # *#=:*96*95W*ڲݶWݶY:H*U6**f3*fT6  * :*U6 *  * 8*  %*f 3tW* z* :  K D   " " %W*  * & `6 '56!7296:<;B=O@^CsD~FGHJKLNPQRUWXYZ],^8_I`PaWbfeqfvgyjlmJt{ OJ ? DF    , h hd>)3 z {1 h hd>)T $),  e+>+6 +d> +`>+d6 +`6   +2  &*5:BXZ   K6*A*31*3$*+/*,/*-/*/&   #+3;DJ  126 6 6`6 6`66 6,,3 ,7:>6K6:6 6  66 *U6 * U6 * : , , :  ACɲ:: >::  > , *  Fv* G, 9  J  J  "  " M  F >'  "  " M  F> :ń4  %28;?CKTX\gr{  !+DKRY`hrz A A   @ @,@F9}:*9N6-$-9:Q Fٱ #,39 # 6*~*3n*3a*9N6-H-9L+Q/+T(+W'*#=[:*#=^+a+d:T:hhkh6hh9M,o*#=*#=[:*#=^*+r6  h>h 9M,T%*#=[: *#= ^*, r v`v-*#=[:*#=^*+rv`v)  #0 < F V`o{!"#& '()-*9+@&F/N0Q2`3l4s5{ ; P%!3?   )tuy+WyYNo,-a-W6-WK-W9:y|)TyWT, ,T}>BDEG%H(J7KELPMSN[OgPpRyJW+'C*<*:=*9 *99N-Ԅ*<6 6 *=>*>d6{*=d* >3*: TT >>*>>P@$\] _`*a=bA`G_MeRi\jfkplrmvnpqrstuwxyz{|}r ji  . "&@2X0YݻYd)Y4hYy2 3w=%>