=zombie/vehicles/VehiclesDB2  )zombie/vehicles/VehiclesDB2$IVehicleStore()V  $zombie/vehicles/VehiclesDB2$SQLStorem_connLjava/sql/Connection;)zombie/vehicles/VehiclesDB2$VehicleBuffer   m_vehicleBuffer+Lzombie/vehicles/VehiclesDB2$VehicleBuffer;  gnu/trove/set/hash/TIntHashSetclear   zombie/core/Core getInstance()Lzombie/core/Core; " #$isNoSave()Z & 'create ) *+ initUsedIDsC(Lgnu/trove/set/hash/TIntHashSet;Lgnu/trove/set/hash/TIntHashSet;)V-java/sql/SQLException /01 23"zombie/core/logger/ExceptionLogger logException(Ljava/lang/Throwable;)V 567 8java/sql/Connectionclose:ESELECT id, x, y, data, worldversion FROM vehicles WHERE wx=? AND wy=? 5< =>prepareStatement0(Ljava/lang/String;)Ljava/sql/PreparedStatement; @AB CDzombie/iso/IsoChunkwxI FGH IJjava/sql/PreparedStatementsetInt(II)V @L MDwy FO PQ executeQuery()Ljava/sql/ResultSet; STU V$java/sql/ResultSetnext SX YZgetInt(I)I \ ]Dm_id _ `Dm_wx b cDm_wy Se fggetFloat(I)F i jkm_xF m nkm_y Sp qrgetBinaryStream(I)Ljava/io/InputStream; t uvsetBytes(Ljava/io/InputStream;)V x yDm_WorldVersion { |}m_bbLjava/nio/ByteBuffer;  java/nio/ByteBufferget()B  zombie/iso/IsoObjectgetFactoryVehicle)()Lzombie/iso/IsoObject$IsoObjectFactory;  %zombie/iso/IsoObject$IsoObjectFactory getClassID  .zombie/vehicles/VehiclesDB2$ThrowingBiConsumeraccept'(Ljava/lang/Object;Ljava/lang/Object;)V F6java/lang/Throwable 3 addSuppressedjava/lang/Exception  ,zombie/vehicles/VehiclesDB2$ThrowingConsumer(Ljava/lang/Object;)V $assertionsDisabledZjava/lang/AssertionError   instanceLzombie/vehicles/VehiclesDB2;  m_main(Lzombie/vehicles/VehiclesDB2$MainThread;  &zombie/vehicles/VehiclesDB2$MainThread m_usedIDs Lgnu/trove/set/hash/TIntHashSet;  contains(I)Z isInDB updateDB.(Lzombie/vehicles/VehiclesDB2$VehicleBuffer;)V addToDB rollback!SELECT 1 FROM vehicles WHERE id=?JINSERT INTO vehicles(wx,wy,x,y,worldversion,data,id) VALUES(?,?,?,?,?,?,?) F setFloat(IF)V  rewind()Ljava/nio/ByteBuffer;'zombie/util/ByteBufferBackedInputStream (Ljava/nio/ByteBuffer;)V   remaining()I F setBinaryStream(ILjava/io/InputStream;I)V F  executeUpdate 5 commitWUPDATE vehicles SET wx = ?, wy = ?, x = ?, y = ?, worldversion = ?, data = ? WHERE id=?DELETE FROM vehicles WHERE id=?  zombie/ZomboidFileSystemLzombie/ZomboidFileSystem; getCurrentSaveDir()Ljava/lang/String; java/io/File (Ljava/lang/String;)V $exists $mkdirs   separatorLjava/lang/String; makeConcatWithConstants8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;     setReadable(ZZ)Z     setExecutable    setWritable  $ createNewFile  getAbsolutePath  zombie/util/PZSQLUtils getConnection)(Ljava/lang/String;)Ljava/sql/Connection; 5  createStatement()Ljava/sql/Statement;"CREATE TABLE vehicles (id INTEGER PRIMARY KEY NOT NULL,wx INTEGER,wy INTEGER,x FLOAT,y FLOAT,worldversion INTEGER,data BLOB); $%& 'java/sql/Statement(Ljava/lang/String;)I)#CREATE INDEX ivwx ON vehicles (wx);+#CREATE INDEX ivwy ON vehicles (wy); $6."failed to create vehicles database 012 3zombie/debug/DebugLoglog 567 89java/lang/Systemexit(I)V;PRAGMA JOURNAL_MODE=TRUNCATE; $= P>((Ljava/lang/String;)Ljava/sql/ResultSet; 5@ AB setAutoCommit(Z)VDjava.library.pathF 5H I getProperty K L pathSeparator NOP QRjava/lang/Stringsplit'(Ljava/lang/String;)[Ljava/lang/String; T U'(Ljava/lang/String;Ljava/lang/String;)VWSELECT wx,wy,id FROM vehicles Y Zadd 5 ]^_ `$java/lang/ClassdesiredAssertionStatusCodeLineNumberTableinit StackMapTableReset loadChunkH(Lzombie/iso/IsoChunk;Lzombie/vehicles/VehiclesDB2$ThrowingBiConsumer;)Vijava/io/InputStream Exceptionsljava/io/IOException Signature(Lzombie/iso/IsoChunk;Lzombie/vehicles/VehiclesDB2$ThrowingBiConsumer;)V3(IILzombie/vehicles/VehiclesDB2$ThrowingConsumer;)Vu(IILzombie/vehicles/VehiclesDB2$ThrowingConsumer;)V updateVehiclesjava/lang/Object removeVehiclesearchPathForSqliteLib&(Ljava/lang/String;)Ljava/lang/String;x[Ljava/lang/String; SourceFileVehiclesDB2.javaNestHostBootstrapMethods  $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; vehicles.db InnerClasses IVehicleStoreSQLStore VehicleBufferIsoObjectFactoryThrowingBiConsumerThrowingConsumer MainThread%java/lang/invoke/MethodHandles$Lookupjava/lang/invoke/MethodHandlesLookup0  a5** *Yb c+aw%+,!*%*+,(N-.,b*  $dL,eai* * 4L+.* ,b"dK,fga! #* +9N* -;:+?E+KEN:R*W[*+?^*+Ka*dh*dlo:*s*Ww*z~6*z~6ia,+*S* : : :.  br '3<FU`kz"d\ /NFSh@   @NFN @NFBjkmnfoa * 9:* ;:EEN:R*W[*^*a*dh*dlo:*s*Ww*z~6*z~6  og-*Z* : : :.   br "+4>MU]l{     dY +NFSyh@   NFN NFBjkmpqaz* +[ YYM²+[ Y,çN,-*+[ *+*+§ M,.*ű*MPPSPUmpb: *"K#U&`(h,m3p/q1u2y4d ,rDBaXM* ,;N-E-N:R6- -:-- :0=CILb"89;<=0>:==9d@-NFS@  NF NFj,asM* ,;N-+^E-+aE-+h-+l-+wE+z:W-Yٹ-+[E-6* -'-:-- : N*-bRCDFG$H/I:JEKKLQMgNsO{PQDVRTUWd: NF NFBj,asM* ,;N-+^E-+aE-+h-+l-+wE+z:W-Yٹ-+[E-6* -'-:-- : N*-bR[\^_$`/a:bEcKdQegfsg{hi\njlmod: NF NFBj,t9a i* M* ,;N-E-6* -'-:-- : N-.*ű4AGMP\_b:t v xy{#|+}4~Ay\_`dhd8 3 NF NFB'aLY+M,,WY+N-W- W-W-Z-W*- * :!#W(#W*#W,:.-/4* "*- :-/.4* ::<W,:.4* ? :.I,b(-4;BINYdozd1 Nr NT_ L,uvaCCEGJMM,>6&,2:Y+S:Eb".69?dw"*+aVN* -;:N:R4W6W6,xXW+WXW* : :Tcjqtb2 #-7DQTcd5NFS:N NFj,a`* * [L+.,bdK,ya4\bd @z{|}~B