$P      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNO PQRST PQRST PQRST      (Index of the record. First index is 1. !;Size of the record in 16-bit words, excluding this header. "#$=File length in 16-bit words. Unsigned, I assume - spec doesn't say. %&'()Shape file length in bytes *+,9Size of the record in bytes, excluding the record header -./>Total size of the shape record in bytes, including the header 0A shape record type isn't part of0 the header, but every shape format starts with ? a word indicating the shape type. This function extracts it. 1$Pack several raw shape records into !s, setting proper record numbers  and sizes. 2!Pack the data for a shape into a " with the specified record number 3456 !"#$%&'()*+,-./0123456"#$%&'()*+ !,-./0123456 ! !"#$%&'(#$%&'()*+,-./0123456 79offset and length of corresponding shape in 16-bit words 893Offset of the corresponding ShpRec in 16-bit words :3Length of the corresponding ShpRec in 16-bit words ; Construct a 87- given the record offset and length in bytes <=>?@7Construct an index for the provided .shp file contents AB 789:;<=>?@AB 789:;<=>?@AB 789:89:;<=>?@AB CUVWXYZ[DEFGHCDEFGHCDEFGHCDEFGHI\]^_`abcdJKLMNOIJKLMNOIJKLMNOIJKLMNOefghijklmnopqrstuvwxyz{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNO      !!"#$$%&''()*+,-./0123456789:;;<=>?@ABCDEFGHIJKLMNOPQRSTUVWFXYZ[\]L^_`abcdefghfgifjkfjlfjmfjnfjofjpfjqfjrfjsfjtfjufjvfjwfjxfjyfjzfj{fj|fj}f~f~f~f~f~f~f~f~f~f~f~f~f~f~f~f~f~f~f~f~f~f~f~f~f~f~f~f~f~f~f~f~f~f~f~f~f~f~f~f~f~f~f~f~f~fffshapefile-0.0.0.1Database.ShapefileDatabase.Shapefile.ShapeTypesDatabase.Shapefile.ShpDatabase.Shapefile.ShxDatabase.Shapefile.Shx.HandleDatabase.Shapefile.Shp.HandleDatabase.Shapefile.MiscBBoxbbMinbbMax ESRIShapeTypeUnknown MultiPatch MultiPointMPolygonM PolyLineMPointM MultiPointZPolygonZ PolyLineZPointZ MultiPointPolygonPolyLinePoint NullShapehasZhasMidentifyShapeTypeisKnownShapeTypeputShapeType32legetShapeType32leShpRec shpRecHdr shpRecData ShpRecHeader shpRecNum shpRecSize ShpFileHeader shpFileLengthshpFileShapeType shpFileBBox shpFileZBnd shpFileMBndshpFileLengthBytesputShpFileHeadergetShpFileHeadershpRecSizeBytesputShpRecHeadergetShpRecHeadershpRecTotalSizeBytesshpRecShapeType mkShpRecsmkShpRec putShpRec getShpRec putShpFile getShpFileShxRec shxOffset shxLength shxRecBytesshxOffsetBytesshxLengthBytes putShxRec getShxRec shxFromShp putShxFile getShxFile ShxHandleopenShxcloseShx shxIsOpen shxHeader getShxRecord ShpHandleopenShpcloseShp shpIsOpen shpHeader shpDbfFields getShpRecord expectingputPairgetPairputBBoxgetBBox shxReadOnlyshxLockshxFile withShxFile_ withShxFile readShxBlock shpReadOnlyshpLockshpFile shxHandle dbfHandle withShpFile_ withShpFile readShpBlock dbf-0.0.0.2Database.XBase.Dbf writeDbfFile readDbfFileDatabase.XBase.Dbf.Handle readDbfField dbfGetRecord dbfNumRecords dbfRecordsdbfLookupField dbfFields dbfGetField dbfNumFields dbfHeadercloseDbf dbfIsOpenopenDbf fieldName DbfHandle fieldDescfieldNumDbfFieldHandlerecNum DbfRecHandleDatabase.XBase.Dbf.Structures getDbfFile putDbfFile getDbfRecord putDbfRecordgetDbfFileHeaderputDbfFileHeadergetDbfFieldDescriptorputDbfFieldDescriptorgetDbfFieldNameputDbfFieldNamegetDbfShortDateputDbfShortDatedbfDaydbfMonthdbfYearDbfDatedbfFieldIndexedFlagdbfFieldSetFieldsFlagdbfFieldWorkAreadbfFieldDecimalsdbfFieldLengthdbfFieldAddress dbfFieldType dbfFieldNameDbfFieldDescriptorDbfDatabaseContainerdbfFileDbContainer dbfFileFieldsdbfFileLangCode dbfFileMDX dbfFileEncr dbfFileTxIncdbfFileRecLengthdbfFileHdrLengthdbfFileNumRecordsdbfFileUpdateDatedbfFileSignature DbfFileHeader dbfRecData dbfRecDeleted DbfRecordDatabase.XBase.Dbf.Year8getYear8putYear8Year8 readShpFile writeShpFile readShxFile writeShxFile